[ http://issues.apache.org/jira/browse/TORQUE-3?page=comments#action_12375627 ]
Joerg Friedrich commented on TORQUE-3: -------------------------------------- Okay, I have to check with the svn version. What I think should be possible is this: <?xml version="1.0" encoding="ISO-8859-1" standalone="no" ?> <!DOCTYPE database SYSTEM "database.dtd"[ <!ENTITY fieldTypes SYSTEM "torque/schema/field-types.xml"> ]> <database name="track"> <!-- Here we include the domain definitions to account for database --> <!-- specific behaviour. Only those types are mapped that cause trouble --> <!-- across the different database systems --> &fieldTypes; > Generator: resolving database.dtd in > org.apache.torque.engine.database.transform.DTDResolver.java > ------------------------------------------------------------------------------------------------- > > Key: TORQUE-3 > URL: http://issues.apache.org/jira/browse/TORQUE-3 > Project: Torque > Type: Improvement > Components: Generator > Versions: 3.2 > Environment: Windows XP, JDK 1.4 (I don't think this matters) > Reporter: Joerg Friedrich > Priority: Minor > Attachments: DTDResolver.java, XmlToAppData.java > > In class org.apache.torque.engine.database.transform.DTDResolver the DTD for > the XMP schema files is retrieved via either a (1) > getResourceAsStream("database.dtd") call, a (2) > getInputSource("http://db.apache.org/torque/dtd/database_3_2.dtd") or a (3) > getInputSource("systemId"), where systemId is typically made up of the system > designator in the DOCTYPE statement inside the XML schema file prepended with > the absolute path of the location of the current working directory or > directory from which the generator. > Usually the database.dtd is found in the class path (method 1), since it is > delivered with the generator jar. However, as soon as we do something like > this in the XML file: <!DOCTYPE database SYSTEM "database.dtd"> the generator > does not work any more, unless we place a copy of database.dtd at the current > working directory (thus, system reverts to (3)). This behaviour comes from > this line in method resolveEntity: > if (databaseDTD != null && (WEB_SITE_DTD.equals(systemId)) > since the systemId in this case looks something like this: > file:///d:torque/torque-gen-3.2/database.dtd and of course does not match the > WEB_SITE_DTD string. > My suggestion : change this line to > if (databaseDTD != null) > and everything works fine. > The attachments contain another modification: with the current implementation > it is not possible to include another XML file into an XML schema file. This > is quite useful if schema files are very large or one wants to separate > database dependencies of SQL data types into database specific mapping files > using the <domain> directive. This should be possible with the patch > provided. -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
