[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]
Subject: Re: [docbook-apps] Entities references vs. XRef as a way to manage changingglossary
> > xsltproc --stringparam collect.xref.targets "only" docbook.xsl test.xml > > > > is like this: > > > > <div element="chapter" href="" number="1" targetptr="dessert"> > > <ttl>Dessert</ttl> > > <xreftext>Chapter??1, <i>Tiramisu</i></xreftext> > > </div> > > I don't understand why the href attribute is blank. > It should be "#id", where id is either the element's > id value or a generated id. That was why I thought > it would be necessary to delete those attribute values > that are generated. Sorry, Bob. I had copied the block above after I emptied the value of @href attribute according to your suggestion. What xsltproc --stringparam collect.xref.targets "only" docbook.xsl test.xml really produces is the following: <div element="chapter" href="#dessert" number="1" targetptr="dessert"> <ttl>Dessert</ttl> <xreftext>Chapter??1, <i>Tiramisu</i></xreftext> </div> Like you said, it seems necessary to empty the @href attribute value to turn off production of hotlinks. > One other option might be XInclude. It will survive > XSL identity transformations if you don't turn on > xinclude processing (omit the --xinclude option to > xsltproc). If you need to import the parameterization > to FrameMaker, then you could convert the XIncludes > to entities just before import, and then FrameMaker > will handle them. > XInclude is another technique we can use for parameterizing text I was not aware of. With XInclude, given glossary.xml: <glossary> <varname id="main_course">fish</varname> <varname id="dessert">apple pie</varname> </glossary> I can make a reference to a glossary entry as follows: <xi:include href="glossary.xml#xpointer(range-inside(//*[@id='dessert']))" parse="xml"/> Compared to the olink technique, where the glossary looks like: <div targetptr="main_course"><xreftext>beef</xreftext></div> <div targetptr="dessert"><xreftext>tiramisu</xreftext></div> and the reference looks like: <olink targetdoc="glossary" targetptr="dessert"/> My observations/questions are: 1) XInclude requires each glossary entry to be wrapped in an element. Here, I've used <varname>, but what if I don't want any wrapping element? Is there any way to return only the character data inside? (Note: I understand this can potentially be a convenience.) 2) The XInclude technique's referencing element is textually more verbose, and so visually more intrusive. Is there any way to make the reference more terse? 3) With XInclude, I don't need a special XSLT stylesheet to resolve the references. XSLT processor does this for us. 4) With XInclude, I don't need to build the target database as required with olink. Taro Ikai
[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]