[XSL-LIST Mailing List Archive Home]
[By Thread]
[By Date]
[Recent Entries]
[Reply To This Message]
Re: Matching only text nodes with certain (complicated
Subject: Re: Matching only text nodes with certain (complicated) properties
From: Wendell Piez <wapiez@xxxxxxxxxxxxxxxx>
Date: Fri, 09 Jan 2009 14:28:09 -0500
|
Actually Dimitre, as long as this is TEI as the OP stated, the pb
will never be an ancestor -- it'll always be on preceding axis. (As
the OP noted in passing, it's a milestone -- always empty. :-)
Cheers,
Wendell
At 01:08 PM 1/9/2009, Dimitre wrote:
> In XSLT 1.0 the problem is nastier and expensive, although doable. But when
> restricted to 1.0, one should keep in mind other options (such as judicious
> pre-processing) to alleviate problems either with performance or code
> complexity.
>
> It's doable because the pb can in fact be found on preceding:: (even when
> not on preceding-sibling::).
As the OP stated in his opening message,
"As far as I understand it, the main problem is that the expression I
have to construct for matching can't rely simply on the preceding:: or
ancestor:: axes since the <pb/> can really appear anywhere in the
tree."
The following XSLT 1.0 transformation has a template that correctly
matches (only) the required text nodes:
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:strip-space elements="*"/>
<xsl:template match="text()"/>
<xsl:template match=
"text()
[count(preceding::text()[1]/preceding::node()
| preceding::text()[1]/ancestor::node()
)
<
count((preceding::pb[1] |
ancestor::pb[1])[last()]/preceding::node()
|
(preceding::pb[1] |
ancestor::pb[1])[last()]/ancestor::node()
)
]
...
======================================================================
Wendell Piez mailto:wapiez@xxxxxxxxxxxxxxxx
Mulberry Technologies, Inc. http://www.mulberrytech.com
17 West Jefferson Street Direct Phone: 301/315-9635
Suite 207 Phone: 301/315-9631
Rockville, MD 20850 Fax: 301/315-8285
----------------------------------------------------------------------
Mulberry Technologies: A Consultancy Specializing in SGML and XML
======================================================================
|
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
RSS 2.0 |
|
Atom 0.3 |
|
|