Re: AW: [xml] xmllint - what does the error message "work/xslt/export _ifc.xml:2 : error: Content error in the external subset" mean?



On Tue, Aug 26, 2003 at 06:34:29PM +0200, EXTERN Chakirov Timour (TZ CIS; DS/ESQ3) wrote:
Hello and many thanks for your answer; with non-empty, eve dummy system id
everithing is working.

However it makes my life not easier, and now I have even more questions as
formerly. All of these questions belongs to common practice of usage of xml
and dtd, and maybe I have to ask them in other list, but I hope I could get
an answer here.

So, I'm starting from the very beginning.

We have a dtd for some xml files. These xml-files will be used by several
working groups. Dtd could not be obtained from inter- or intranet. We have
no garanty that dtd-file could be found on the same place at every
workstation (we're using at least 3 different OS, unix and windows-flavour).
Because of that I have no idea what should I write as sytem identifier in
DOCTYPE declaration.

Our idea was what at every working place we set up a XML-catalog, with
correctly defined resolution rules for PUBLIC identifier, something like
this:
------------------------%<-----------------------------
<?xml version="1.0"?>
<!DOCTYPE catalog PUBLIC "-//OASIS//DTD Entity Resolution XML Catalog
V1.0//EN"
"http://www.oasis-open.org/committees/entity/release/1.0/catalog.dtd";>
<catalog xmlns="urn:oasis:names:tc:entity:xmlns:xml:catalog">
<group prefer="public" xml:base="file:///home/dt82fe/etc/xml/">
 <public  
     publicId="-//EDC//filelist 1.0//EN"
     uri="edc/filelist/1.0/dtd/export_ifc.dtd"/>

also add one systemId for the canonical URL of that DTD.

</group>
</catalog>
------------------------%<-----------------------------
and use such a catalog to obtain dtd for document validation.

But this scenario does not work, because xmllint does not allow an empty
systemID in doctype declaration.(actually I see no difference between empty,
i.e. "" and any other dummy value like " " or
"http://www.dummy.org/whatever.dtd";).

  Don't put a dummy URL, put the canonical one for that DTD.
Please read http://xmlsoft.org/guidelines.html which are guidelines I try
to get GNOME and other open-source projects to follow. It sounds to me
it answers most of your questions.
  Yes using XML catalogs is a good idea, no System ID should not be empty
because as I pointed out the semantic for this is clearly defined by 
RFC 2396 and definitely not what you want.

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]