You are viewing a plain text version of this content. The canonical link for it is here.
Posted to j-users@xerces.apache.org by Yuri de Wit <yd...@gmail.com> on 2006/10/02 05:33:30 UTC

New JAXP1.3 Validation API and Loading Schemas dynamically

I have a service that processes xml documents based from a number of
xml schemas using SAX. In order to process these documents I need to
have access to PSVI provided by Xerces, but it is not clear to me how
to load the schemas dynamically when the xml document is received.

Looking in the JAXP1.3 spec it seems that I am only able to set
schemaSource for a fixed, pre-defined set of schemas, but how can I
resolve the schema on the fly based on the xmlns attribute? Am I
missing something?

The work around I am using is to create an XMLFilter that creates the
right ValidatorHandler based on an incoming element with xmlns
attribute and to insert this new handler before the final content
handler. At this point I am fine assuming that the root element must
contain an xmlns and that I will not have multiple schemas within the
same doc. Is there a better way of doing this?

thanks.

---------------------------------------------------------------------
To unsubscribe, e-mail: j-users-unsubscribe@xerces.apache.org
For additional commands, e-mail: j-users-help@xerces.apache.org


Re: New JAXP1.3 Validation API and Loading Schemas dynamically

Posted by Michael Glavassevich <mr...@ca.ibm.com>.
"Yuri de Wit" <yd...@gmail.com> wrote on 10/01/2006 11:33:30 PM:

> I have a service that processes xml documents based from a number of
> xml schemas using SAX. In order to process these documents I need to
> have access to PSVI provided by Xerces, but it is not clear to me how
> to load the schemas dynamically when the xml document is received.
> 
> Looking in the JAXP1.3 spec it seems that I am only able to set
> schemaSource for a fixed, pre-defined set of schemas, but how can I
> resolve the schema on the fly based on the xmlns attribute? Am I
> missing something?

Take a look at the no-args version of SchemaFactory.newSchema() [1]. The 
Schema object returned from this method pulls in schema components during 
validation from the schema locations specified in the instance documents 
and/or the sources returned by your LSResourceResolver if you registered 
one with the Validator.

> The work around I am using is to create an XMLFilter that creates the
> right ValidatorHandler based on an incoming element with xmlns
> attribute and to insert this new handler before the final content
> handler. At this point I am fine assuming that the root element must
> contain an xmlns and that I will not have multiple schemas within the
> same doc. Is there a better way of doing this?
> 
> thanks.
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: j-users-unsubscribe@xerces.apache.org
> For additional commands, e-mail: j-users-help@xerces.apache.org

[1] 
http://xerces.apache.org/xerces2-j/javadocs/api/javax/xml/validation/SchemaFactory.html#newSchema()

Michael Glavassevich
XML Parser Development
IBM Toronto Lab
E-mail: mrglavas@ca.ibm.com
E-mail: mrglavas@apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: j-users-unsubscribe@xerces.apache.org
For additional commands, e-mail: j-users-help@xerces.apache.org