Whoa, awesome. I think that will do it (but haven't tested it yet :). Thanks to you, Stephen, and Scott for the help.
-----Original Message----- From: Gareth Boden [mailto:[EMAIL PROTECTED]] Sent: Thursday, August 29, 2002 2:09 AM To: Turbine Torque Users List Subject: Re: TorqueDataModelTask and cross-platform XML Summary: To fix this problem, make sure there is a file "org/apache/torque/engine/database/transform/database.dtd" in your classpath when running the tasks. Detail: org.apache.torque.engine.database.transform.DTDResolver has the following code: private static final String WEB_SITE_DTD = "http://jakarta.apache.org/turbine/dtd/database.dtd"; InputStream dtdStream = getClass().getResourceAsStream("database.dtd"); databaseDTD = new InputSource(dtdStream); public InputSource resolveEntity(String publicId, String systemId) { if (databaseDTD != null && WEB_SITE_DTD.equals(systemId)) { String pkg = getClass().getName() .substring(0, getClass().getName().lastIndexOf(".")); System.out.println("Resolver: used database.dtd from " + pkg + " package "); return databaseDTD; } else i.e. if the DTD is declared as: <!DOCTYPE database SYSTEM "http://jakarta.apache.org/turbine/dtd/database.dtd"> Then the DTD will be picked up from the resource "database.dtd" found using getResourceAsStream() by the resolver. Unfortunately, the build does not put the database.dtd file into the org.apache.torque.engine.database.transform package, so this never happens. But you can make sure it is on your classpath yourself in the right package, and then the automatic mapping of the URL to the local resource will happen, and you can work offline. Hope this helps, Gareth On Wednesday, August 28, 2002, at 12:10 am, Scott Eade wrote: > Walt, > > I think you need to make yourself an EntityResolver. You create a class > (implements EntityResolver) that maps from the DTD reference to a local > file > reference over which you have much better control. When you parse the > XML > file you tell the parser to use your entity resolver. > > There are examples in the turbine source - see: > org.apache.turbine.services.intake.transform.DTDResolver.java > > Cheers, > > Scott > -- > Scott Eade > Backstage Technologies Pty. Ltd. > http://www.backstagetech.com.au > >> From: Walt Armour <[EMAIL PROTECTED]> >> Reply-To: "Turbine Torque Users List" <turbine-torque- >> [EMAIL PROTECTED]> >> Date: Tue, 27 Aug 2002 13:20:35 -0700 >> To: Turbine Torque Users List <[EMAIL PROTECTED]> >> Subject: TorqueDataModelTask and cross-platform XML >> >> >> For our project we have done all of the work so far on Win2K. I am now >> trying to bring it up on Linux. >> >> The blocking hurdle I have is dealing with our XML files and their >> DTDs. We >> initially specified the DOCTYPE tag using the SYSTEM attribute and a >> file:// >> <file://> URI specified for the DTD. This of course won't work cross >> platform since it has filesystem specific pathing (e.g. C:). I >> modified the >> reference to be relative without the file:// <file://> scheme and this >> works fine for our XML validator but fails in TorqueDataModelTask (at >> line >> 313 of current cvs, in initControlContext at xmlParser.parsefile() ). >> It >> appears that the underlying parser (SAX) wants this reference to be >> absolute. >> >> I have looked through the code (gotta love >> http://jakarta.apache.org/turbine/torque/xref/org/apache/torque/task/TorqueD >> ataModelTask.html >> <http://jakarta.apache.org/turbine/torque/xref/org/apache/torque/task/Torque >> DataModelTask.html> ) and don't see anything obvious to answer this: is >> there any way to make the task (via SAX) ignore/not validate/not care >> about >> this reference? >> >> Alternatively, does anyone have suggestions on how to make this work >> cross-platform without using network type schemes (e.g. http:// >> <http://> )? >> I've toyed with doing that but it would then require us to be either >> connected to the network when we build or that we have a webserver >> running >> locally whenever we build. Both of those are restrictions we would >> prefer >> not to have. >> >> >> >> -- >> To unsubscribe, e-mail: >> <mailto:[EMAIL PROTECTED]> >> For additional commands, e-mail: >> <mailto:[EMAIL PROTECTED]> >> > > > -- > To unsubscribe, e-mail: <mailto:turbine-torque-user- > [EMAIL PROTECTED]> > For additional commands, e-mail: <mailto:turbine-torque-user- > [EMAIL PROTECTED]> > > --- Development Team Leader, eGS, 5-7 Singer Street, London EC2A 4BQ. +44 (0)20 7336 1440 CONFIDENTIALITY: This is email is confidential and intended solely for the use of the individual to whom it is addressed.� Any views or opinions presented are solely those of the author and do not necessarily represent those of eGovernment Solutions (UK) Ltd.� If you are not the intended recipient, be advised that you have received this email in error and that any use, dissemination, forwarding, or copying of this email is strictly prohibited.� If you have received this email in error please contact the sender. -- To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]> For additional commands, e-mail: <mailto:[EMAIL PROTECTED]> -- To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]> For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>
