|
[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] Re: Terminate <xsl:for-each>
Please try this stylesheet
<?xml version="1.0"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:text="http://whatever"
exclude-result-prefixes="text"
version="1.0">
<xsl:output method="xml" indent="yes" />
<xsl:template match="/text:root">
<root>
<xsl:for-each select="text:p">
<xsl:element name="{text:bookmark-start/@text:name}">
<xsl:for-each select="text:user-field-get">
<tag><xsl:value-of select="." /></tag>
</xsl:for-each>
</xsl:element>
</xsl:for-each>
</root>
</xsl:template>
</xsl:stylesheet>
Please note the use of namespace declaration
xmlns:text="http://whatever". This has to be same as in the XML
document.
Regards,
Mukul
On 9/3/05, aaron apigo <aaronjose_apigo2001@xxxxxxxxx> wrote:
> Hi All,
>
> I have this sample XML,
>
> <text:root>
> <text:p>
> <text:bookmark-start text:name="bib1"/>
>
> <text:user-field-get>data1</text:user-field-get>
>
> <text:user-field-get>data2</text:user-field-get>
>
> <text:user-field-get>data3</text:user-field-get>
>
> <text:user-field-get>data4</text:user-field-get>
>
> <text:user-field-get>data5</text:user-field-get>
> <text:bookmark-end text:name="bib1"/>
> </text:p>
> <text:p>
> <text:bookmark-start text:name="bib2"/>
>
> <text:user-field-get>data6</text:user-field-get>
>
> <text:user-field-get>data7</text:user-field-get>
>
> <text:user-field-get>data8</text:user-field-get>
>
> <text:user-field-get>data9</text:user-field-get>
>
> <text:user-field-get>dat10</text:user-field-get>
> <text:bookmark-end text:name="bib2"/>
> </text:p>
> <text:p>
> <text:bookmark-start text:name="bib3"/>
>
> <text:user-field-get>dat11</text:user-field-get>
>
> <text:user-field-get>dat12</text:user-field-get>
>
> <text:user-field-get>dat13</text:user-field-get>
>
> <text:user-field-get>dat14</text:user-field-get>
>
> <text:user-field-get>dat15</text:user-field-get>
> <text:bookmark-end text:name="bib3"/>
> </text:p>
> </text:root>
>
> and I have this XSL
>
> <xsl:template match ="text:bookmark-start">
> <xsl:element="{@text:name}">
>
> <xsl:for-each select="//text:p/text:user-field-get">
>
> do something here.........
>
> </xsl:for-each>
>
> </xsl:element>
>
> </xsl:template>
>
> what I want is this.
>
> <root>
> <bib1>
> <tag>data1</tag>
> <tag>data2</tag>
> .........
> </bib1>
> <bib2>
> <tag>data6</tag>
> <tag>data7</tag>
> .........
> </bib2>
> <bib3>
> <tag>dat11</tag>
> <tag>dat12</tag>
> .........
> </bib3>
> </root>
>
> Using my logic in my sytlesheets, all the
> <text:user-field-get> are captured, is there a
> possibility that when <for-each> select
> <text:bookmark-end text:name="___"/>, <for-each> will
> automatically be terminated, and the next
> <text:bookmark-start text:name="___"/> will be the one
> to process.
>
> regards.
|
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








