[xml] Re: passing the FPI to the DTD validator
- From: Daniel Veillard <veillard redhat com>
- To: Karl Eichwalder <ke suse de>
- Cc: Tobias Reif <tobiasreif pinkjuice com>, xml gnome org
- Subject: [xml] Re: passing the FPI to the DTD validator
- Date: Tue, 27 Jan 2004 07:59:59 -0500
On Tue, Jan 27, 2004 at 01:30:48PM +0100, Karl Eichwalder wrote:
Daniel Veillard <veillard redhat com> writes:
location of the local copy. I did put such guidelines at
http://xmlsoft.org/guidelines.html#Canonical
But there is also http://xmlsoft.org/catalog.html containing some
statements wich are not that clear. It talks about mapping public
identifiers to local resources.
yes XML Catalog allows both, and libxml2 catalog implementation allows
both.
I have
<public
publicId="-//W3C//DTD XHTML 1.0 Strict//EN"
uri="/etc/xml/w3c/xhtml/1_0/dtd/xhtml1-strict.dtd"/>
According to catalog.html and to the XML Catalogs Working Draft by
Norman Walsh such an entry should be sufficient to map the FPI to the
local file - but libxml2 (xmllint) does not work this way. It insists
either on a system entry with an systemId/uri mapping or on a
rewriteSystem entry.
xmlcatalog see this resource:
xmlcatalog /etc/xml/catalog "-//W3C//DTD XHTML 1.0 Strict//EN"
file:///usr/share/sgml/xhtml/xhtml-1.0/DTD/xhtml1-strict.dtd
but xmllint does not make use of the public identifier at all:
xmllint --nonet --valid --noout test.xml
I/O error : Attempt to load network entity http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd
test.xml:3: validity error : Validation failed: no DTD found !
<html>
^
cat test.xml
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<head>
<title>ke test</title>
</head>
<body>
</body>
</html>
EWORKSFORME
paphio:~/XML -> xmlcatalog /etc/xml/catalog "-//W3C//DTD XHTML 1.0 Strict//EN"
file:///usr/share/sgml/xhtml1/xhtml1-20020801/DTD/xhtml1-strict.dtd
paphio:~/XML -> xmllint --nonet --valid --noout test.xml
paphio:~/XML -> xmllint --version
xmllint: using libxml version 20605
compiled with: DTDValid FTP HTTP HTML C14N Catalog XPath XPointer XInclude Iconv MemDebug Unicode Regexps
Automata Schemas
paphio:~/XML ->
On Red Hat Linux 9 with the xhtml1-dtds package installed providing
the XHTML1 DTDs and proper setup within /etc/xml/catalog
If you don't want to support public and publicId in a straight forward
manner I'd recommend to add such info to
http://xmlsoft.org/catalog.html .
I don't understand, there must be something broken in your setup
because looking resources from catalog based on their PUBLIC identifier
do work. Maybe it's a side effect of --nonet , but suggesting that
I would on-purpose violate the XML-1.0 and XML Catalog specs is really
not friendly :-(
The fact that xmlcatalog, which uses libxml2 catalog support proves
that libxml2 indeed processes lookups based on PUBLIC identifiers...
Libxml2 doc are XHTML1, they are DTD validated with
xmllint --nonet --valid --noout as part of the make rebuild test,
apparently William running on Gentoo has no trouble either !
Sorry you will have to provide a self contained example of the
problem, there is just too many things missing from your report
that I just can't "debug" it or even try to defend myself from what
seems a relatively unfriendly accusation. Could you at least in the
future give me the benefit of the doubt :-( ? I suggest to use
Canonical URI since from an XML viewpoint they are the mandatory
way to be able to lookup a resource, maybe you disagree with the
way XML was done, sorry I can't help. However I do implement both
PUBLIC and SYSTEM ID lookup from catalogs and revert to actually fetching
remote URLs only when both failed. Maybe there is a bug, that's possible
but your report don't even allow me to check with complete informations.
All I can see is that it seems to work for me and others. If you really
think PUBLIC ID lookup is broken, please come with a small but
complete example showing it, currently I don't have such an example.
If I can't gdb an instance and lookup then I can's fix what you seems
to be seeing. But PLEASE before complaining about a on-purpose spec
violation, PLEASE at least do the job of providing a full example
allowing to debug the problem as asked on the page about reporting bugs !!!
http://xmlsoft.org/bugs.html
Not doing so is really unfriendly, because you seems to imply it's
an on-purpose spec violation, and there is little more you can do to
try to offend me from a technical viewpoint !
Daniel
--
Daniel Veillard | Red Hat Network https://rhn.redhat.com/
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]