xsl-list
[Top] [All Lists]

Re: [xsl] XML overlap - processing a node-set defined by <start/> and <end/>

2007-02-17 13:30:19
James Fuller wrote:
u might want to take a look at lmnl

http://www.lmnl.net/

Thanks James, but I have to stick on XML, lmnl seems to have it's own none-XML syntax.

Meanwhile I found a paper about CLIX [1], which had worked out the start/end scenarios in more detail beyond the chapter 'Range ordering with and without co-located endpoints'. Until I found out more about the later mentioned validator build on Saxon, my XSLT related question is this:

Is the best (performant) way to work on the selection the following?

<xsl:variable name="precedingStarts" select="count(preceding::text:start)"/>
<xsl:if test="$precedingStarts != 0">
<xsl:variable name="followingEnds" select="count(following::text:end)"/>
   <xsl:if test="$precedingStarts = $followingEnds">
   <!-- do something -->
   </xsl:if>
</xsl:if>

Is there any possibility to cache this?

I am thankful for any help,
Svante


[1] http://www.idealliance.org/papers/extreme/Proceedings/html/2004/DeRose01/EML2004DeRose01.html

gl, James Fuller

On 2/17/07, Svante Schubert <svante(_dot_)schubert(_at_)gmail(_dot_)com> wrote:
Imagine XML data, where continuous selection of data - randomly made by
the user - is being marked by using a <start/> and <end/> element.

For example:

<ex:paragraph>
    <ex:START/>
    <ex:span>
        Some text C..
    <ex:span>
</ex:paragraph>
<ex:paragraph>
    Some text D..
    <ex:END/>
    <ex:span>
        Some text F..
    <ex:span>
</ex:paragraph>


The desired nodes would be
    <ex:span>
        Some text C..
    <ex:span>
    Some text D..

Is there an easy way to process this kind of selection with XSLT?

Best regards,
Svante


--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--



--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--


--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--