Hi, I have the following XML:
<document xmlns:fo="http://www.w3.org/1999/XSL/Format">
<elements>
<element type="title" position="1">text1</element>
<element type="paragraphe" position="2">text2</element>
<element type="paragraphe" position="3">text3</element>
<element type="title" position="4">text4</element>
<element type="paragraphe" position="5">text5</element>
<element type="paragraphe" position="6">text6</element>
<element type="title" position="7">text7</element>
<element type="paragraphe" position="9">text9</element>
<element type="paragraphe" position="10">text10</element>
<element type="title" position="11">text11</element>
<element type="paragraphe" position="12">text12</element>
<element type="paragraphe" position="13">text13</element>
</elements>
</document>
---------------XSL--------------
xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:fo="http://www.w3.org/1999/XSL/Format">
<xsl:template match="/">
<document>
<xsl:apply-templates/>
</document>
</xsl:template>
<xsl:template match="document/elements/element">
<xsl:if test="./@type='title'">
<element>
<group>
<title>
<xsl:value-of select="."/>
</title>
<xsl:for-each
select="following::element[@type='paragraphe']">
<xsl:if test="./@position <
following::element [@type='title']/@position">
<paragraphe>
<xsl:value-of select="."/>
</paragraphe>
</xsl:if>
</xsl:for-each>
<xsl:if
test="not(following-sibling::element[@type='title'])">
<xsl:for-each
select="following::element[@type='paragraphe']">
<paragraphe>
<xsl:value-of select="."/>
</paragraphe>
</xsl:for-each>
</xsl:if>
</group>
</element>
</xsl:if>
</xsl:template>
</xsl:stylesheet>
I want to have only the *first *following with the attribute Type = title
or with my test : <xsl:if test="./@position < following::element
[@type='title']/@position"> I have : <document
xmlns:fo="http://www.w3.org/1999/XSL/Format">
<element>
<group>
<title>text1</title>
<paragraphe>text2</paragraphe>
<paragraphe>text3</paragraphe>
<paragraphe>text5</paragraphe>
<paragraphe>text6</paragraphe>
<paragraphe>text9</paragraphe>
<paragraphe>text10</paragraphe>
</group>
</element>
...
What I want is only text2 and text 3, I don't want text5 --> text10 with
this title
Any Idea? I become nuts....
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list