xsl-list
[Top] [All Lists]

[xsl] following-sibling problem

2007-06-06 05:14:54
I have some source xml that looks like this:

<References>
        <Reference>Something</Reference>
        <Reference>Something Else</Reference>
        <ReferenceReasonText>Reason for Something 
Else</ReferenceReasonText>
        <Reference>Another reference</Reference>
<References>

I'm applying a template match on References

<xsl:apply-templates select="References" />

and

<xsl:template match="References/Reference">

        <!-- I've set up a test variable to determine if the 
following-sibling is a <ReferenceReasonText> -->
        <xsl:variable name="test">
                <xsl:choose>
                        <xsl:when 
test="following-sibling::ReferenceReasonText[1]">
                                <xsl:text>True</xsl:text>
                        </xsl:when>
                        <xsl:otherwise>
                                <xsl:text>False</xsl:text>
                        </xsl:otherwise>
                </xsl:choose>
        </xsl:variable>

</xsl:template>

The value of the test variable returns the following after transformation:

<References>
        <Reference>Something</Reference>        VARIABLE = TRUE
        <Reference>Something Else</Reference> VARIABLE = TRUE
        <ReferenceReasonText>Reason for Something 
Else</ReferenceReasonText>
        <Reference>Another reference</Reference>        VARIABLE = FALSE
<References>

For the first instance of Reference I would expect the variable to be 
False, what am I doing wrong ... anyone?

I've used following-sibling::xxxxx[1] before and got the results I 
expected. The only difference that I can see is that this XSLT (v2.0) is 
wrapped up in some FO using XEP 4.3 to produce PDF.


Regards
Andy

Andy Carr
Senior IT Specialist
Tel: Internal - 298037 External - 01252 558037
Mail Point  M1C IBM Application Services
Meudon House, Meudon Avenue, Farnborough, GU14 7NB
(Notes) Andy Carr1/UK/IBM(_at_)IBMGB 
(Internet)CARRA(_at_)uk(_dot_)ibm(_dot_)com






Unless stated otherwise above:
IBM United Kingdom Limited - Registered in England and Wales with number 
741598. 
Registered office: PO Box 41, North Harbour, Portsmouth, Hampshire PO6 3AU







--~------------------------------------------------------------------
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>
--~--

<Prev in Thread] Current Thread [Next in Thread>