XML Only Docbook Install

|
I'm trying to do some updates to my Docbook Quickstart. But I'm running into troubles. I can compile, install, and process ok, but I'm getting some wierd errors. I've posted to the linux doc project's docbook list. Read on for hte post.

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