docbook: XML v. SGML entities


Previous by date: 12 Nov 2002 09:18:01 -0000 XML v. SGML entities, Jim Weller
Next by date: 12 Nov 2002 09:18:01 -0000 Re: XML v. SGML entities, Greg Ferguson
Previous in thread: 12 Nov 2002 09:18:01 -0000 XML v. SGML entities, Jim Weller
Next in thread: 12 Nov 2002 09:18:01 -0000 Re: XML v. SGML entities, Greg Ferguson

Subject: RE: XML v. SGML entities
From: James Weller ####@####.####
Date: 12 Nov 2002 09:18:01 -0000
Message-Id: <176551702b.1702b17655@snowy.gci.net>

NEVER POST WITH OUTLOOK!



Hey DB Gang,

I know just enough DB/SGML/XML jargon to be dangerous so forgive abuses 
of vocab.

I'm working on an update to my Docbook Quickstart Guide. I was going to 
use XML 4.2 only. None of the SGML dtd's are installed. I've 
successfully installed the source to the extent that I can process my 
xml into tldp'ized html. But I'm getting some lame-o errors. Allow me 
to paste. Note the first line is the bash prompt w/ the command I type. 
Please, also note that I tried this with just Norm's style sheets and 
got the same errors.

------------------------------------------------------------------------
-------
jim@styx:~/dbxmlqs$ openjade -t xml -
d /home/jim/sgml/dsssl/html/ldp.dsl#html /home/jim/sgml/dsssl/dtds/decls
/xml.dcl dbxmlqs.xml     
openjade:/home/jim/sgml/dsssl/html/../common/../common/dbl1no.dsl:2:66:W
: cannot generate system identifier for public text "ISO 
8879:1986//ENTITIES Added Latin 1//EN"
openjade:/home/jim/sgml/dsssl/html/../common/../common/dbl1no.dsl:3:5:E:
 reference to entity "lat1" for which no system identifier could be 
generated
openjade:/home/jim/sgml/dsssl/html/../common/../common/dbl1no.dsl:2:0: 
entity was defined here
openjade:/home/jim/sgml/dsssl/html/../common/../common/dbl1ro.dsl:2:66:W
: cannot generate system identifier for public text "ISO 
8879:1986//ENTITIES Added Latin 1//EN"
openjade:/home/jim/sgml/dsssl/html/../common/../common/dbl1ro.dsl:3:5:E:
 reference to entity "lat1" for which no system identifier could be 
generated
openjade:/home/jim/sgml/dsssl/html/../common/../common/dbl1ro.dsl:2:0: 
entity was defined here
openjade:/home/jim/sgml/dsssl/html/../common/../common/dbl1ro.dsl:4:66:W
: cannot generate system identifier for public text "ISO 
8879:1986//ENTITIES Added Latin 2//EN"
openjade:/home/jim/sgml/dsssl/html/../common/../common/dbl1ro.dsl:5:5:E:
 reference to entity "lat2" for which no system identifier could be 
generated
openjade:/home/jim/sgml/dsssl/html/../common/../common/dbl1ro.dsl:4:0: 
entity was defined here
openjade:/home/jim/sgml/dsssl/html/../common/../common/dbl1ru.dsl:2:69:W
: cannot generate system identifier for public text "ISO 
8879:1986//ENTITIES Russian Cyrillic//EN"
openjade:/home/jim/sgml/dsssl/html/../common/../common/dbl1ru.dsl:3:5:E:
 reference to entity "cyr1" for which no system identifier could be 
generated
openjade:/home/jim/sgml/dsssl/html/../common/../common/dbl1ru.dsl:2:0: 
entity was defined here
openjade:/home/jim/sgml/dsssl/html/../common/../common/dbl1sl.dsl:2:66:W
: cannot generate system identifier for public text "ISO 
8879:1986//ENTITIES Added Latin 2//EN"
openjade:/home/jim/sgml/dsssl/html/../common/../common/dbl1sl.dsl:3:5:E:
 reference to entity "lat2" for which no system identifier could be 
generated
openjade:/home/jim/sgml/dsssl/html/../common/../common/dbl1sl.dsl:2:0: 
entity was defined here
openjade:/home/jim/sgml/dsssl/html/../common/../common/dbl1sr.dsl:2:66:W
: cannot generate system identifier for public text "ISO 
8879:1986//ENTITIES Added Latin 2//EN"
openjade:/home/jim/sgml/dsssl/html/../common/../common/dbl1sr.dsl:3:5:E:
 reference to entity "lat2" for which no system identifier could be 
