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]

Re: [docbook-apps] olinksdb.xml profile/conditional conflicts


I meant to create two separate target database document files:

One file named olinkpdf.xml (for example):

<targetset>
 <document targetdoc="TechSpec">
&tech_spec_pdf;
</document>
</targetset>

And a second file named olinkhtml.xml:

<targetset>
 <document targetdoc="TechSpec">
&tech_spec_html;
</document>
</targetset>

(you don't need a sitemap for a single document).  I presume you are
defining those entities at the top of each file so they can be referenced
within the file.

When you process your file for HTML output, specify the
"target.database.document" parameter with the value "olinkhtml.xml", and
when you process your file for PDF output, specify that parameter with the
value "olinkpdf.xml".

That keeps the data entirely separate, so there is a single reference to
each id in each database.

Bob Stayton
Sagehill Enterprises
DocBook Consulting
bobs@sagehill.net


----- Original Message ----- 
From: "Jens Porup" <jens@porup.com>
To: <docbook-apps@lists.oasis-open.org>
Sent: Thursday, February 24, 2005 6:03 PM
Subject: Re: [docbook-apps] olinksdb.xml profile/conditional conflicts


> On Wed, Feb 23, 2005 at 11:18:37PM -0800, Bob Stayton wrote:
> > Hi Jens,
> > You are close, but you can't put both sets of target data under the same
> > <document> element. It creates duplicate targetptr's for your elements.
> >
> > In general, a separate target database document is required for each
> > profile, and for HTML vs. PDF.  In your case, the two profiles coincide
with
> > the two output formats.  So you need to create two separate target
database
> > documents, one for HTML and one for PDF, and put one of those entities
in
> > each <document targetdoc="TechSpec">.  Then you specify the appropriate
> > target database document as a parameter on the command line when you
process
> > each document.  Then each version has the right collection of targets to
> > work with, and there is no ambiguity.
>
> Bob,
>
> As you can see from my Make targets below, I am creating both an
html.profile.db
> and pdf.profile.db document using the targets.filename stringparam.
>
> I've tried changing my olinksdb.xml to look like this (which is what I
*think*
> you mean by the above):
>
> <targetset>
> <sitemap>
> <dir name="doc">
>
> <document targetdoc="TechSpec">
> &tech_spec_pdf;
> </document>
>
> <document targetdoc="TechSpec">
> &tech_spec_html;
> </document>
>
> </dir>
> </sitemap>
> </targetset>
>
> but it doesn't seem to make any difference, I get the error
>
> ../olinksdb.xml:12: error: Failure to process entity tech_spec_pdf
&tech_spec_pdf;
>
> When I make the html, it's still looking for the pdf.
>
> What do you reckon?
>
> Thanks,
>
> Jens
>
> The Make targets:
>
> tech_spec_html: tech_spec.xml
> cd tech_spec; \
> xsltproc --output temp.html.xml \
> --xinclude \
> --stringparam profile.condition html \
> /usr/share/xml/docbook/stylesheet/nwalsh/profiling/profile.xsl \
> ../tech_spec.xml; \
> xsltproc \
> --stringparam collect.xref.targets "yes" \
> --stringparam targets.filename "html.profile.db" \
> --stringparam target.database.document "../olinksdb.xml" \
> --stringparam current.docid "TechSpec" \
> --stringparam use.id.as.filename 1 \
> --stringparam spacing.paras 1 \
> --stringparam make.valid.html 1 \
> --stringparam chunker.output.indent yes \
> /usr/share/xml/docbook/stylesheet/nwalsh/html/chunk.xsl \
> temp.html.xml;
>
> tech_spec.pdf: tech_spec.xml
> cd tech_spec; \
> xsltproc --output temp.pdf.xml \
> --xinclude \
> --stringparam profile.condition pdf \
> /usr/share/xml/docbook/stylesheet/nwalsh/profiling/profile.xsl \
> ../tech_spec.xml; \
> xsltproc \
> --output tech_spec.fo \
> --stringparam collect.xref.targets "yes" \
> --stringparam targets.filename "pdf.profile.db" \
> --stringparam target.database.document "../olinksdb.xml" \
> --stringparam current.docid "TechSpec" \
> --stringparam paper.type A4 \
> /usr/share/xml/docbook/stylesheet/nwalsh/fo/docbook.xsl temp.pdf.xml; \
> fop tech_spec.fo tech_spec.pdf;
>
>
>
>



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