Very good idea ! I have just tested it and it works well. Thank you !

-----Original Message-----
From: Michael Glavassevich [mailto:[EMAIL PROTECTED] 
Sent: lundi 23 avril 2007 20:42
To: j-users@xerces.apache.org
Cc: Vila Christophe
Subject: Re: Forcing validation without changing XML file

You could try writing a filter which sits in between the parser and the
validator that modifies the namespace URIs passed through startElement() and
endElement(). Take a look at XMLFilter [1] and XMLFilterImpl [2].

Thanks.

[1]
http://xerces.apache.org/xerces2-j/javadocs/api/org/xml/sax/XMLFilter.html
[2]
http://xerces.apache.org/xerces2-j/javadocs/api/org/xml/sax/helpers/XMLFilte
rImpl.html

Michael Glavassevich
XML Parser Development
IBM Toronto Lab
E-mail: [EMAIL PROTECTED]
E-mail: [EMAIL PROTECTED]

"Vila Christophe" <[EMAIL PROTECTED]> wrote on 04/23/2007
02:03:03 PM:

> Hi all,
> 
> I have to write a module that parses very big XML files (>10MB) having 
> always the same structure. I have written a schema and would like to 
> validate these XML files with it... But of course, the XML files do 
> not declare any schema (the root element is <order> instead of <order 
> xmlns="mySchemaName"
> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
> xsi:schemaLocation="mySchemaName mySchemeURI">).
> 
> I tried the validation API of JAXP (see the following piece of code), 
> but it only works if I declare at least the schema name in the XML 
> file (that is to say <tag xmlns="mySchemaName">)
> 
> SchemaFactory schemaFactory =
> SchemaFactory.newInstance(XMLConstants.W3C_XML_SCHEMA_NS_URI);
> Schema schema = schemaFactory.newSchema(new StreamSource(new 
> File("myschema.xsd"))); schema.newValidator().validate(new 
> StreamSource(new File("big.xml")));
> 
> I also tried ValidatorHandler, but I don't know how to add the xmlns 
> attribute when I am parsing the root element.
> 
> So, is there a way to :
> - force the validation against my schema without modifying the XML 
> files (no declaration of scheme name and location)
> - validate and parse at the same time (I don't want to read the XML 
> files twice)
> - use only SAX way (because of the XML file size)
> 
> Thanks !
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]

Attachment: smime.p7s
Description: S/MIME cryptographic signature

Reply via email to