Skip to Content.
Sympa Menu

xom-interest - Re: [XOM-interest] Validate questions

xom-interest AT lists.ibiblio.org

Subject: XOM API for Processing XML with Java

List archive

Chronological Thread  
  • From: Arjan Huijzer <huijzer AT gmail.com>
  • To: XOM-interest AT lists.ibiblio.org
  • Cc:
  • Subject: Re: [XOM-interest] Validate questions
  • Date: Thu, 27 Jan 2005 12:39:36 +0100

Thanks for all the valuable answers. I am trying out the different
solutions as we speak. Looking good so far :-)


On Thu, 27 Jan 2005 11:23:01 +0000, Steve Loughran
<steve.loughran AT gmail.com> wrote:
> On Thu, 27 Jan 2005 10:51:31 +0100, Arjan Huijzer <huijzer AT gmail.com> wrote:
> > Hi all,
> >
> > I have been adding a validity check to my XML documents and have a
> > couple of questions:
> >
> > 1. Does XOM support validation against an XML schema? So far, I have
> > only been able to validate againt a DTD
>
> Turn it on in the parser. This is my option set for validating docs
> incoming from somewhat trusted sources where I dont want to enable a
> couple of security risks (entity expansion, doctype redeclaration)
>
> xerces.setFeature(
> "http://apache.org/xml/features/validation/schema";,
> validate);
> xerces.setFeature(
>
> "http://apache.org/xml/features/validation/schema-full-checking";,
> validate);
> xerces.setFeature(
>
> "http://apache.org/xml/features/standard-uri-conformant";,
> true);
> xerces.setFeature(
> "http://apache.org/xml/features/disallow-doctype-decl";,
> true);
> xerces.setFeature(,
> "http://xml.org/sax/features/external-general-entities";,
> false);
>
> I also set up my own catalog, for DTD resolution, and get schema res
> by telling xerces the local location of things like this:-
>
> parser.setProperty(
> "http://apache.org/xml/properties/schema/external-schemaLocation";,
> "http: //domain.com/mynamespace mySchema.xsd");
>
> > 2. Do I have to include a doctype declaration to my XML document or
> > can I also declare in my java code against which DTD the document
> > should be validated.
>
> -dont know
>
>
> >
> > Furthermore, I noticed some odd behaviour. My code to parse an XML
> > document used to be:
> >
> > Document doc = parser.build("c:/xomtest/books.xml");
> >
> > This worked fine until I switched to Xerces, which bow trows an
> > IOException. I had to modify my code to read:
> >
> > Document doc = parser.build("file:///c:/xomtest/books.xml");
>
> well, that is a proper URI at that point. Maybe xerces is fussy.
>
> If you use Builder.build(File) then everything works.
>
> I would point you to the LGPL source where I do all this, which is in
> smartfrog CVS on sourceforge (
> http://sourceforge.net/projects/smartfrog ), with the caveat that I
> reserve the right to be incompetent (this was my first use of Xom)
>
> Look at the files in
> http://cvs.sourceforge.net/viewcvs.py/smartfrog/core/components/cddlm/src/org/smartfrog/services/cddlm/cdl/
>
> There is something there that may be of broader interest: something to
> extract a XOM document from bits of an incoming Axis SOAP message. Its
> an inefficient process, which shows how badly designed JAXRPC is for
> anyone who wants to work with the XML itself, but it does at least
> give you XML you can use.
>
> -steve
> _______________________________________________
> XOM-interest mailing list
> XOM-interest AT lists.ibiblio.org
> http://lists.ibiblio.org/mailman/listinfo/xom-interest
>




Archive powered by MHonArc 2.6.24.

Top of Page