Here are three versions:
a) <xml-mapping-metadata-complete>
</xml-mapping-metadata-complete>
b) <xml-mapping-metadata-complete></xml-mapping-metadata-
complete>
c) <xml-mapping-metadata-complete/>The original, a), has a child consisting of "<cr><lf> ". So it's not empty.
The second, b) is empty. The third, c), which is the fix that Kevin applied, is also empty. So the fix is correct, but not the only fix that would work. Craig On Jul 30, 2008, at 8:31 AM, Kevin Sutter wrote:
Exactly, Mike. But, as we talked yesterday, when does this version of Xerxes get incorporated into the Sun JDK? Having the Sun JDK use anon-validating parser and the IBM JDK use a validating parser will continueto introduce inconsistencies (as documented in OPENJPA-513). KevinOn Wed, Jul 30, 2008 at 9:25 AM, Michael Dick <[EMAIL PROTECTED] >wrote:FWIW this may be related to the way we disable validation based on theversion of xerces that is in use :There's a specific check in XMLDataParser which disables validation basedon the version of xerces found on the classpath. static { try {// check for Xerces version 2.0.2 to see if we need to disable // schema validation, which works around the bug reported at:// http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4708859 _schemaBug = "Xerces-J 2.0.2".equals(Class.forName("org.apache.xerces.impl.Version").getField("fVersion").get(null)); } catch (Throwable t) { // Xerces might not be available _schemaBug = false; } } : : if (schemaSource != null && _schemaBug) { if (_log != null && _log.isTraceEnabled()) _log.trace(_loc.get("parser-schema-bug")); schemaSource = null; } boolean validating = _validating && (getDocType() != null || schemaSource != null); : : _sourceName = sourceName;SAXParser parser = XMLFactory.getSAXParser(validating, true);Object schema = null; if (validating) { schema = schemaSource; if (schema == null && getDocType() != null) xml = new DocTypeReader(xml, getDocType()); }I haven't done all my homework to verify that this is the case, but explainthe difference between JDKs. -mikeOn Wed, Jul 30, 2008 at 8:12 AM, Kevin Sutter <[EMAIL PROTECTED]> wrote:testMapping (org .apache .openjpa .persistence.jdbc.unique.TestUniqueConstraintWithXMLDescriptor)Craig,If you would have asked me before seeing the error, I would have thoughtthesame thing. But, with the original xml, I received the following errorfrom the validating parser in the IBM JDK:Tests run: 1, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 1.516 sec<<< FAILURE!file:/C:/eclipse.workspaces/3.2.2/openjpa-trunk-committed/openjpa- persistence-jdbc/target/test-classes/org/apache/openjpa/persistence/ jdbc/unique/orm.xmlTime elapsed: 1.437 sec <<< ERROR! <openjpa-1.2.0-SNAPSHOT-r422266:680481M nonfatal general error> org.apache.openjpa.persistence.PersistenceException: org.xml.sax.SAXException:[Location: Line: 27, C: 35]: org.xml.sax.SAXParseException:cvc-complex-type.2.1: Element 'xml-mapping-metadata-complete' must havenoopenjpa/trunk/openjpa-persistence-jdbc/src/test/resources/org/ apache/openjpa/persistence/jdbc/unique/orm.xmlcharacter or element information item [children], because the type's content type is empty. atorg .apache.openjpa.persistence.PersistenceMetaDataFactory.parseXML(PersistenceMetaDataFactory.java:249) : :I surmised from this error that the problem was due to the split xml tag.The XSD has this element defined as follows:<xsd:element name="xml-mapping-metadata-complete" type="orm:emptyType"minOccurs="0"/>So, I changed it to the single line version and the problem went away.Kevin On Mon, Jul 28, 2008 at 4:31 PM, Craig L Russell <[EMAIL PROTECTED]wrote:Hi Kevin, Just for my information, what's wrong with the original xml: <persistence-unit-metadata>- <xml-mapping-metadata-complete> - </xml-mapping-metadata-complete> + <xml-mapping-metadata-complete/> </persistence-unit-metadata>I understand these statements (before versus after) are legal and equivalent. But I'm always looking to improve my understanding. Thanks, Craig On Jul 28, 2008, at 1:26 PM, [EMAIL PROTECTED] wrote: Author: kwsutterDate: Mon Jul 28 13:26:21 2008 New Revision: 680481 URL: http://svn.apache.org/viewvc?rev=680481&view=rev Log:OPENJPA-668. Fixed up the orm.xml file that was used for testing sothatit could pass the validation of the IBM JDK parser. Modified:openjpa/trunk/openjpa-persistence-jdbc/src/test/resources/org/ apache/openjpa/persistence/jdbc/unique/orm.xmlModified:URL:http://svn.apache.org/viewvc/openjpa/trunk/openjpa-persistence-jdbc/src/test/resources/org/apache/openjpa/persistence/jdbc/unique/orm.xml?rev=680481&r1=680480&r2=680481&view=diff= = = = = = = = = =====================================================================openjpa/trunk/openjpa-persistence-jdbc/src/test/resources/org/ apache/openjpa/persistence/jdbc/unique/orm.xml---openjpa/trunk/openjpa-persistence-jdbc/src/test/resources/org/ apache/openjpa/persistence/jdbc/unique/orm.xml(original) +++Mon Jul 28 13:26:21 2008 @@ -23,8 +23,7 @@ version="1.0"> <persistence-unit-metadata> - <xml-mapping-metadata-complete> - </xml-mapping-metadata-complete> + <xml-mapping-metadata-complete/> </persistence-unit-metadata> @@ -76,10 +75,8 @@ <many-to-many name="bs"> <join-tablename="UNIQUE_JOINTABLE_XML">- <join-column name="FK_A_XML"referenced-column-name="aid" nullable="false"> - </join-column> - <inverse-join-column name="FK_B_XML" referenced-column-name="bid" nullable="false"> - </inverse-join-column>+ <join-column name="FK_A_XML"referenced-column-name="aid" nullable="false"/> + <inverse-join-column name="FK_B_XML" referenced-column-name="bid" nullable="false"/> <unique-constraint> <column-name>FK_A_XML</column-name> <column-name>FK_B_XML</column-name>Craig L Russell Architect, Sun Java Enterprise System http://java.sun.com/products/jdo 408 276-5638 mailto:[EMAIL PROTECTED] P.S. A good JDO? O, Gasp!
Craig L Russell Architect, Sun Java Enterprise System http://java.sun.com/products/jdo 408 276-5638 mailto:[EMAIL PROTECTED] P.S. A good JDO? O, Gasp!
smime.p7s
Description: S/MIME cryptographic signature
