XML.orgXML.org
FOCUS AREAS |XML-DEV |XML.org DAILY NEWSLINK |REGISTRY |RESOURCES |ABOUT
OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index]
Re: [xml-dev] Undeclared prefix error with Xerces Java on Mac only

Hi Michael, George, and Jeff,

Thank you so much for all your prompt and helpful responses! This
quickly got me looking in the right direction.

The problem, as Michael suspected, was that I was not using the
SchemaFactory classe that I expected on both systems. The Xerces
classes were set in the classpath correctly. However, I was not
setting the schema factory system property in the same way that I was
doing for the DOM implementation registry and the document builder
factory. So on Windows I was getting the correct class:

  org.apache.xerces.jaxp.validation.XMLSchemaFactory

But on Mac I was getting the class:

  com.sun.org.apache.xerces.internal.jaxp.validation.xs.schemaFactoryImpl

The problem was solved by adding two lines of code before getting the
SchemaFactory instance:

  String schemaFactoryProperty =
      "javax.xml.validation.SchemaFactory:" +
XMLConstants.W3C_XML_SCHEMA_NS_URI;
  System.setProperty(schemaFactoryProperty,
      "org.apache.xerces.jaxp.validation.XMLSchemaFactory");

Thanks also for pointing out the bug in the use of xsi:schemaLocation.
I think that was a cut-and-paste error in my original email, but I'll
double-check to make sure we're not writing this out erroneously.

Best regards,

Michael Good
Recordare LLC


[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index]


News | XML in Industry | Calendar | XML Registry
Marketplace | Resources | MyXML.org | Sponsors | Privacy Statement

Copyright 1993-2007 XML.org. This site is hosted by OASIS