This is the mail archive of the docbook-apps@lists.oasis-open.org mailing list .


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[docbook-apps] Modular docbook with modular entities


<!-- LONG -->

Hi,

I am trying to build a book ( actually a FAQ yet the layout is done as
a book. Although I have been reading
http://www.sagehill.net/docbookxsl/ModularDoc.html and looking thru the
archieves of the mailing list, it does not work. Either I am missing the
obvious or I am doing something wrong.

Here is what I have done

1) Customized the DocBook DTD so XInclude and xml:base are included

<!-- This is the driver file for V1.0 of the SuSEFAQ DTD.
    Please use the following formal public identifier to identify it:

"-//SUSEFAQ//DTD DocBook XML V4.2-Based Extension V1.0//EN"

............................................................. --> <!ENTITY % xinclude SYSTEM "xinclude.mod"> %xinclude;

<!ENTITY % DocBookDTD PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd";>
%DocBookDTD;


2. This is what I have in xinclude.mod

<!ELEMENT xi:include (xi:fallback?) >
<!ATTLIST xi:include
   xmlns:xi   CDATA       #FIXED    "http://www.w3.org/2001/XInclude";
   href       CDATA       #REQUIRED
   parse      (xml|text)  "xml"
   encoding   CDATA       #IMPLIED >

<!ELEMENT xi:fallback ANY>
<!ATTLIST xi:fallback
   xmlns:xi   CDATA   #FIXED   "http://www.w3.org/2001/XInclude"; >

<!ENTITY % local.chapter.class "| xi:include">
<!-- inside chapter or section elements -->
<!ENTITY % local.divcomponent.mix "| xi:include">
<!-- inside para, programlisting, literallayout, etc. --> <!ENTITY % local.para.char.mix "| xi:include">
<!-- inside bookinfo, chapterinfo, etc. --> <!ENTITY % local.info.class "| xi:include"> <!ENTITY % local.common.attrib "xml:base CDATA #IMPLIED">


3. Created a catalog file

<?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:///usr/local/share/sgml/susefaq/" >


<public publicId="-//SUSEFAQ//DTD DocBook XML V4.2-Based Extension
V1.0//EN"
uri="susefaq.dtd"/>
<system
systemId="susefaq.dtd" uri="susefaq.dtd"/>
</group>
</catalog>


Upto this point it works. Now here is what is causing headaches :-(


My actual document's layout is as follow


main-directory
   \_________dtd
   \_________xsl
    \________topic1-dir
     \_______topic2-dir
      \______chapters-dir
       \_____sections-dir
	 \____includes-dir


My initial idea was to keep <qandaentry> format files in their respective topic directories, use them in <sect1> formated files placed in sections-dir and then create <chapter> formated files in chapter directory. This way I thought it was easy to expand the project and since the files are small editing is also fast. (This is currently working with sgml yet I now wnat to change to xml)

Finally in the main directory I was planning to have the Book format
file.

Hence my includes directory would basicly include the entity files which
would describe the files relationsship. (hello problem). If I put
everything in the "includes.ent" file it works. But when I want to have
the "includes.ent" to refer sections and chapters I can not make it
work.


<!-- $Id: includes.ent,v 1.6 2003/02/26 08:18:36 toganm Exp $ -->


<!-- DEFINE BASIC THINGS -->
<!ENTITY editor  "common/editor.xml">
<!ENTITY mail  "common/faq_maillist.xml">
<!ENTITY intro  "common/faq_abstract.xml">
<!ENTITY license  "common/fdl.txt">
<!ENTITY book_info  "common/book_info.xml">
<!ENTITY howthisisdone "common/howdone.xml">
<!ENTITY README.ISO   "common/README.iso-images.english">
<!ENTITY legalnotice  "common/legalnotice.txt">
<!ENTITY preface  "common/preface.xml">
<!ENTITY changes  "ChangeLog">
<!ENTITY reference  "common/index.xml">

<!-- DEFINE SECTIONS -->

<!ENTITY % sections_inc SYSTEM "sections.inc">%sections_inc;


<!-- DEFINE SECTION INCLUDES -->


<!ENTITY % section_include SYSTEM "section_includes.inc">%section_include;

<!-- DEFINE CHAPTERS -->

<!ENTITY % chapters_inc SYSTEM "chapters.inc">%chapters_inc;


<!-- $Id: common.inc,v 1.1.1.1 2002/02/16 10:40:21 toganm Exp $ -->


<!ENTITY common "common/common.xml"> <!ENTITY common1 "common/common1.xml">

apache.inc

<!ENTITY apache  "apache/apache.xml">
<!ENTITY apache1  "apache/apache1.xml">
<!ENTITY apache2 "apache/apache2.xml">

sections.inc has
<!-- $Id: sections.inc,v 1.28 2004/01/24 21:17:48 toganm Exp $ -->
<!--Sect1 Includes -->

<!ENTITY sect_apache "sections/sect_apache.xml">
<!ENTITY sect_common "sections/sect_common.xml">


<?xml version="1.0" encoding="utf-8" standalone="no"?> <!DOCTYPE book PUBLIC "-//SUSEFAQ//DTD DocBook XML V4.2-Based Extension V1.0//EN" "/usr/local/share/sgml/susefaq/susefaq.dtd" [

<!ENTITY % files SYSTEM "includes.ent">%files;
                ]>
<!-- $Id: faq_set.xml,v 1.7 2003/08/01 08:22:30 toganm Exp $ -->
<?psgml nofill screen programlisting literallayout?>
<book id="index">

!--<?dbhtml banner-href="stylesheet-images/SuSEbanner-1.png"?> -->

<xi:include href="&book_info;"
xmlns:xi="http://www.w2.org/2001/XInclude"/>
<xi:include href="&preface;"
xmlns:xi="http://www.w3.org/2001/XInclude"/>
....
....
</book>

When I issue the "xmllint --noout --postvalid --xinclude faq.xml"
command it starts barking out and I can not validate the document

common/book_info.xml:21: error: Entity 'changes' not defined
<xi:include href="&changes;" xmlns:xi="http://www.w3.org/2001/XInclude";
parse="text">
                          ^
common/book_info.xml:26: error: Entity 'editor' not defined
<xi:include href="&editor;" xmlns:xi="http://www.w3.org/2001/XInclude"/>


Any ideas where I am doing wrong, or what I am doing wrong



--


Togan Muftuoglu


To unsubscribe from this list, send a post to docbook-apps-unsubscribe@lists.oasis-open.org, or visit http://www.oasis-open.org/mlmanage/.



Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]