generated
openjade:/home/jim/sgml/dsssl/html/../common/../common/dbl1sr.dsl:2:0: 
entity was defined here
------------------------------------------------------------------------
-------


Here's what I've installed

openjade-1.3.1 in /home/jim/sgml/openjade-1.3.1
docbook-dsssl-1.77 in /home/jim/sgml/dsssl
docbook-xml-4.2 in /home/jim/sgml/docbook/4.2xml (hooray comes with 
entities!)

Here's my catalog setup

$SGML_CATALOG_FILES=/home/jim/sgml/catalog

where /home/jim/sgml/catalog is
-------------------------------------------------------------------
CATALOG "/home/jim/sgml/openjade-1.3.1/dsssl/catalog"
CATALOG "/home/jim/sgml/dsssl/catalog"
CATALOG "/home/jim/sgml/docbook/4.2xml/catalog"
SYSTEM "http://www.oasis-
open.org/docbook/xml/4.2/docbookx.dtd" "docbook/4.2xml/docbookx.dtd"
-------------------------------------------------------------------
(the catalog files are sym links to the .cat files)

The first couple of errors it's complaining about "ISO 
8879:1986//ENTITIES Added Latin 1//EN" and "ISO 8879:1986//ENTITIES 
Added Latin 2//EN" not being defined. Which they aren't! If we 
examine /home/jim/sgml/docbook/4.2xml/docbook.cat we can note that the 
only latin 1 & 2 public identifiers are on lines 64 & 67 and look like 
this

docbook.cat lines 64-78
------------------------------------------------------------------------
-----------
PUBLIC "ISO 8879:1986//ENTITIES Added Latin 1//EN//XML"
       "ent/iso-lat1.ent"

PUBLIC "ISO 8879:1986//ENTITIES Added Latin 2//EN//XML"
       "ent/iso-lat2.ent"
------------------------------------------------------------------------
-----------

Notice the XML after EN. So these identifiers don't match the ones with 
the style sheets (dbl1no.dsl, dbl1ro.dsl, dbl1sl.dsl, and dbl1sr.dsl). 
The cyrillic public identifier suffers from the same problem. 

Now I'm a good sort of sport. So, I tried to fix the identifiers in 
those .dsl files to include the XML part (even though I could have done 
it with catalog magic). That would at least make them point correctly 
right? Right! But now I get a new set of errors.


a BOATLOAD of these errors
------------------------------------------------------------------------
----------
... snip ...
openjade:/home/jim/sgml/docbook/4.2xml/ent/iso-lat1.ent:7:19:E: "X00C1" 
is not a function name
openjade:/home/jim/sgml/docbook/4.2xml/ent/iso-lat1.ent:8:18:E: "X00E2" 
is not a function name
openjade:/home/jim/sgml/docbook/4.2xml/ent/iso-lat1.ent:9:18:E: "X00C2" 
is not a function name
... snip ...
------------------------------------------------------------------------
----------

This discourse from Norm at http://sources.redhat.com/ml/docbook-
apps/2000-q4/msg00246.html helps explain that problem some. So I need 
to use a specific set of entities when I'm processing XML. According to 
the word from Norm, that's the *.ent files that come with the docbook-
xml distro. But if I understand things. That's what I've got. I have 
some style files that trace the following path

(my modified dbl1no.dsl)
<!ENTITY % lat1 PUBLIC "ISO 8879:1986//ENTITIES Added Latin 1//EN//XML">

(from 4.2xml/docbook.cat)
PUBLIC "ISO 8879:1986//ENTITIES Added Latin 1//EN//XML"
       "ent/iso-lat1.ent"


So that lat1 ultimately points to /home/jim/sgml/docbook/4.2xml/ent/iso-
lat1.ent right? The *.ent files are what I'm supposed to be using for 
XML right? What am I missing here if I'm going for XML only?

Thanks,
Jim Weller





Previous by date: 12 Nov 2002 09:18:01 -0000 XML v. SGML entities, Jim Weller
Next by date: 12 Nov 2002 09:18:01 -0000 Re: XML v. SGML entities, Greg Ferguson
Previous in thread: 12 Nov 2002 09:18:01 -0000 XML v. SGML entities, Jim Weller
Next in thread: 12 Nov 2002 09:18:01 -0000 Re: XML v. SGML entities, Greg Ferguson


  ©The Linux Documentation Project, 2014. Listserver maintained by dr Serge Victor on ibiblio.org servers. See current spam statz.