[XML-SIG] Quotes example PyXML-0.6.1 seems to ignore DTD?

Joakim Hove Joakim.Hove@phys.ntnu.no
24 Oct 2000 21:34:12 +0200


  /-----------------------------------------------------------------
  | Please excuse if this mail has apperead on the list previously,=20
  | I had some problems sending it initially.
  \-----------------------------------------------------------------


Hello,

I have just installed the PyXML-0.6.1 distribution. This is actually
an attempt to teach myself _both_ about Python _and_ XML - ideally one
should probably concentrate on one new thing at a time.

Anyway, I'am experimenting with the qtfmt.py program in demos/quotes/,
this program is supplied with a sample XML file, and an accompanying
DTD - file.

   bash% head -2 sample.xml
   <?xml version=3D"1.0"?>
   <!DOCTYPE quotations SYSTEM "quotations.dtd">

As we can see the sample.xml file should be validated with respect to
(??) the DTD file "quotations.dtd". Now if I rename quotations.dtd to
something else, I was expecting to trigger a run-time error of some
kind, as the DTD-file specified in the XML is no longer to be found,
however no error occurs, and the output from the qtfmt.py program is
unchanged.

I am not able to assure that the parser used in qtfmt.py is
validating (the relevant part of the qtmft.py file):

    # Enforce the use of the Expat parser, because the code needs to be
    # sure that the output will be UTF-8 encoded.
    p=3Dsaxexts.XMLParserFactory.make_parser("xml.sax.drivers.drv_pyexpat")

but if this is indeed a non-validating parser - then it is somewhat
misleading to ship the quotations.dtd file - which is actually not
used.

If anyone could clear up these misunderstandings I would be most
grateful.

 -- Joakim Hove



--=20
=3D=3D=3D Joakim Hove      www.phys.ntnu.no/~hove/   =3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
# Institutt for fysikk  (735) 93637 / E3-166  |  Sk=F8yensgate 10D    #
# N - 7491 Trondheim    hove@phys.ntnu.no     |  N - 7030 Trondheim #
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D 73 93=
 31 68 =3D=3D=3D=3D=3D=3D=3D=3D