Thread: Re: [HACKERS] XML Docbook
Karel Zak writes: > On Fri, Nov 14, 2003 at 10:32:10AM +0100, Peter Eisentraut wrote: > > XML disadvantage: > > > > - no arbitrary parameter entities > > I unsure if I understand, can you show some example of this problem? SGML and XML allow you to disable certain parts of your document, by writing <![IGNORE[ <stuff>...</stuff> ]]> The opposite of IGNORE is INCLUDE. Think of this as a preprocessing stage. You can also make the IGNORE/INCLUDE variable, by declaring a "parameter entity", think of it as a variable. This is declared like this: <!entity % myvar "IGNORE"> Then you can write <![%myvar;[ <stuff>...</stuff> ]]> and toggle the myvar somewhere. For example, OpenJade allows you to do this on the command line. We use this feature to generate files like INSTALL and HISTORY from the documentation sources. The files are almost like the corresponding chapters, but in some cases we use this as a kind of if/then/else to adjust the content for the different contexts. For example, you cannot have links in INSTALL, because the rest of the documentation is not there to link to. Now, the problem in XML is that it no longer allows arbitary parameter entities; that is, you can only hardcode IGNORE or INCLUDE, but not toggle it anywhere. So there is no straightforward conversion path for our requirements. If anyone can come up with a good solution for this problem, we can convert to DocBook XML the next day. -- Peter Eisentraut peter_e@gmx.net
On Fri, Nov 14, 2003 at 08:16:30PM +0100, Peter Eisentraut wrote: > Karel Zak writes: > > > On Fri, Nov 14, 2003 at 10:32:10AM +0100, Peter Eisentraut wrote: > > > XML disadvantage: > > > > > > - no arbitrary parameter entities > > > > I unsure if I understand, can you show some example of this problem? > > SGML and XML allow you to disable certain parts of your document, by > writing > > <![IGNORE[ > <stuff>...</stuff> > ]]> > > The opposite of IGNORE is INCLUDE. Think of this as a preprocessing > stage. You can also make the IGNORE/INCLUDE variable, by declaring a > "parameter entity", think of it as a variable. This is declared like > this: > > <!entity % myvar "IGNORE"> > > Then you can write > > <![%myvar;[ > <stuff>...</stuff> > ]]> One Czech XML guru suggest me use for this "profiling". For more information see: http://www.sagehill.net/docbookxsl/Profiling.html An example: <para os="windows">WinText</para> and when you apply XSL template you can use template with "profile-" prefix (profile-docbook.xsl, profile-chunk.xsl) and define option profile.os="windows". The other thing are INCLUDEs, I think best way is use W3C's <xinclude>. The "xsltproc" support it (--xinclude option) and for others tools which doesn't support it you can use common tool "xmllint" that merge all to one temporary file: xmllint --xinclude --postvalid book.xml tmp.xml fop -xsl /path/file.xsl -xml tmp.xml -pdf book.pdf rm -f tmp.xml Comments? Karel -- Karel Zak <zakkr@zf.jcu.cz> http://home.zf.jcu.cz/~zakkr/
Karel Zak writes: > One Czech XML guru suggest me use for this "profiling". For more > information see: > > http://www.sagehill.net/docbookxsl/Profiling.html Sounds like a plan. I think as a first step we should upgrade to SGML DocBook 4.2. Anyone want to dig out the old patch for that? -- Peter Eisentraut peter_e@gmx.net
On Thu, Nov 20, 2003 at 10:33:14AM +0100, Peter Eisentraut wrote: > Karel Zak writes: > > > One Czech XML guru suggest me use for this "profiling". For more > > information see: > > > > http://www.sagehill.net/docbookxsl/Profiling.html > > Sounds like a plan. > > I think as a first step we should upgrade to SGML DocBook 4.2. Anyone > want to dig out the old patch for that? Is it needful upgrade to SQGML 4.2 and next to XML? Why not directly to XML? I can try do it (on December or soon if I will have time). I already overhaul some docs from SGML to XML. Karel -- Karel Zak <zakkr@zf.jcu.cz> http://home.zf.jcu.cz/~zakkr/