Re: [xml] post-XInclude validation using schema, not DTD
- From: Daniel Veillard <veillard redhat com>
- To: Ben Liblit <liblit cs wisc edu>
- Cc: xml gnome org
- Subject: Re: [xml] post-XInclude validation using schema, not DTD
- Date: Wed, 10 Oct 2007 05:00:46 -0400
On Tue, Oct 09, 2007 at 06:59:48PM -0500, Ben Liblit wrote:
If I run xmllint with "xmllint --noxincludenode --postvalid ...", then
xmllint will check my document against a DTD after all XInclude
inclusions have been processed.
How do I do post-XInclude validation using a W3C XML Schema instead?
The obvious "xmllint --noxincludenode --postvalid --schema foo.xsd ..."
does not work; xmllint still tries to load a DTD. Inspection of the
"xmllint.c" source code confirms that "--postvalid" turns on DTD loading:
} else if ((!strcmp(argv[i], "-postvalid")) ||
(!strcmp(argv[i], "--postvalid"))) {
postvalid++;
loaddtd++;
options |= XML_PARSE_DTDLOAD;
Is there simply no way to postvalidate using RelaxNG or W3C XML Schemas?
The problem only occurs for DTD because DTD validation is defined as
part of the parsing phase ! For RelaxNG or XSD, you parse an existing tree,
so postvalid is by definition of these validation schemes and that flag
should not be used for those !
Daniel
--
Red Hat Virtualization group http://redhat.com/virtualization/
Daniel Veillard | virtualization library http://libvirt.org/
veillard redhat com | libxml GNOME XML XSLT toolkit http://xmlsoft.org/
http://veillard.com/ | Rpmfind RPM search engine http://rpmfind.net/
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]