[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]
Subject: RE: [docbook] docbook5 and adding elements (long)
Kells, I haven't worked with the DTD for DocBook 5, just the Relax NG schema, so I can't help with the specific problem you're having. With any luck someone will post a quick fix. But, if you can work with the Relax NG schema version of DocBook, here are a couple of resources that should be helpful: http://www.docbook.org/docs/howto/ This guide has a section about customizing the DocBook 5 Relax NG schema. The following reference discusses customizing DocBook 5 stylesheets once you've modified a schema: http://xmlguru.cz/2006/03/easy-docbook-specialization It also points to an article by Norm Walsh that may be helpful. I suspect that the combination of these references will get you where you need to go if you can use Relax NG instead of DTDs. Good luck. Dick Hamilton rlhamilton@frii.com > -----Original Message----- > From: Kells Kearney [mailto:keruzu@gmail.com] > Sent: Tuesday, March 13, 2007 6:13 PM > To: docbook@lists.oasis-open.org > Subject: [docbook] docbook5 and adding elements (long) > > > I've taken a look through the e-mail archives, and I've tried > googling, but I'm unable to find an answer to why I can't do something > that should be quite simple. :( I've found documentation for how to > do it using Docbook 4.x (and had no luck using it with Docbook 5), but > it *seems* like a good thing to do it in Docbook 5. (Right?) > > I'm hoping that some kind soul can help me understand what it is > that I'm doing wrong. I think that all I need is one good example. > Thanks in advance! > > > kells > > > What I'm trying to do: > ================ > I would like to be able to create an application-specific prompt to > create documentation for the application. The prompt looks like: > > app: server_name> > > where I'd like to define server_name in an entity as an attribute > with a reasonable default. To illustrate, I'd like to be able to > write: > > <app> <command> bleh </command> > <variable>colour</variable>=<replaceable>blue</replaceable> > </app> > > <app server="server2" > <command> bleh </command> > <variable>colour</variable>=<replaceable>green</replaceable> > </app> > > and have the output look something like: > > app: server1> bleh colour=blue > app: server2> bleh colour=green > > Where I am so far > ============== > Input file: test.xml > ---------------------------- > <?xml version="1.0" encoding="UTF-8"?> > <!DOCTYPE book SYSTEM "app.dtd" > > > <book version="5.0" > xmlns:xlink="http://www.w3.org/1999/xlink" > xmlns:xi="http://www.w3.org/2001/XInclude" > xmlns:svg="http://www.w3.org/2000/svg" > xmlns:mml="http://www.w3.org/1998/Math/MathML" > xmlns:html="http://www.w3.org/1999/xhtml" > xmlns:db="http://docbook.org/ns/docbook" > > > > <chapter> > <title>Hello world!</title> > <para>Sample explanatory text here</para> > > <app server="server2" > <command> bleh </command> > <variable>colour</variable>=<replaceable>green</replaceable> > </app> > > </chapter> > </book> > > > > My DTD app.dtd: > ------------------------ > <?xml version="1.0" encoding="UTF-8"?> > > <!-- Add the "app" element to something hopefully similar to > what I want. :) > If I understand things correctly, this inserts the element > definition into > the right spots in the DocBook grammar (aka DTD). > --> > <!ENTITY % local.tech.char.class "|app" > > > <!-- Other documentation I've seen suggests taking the > docbook dtd, making a parameter entity and invoking it here. > It goes badly for me if I do > > <!ENTITY % DOCBOOK SYSTEM > "file://c:/docbook/lib/docbook-> 50b5/dtd/docbook.dtd"> > > %DOCBOOK; > > So I can't use the > above. Right? > > --> > > <!-- Create the "app" element --> > <!ELEMENT app (#PCDATA|filename|replaceable|constant|parameter)* > > > <!-- Set a default server name --> > <!ATTLIST app server ENTITY "server1" > > > > > My app.xsl > ------------------ > <?xml version="1.0" encoding="UTF-8"?> > > <xsl:stylesheet version="1.0" > xmlns:xsl="http://www.w3.org/1999/XSL/Transform" > > xmlns:fo="http://www.w3.org/1999/XSL/Format" > > xmlns:db="http://docbook.org/ns/docbook" > > > > <!-- Here's where it starts to get really scary for me. :) > This is also wrong, but I *think* shows what I want to do. > --> > <xsl:template match="app"> > <xsl:call-template name="db:prompt"> > <xsl:value-of select="@server" /> > </xsl:call-template> > & > <xsl:apply-templates select="." /> > </xsl:template> > > </xsl:stylesheet> > > > Invocation with xsltproc > ================== > xsltproc --nonet --xinclude --output test.fo app.xsl test.xml > > --------------------------------------------------------------------- > To unsubscribe, e-mail: docbook-unsubscribe@lists.oasis-open.org > For additional commands, e-mail: docbook-help@lists.oasis-open.org > >
[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]