|
[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] RE: Finding and promoting footnotes
> From: Trevor Nicholls [mailto:trevor@xxxxxxxxxxxxxxxxxx] <snip/> > trouble. What is the recommended way to process this so that > the content of > the single FOOTNOTE which contains an <A ID="x"> which > matches the document > body's <A href="id(x)"> is output here? > Trevor, This statement within the template matching "A[@class='footnote']" -- > <xsl:apply-templates select="/XML/FOOTNOTES" mode="body" /> could be specialized to apply to just the TableFootnote node you require: <xsl:apply-templates select="//*/TableFootnote[A/@ID=$fid]" mode="body"/> from its current context by calling out to the top of the input XML using the "//" path expression, but at some runtime expense. You want to avoid this by making up a key table of TableFootnote elements (at top level of stylesheet) -- <xsl:key name="footnotes" match="*/FOOTNOTES/FOOTNOTE/TableFootnote" use="A/@ID"/> using the ID attribute of their child A nodes, and apply-templates to the node-set returned by the desired index -- <xsl:apply-templates select="key('footnotes', substring-before(substring-after(@href, '(') , ')') )" mode="body"/> In all these cases, obviously, the template we are applying should have a match expression "TableFootnote" not "FOOTNOTES" > This could well be an FAQ but if so, not under the keywords I tried! > It is, but there is often difficulty knowing what keywords are appropriate to a particular problem. This problem, as are so many of XSL, is a grouping problem. HTH, ----------------------------------- Mike Haarman, XSL Developer, Internet Broadcasting Systems, Inc.
|
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|

Cart








