[XML-DEV Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message]

Re: Undeclared prefix error with Xerces Java on Mac only

  • From: Michael Glavassevich <mrglavas@c...>
  • To: Michael Good <musicxml@g...>
  • Date: Wed, 11 Mar 2009 18:13:30 -0400

Re:  Undeclared prefix error with Xerces Java on Mac only

Michael Good <musicxml@g...> wrote on 03/11/2009 12:40:11 AM:

> 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");

Right. That's one way to make it work but ideally you shouldn't have to do that. The SchemaFactory.newInstance() method is supposed to search for a META-INF/services/javax.xml.validation.SchemaFactory file in the jars on the classpath and return an instance of the class specified in this file. xercesImpl.jar contains this file so should get the Xerces implementation by virtue of including it on the classpath but seems like the copy of Java 5 you have on the Mac has the bug I mentioned: not reading the META-INF/services file correctly and ends up falling back to the JDK internal implementation.

> 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
>
> _______________________________________________________________________
>
> XML-DEV is a publicly archived, unmoderated list hosted by OASIS
> to support XML implementation and development. To minimize
> spam in the archives, you must subscribe before posting.
>
> [Un]Subscribe/change address: http://www.oasis-open.org/mlmanage/
> Or unsubscribe: xml-dev-unsubscribe@l...
> subscribe: xml-dev-subscribe@l...
> List archive: http://lists.xml.org/archives/xml-dev/
> List Guidelines: http://www.oasis-open.org/maillists/guidelines.php

Michael Glavassevich
XML Parser Development
IBM Toronto Lab
E-mail: mrglavas@c...

E-mail: mrglavas@a...



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


PURCHASE STYLUS STUDIO ONLINE TODAY!

Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!

Buy Stylus Studio Now

Download The World's Best XML IDE!

Accelerate XML development with our award-winning XML IDE - Download a free trial today!

Don't miss another message! Subscribe to this list today.
Email
First Name
Last Name
Company
Subscribe in XML format
RSS 2.0
Atom 0.3
 

Stylus Studio has published XML-DEV in RSS and ATOM formats, enabling users to easily subcribe to the list from their preferred news reader application.


Stylus Studio Sponsored Links are added links designed to provide related and additional information to the visitors of this website. they were not included by the author in the initial post. To view the content without the Sponsor Links please click here.

Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member
Stylus Studio® and DataDirect XQuery ™are products from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2013 All Rights Reserved.