Invalid DOCTYPE instruction in example SQL Map file in documentation bundle. ----------------------------------------------------------------------------
Key: IBATIS-258 URL: http://issues.apache.org/jira/browse/IBATIS-258 Project: iBatis for Java Type: Bug Components: Documentation Versions: 2.1.7 Reporter: Mark Tye Priority: Minor The user and developer Javadoc bundles (user-javadoc.zip and dev-javadoc.zip) both contain an example SQL Map File named sql-map.txt, located at /com/ibatis/sqlmap/client, that is referenced in the API documentation. (Specifically, the class-level Javadoc for the com.ibatis.sqlmap.client.SqlMapClientBuilder links to sql-map.txt with an anchor titled "An SQL Map File".) This sql-map.txt file contains an error. Lines 2 through 4 of the file contain a DOCTYPE instruction for the sqlMap element that references the DTD located at "http://www.ibatis.com/dtd/sql-map-2.dtd". Unfortunately, the unique PUBLIC name associated with this DTD is incorrect. The PUBLIC name specified in the DOCTYPE instruction is: "-//iBATIS.com//DTD SQL Map Config 2.0//EN" However, that unique name is associated with the SQL Map *Config* DTD, not with the SQL Map DTD. I believe the correct name that should be used is: ""-//iBATIS.com//DTD SQL Map 2.0//EN" The usage of the same unique name for two different DTDs causes problems for certain validating parsers. (Crimson, in particular.) When a SQL Map Config is parsed, the SQL Map Config DTD is associated with the unique name specified in the DOCTYPE instruction. When the same parser subsequently tries to validate a SQL Map that uses the same unique name, it applies the SQL Map Config DTD to the SQL Map file. This results in a validation error, because the SQL Map Config DTD declares that the sqlMap element must be EMPTY, even though the SQL Map DTD allows nested content. The error in the sql-map.txt file causes problems for developers who use the file as a template to configure their own SQL Maps. If they don't notice the very subtle error in the DOCTYPE instruction, their attempts to build a SqlMapClient will result in cryptic SAXParseExceptions that contain no hint as to what the underlying problem is. -- 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