xsl-list
[Top] [All Lists]

[xsl] Selecting the first node set

2006-08-05 04:22:16
Given the following simplified XML instance, can anyone suggest an expression that will return ONLY the 'Value' node containing <enum> children with values A, B and C. I can't rely on the name of the parent node of <Value> hence I have deliberately named these as UnknownNameX or any other intervening structure.

<Trade>
        <UnknownName1>
                <Value>
                        <enum>A</enum>
                        <enum>B</enum>
                        <enum>C</enum>
                </Value>
        </UnknownName1>
        <UnknownName2>
                <Value>/Trade//Value[ancestor::Trade]</Value>
        </UnknownName2>
        <Treatment>
                <UnknownName3>
                        <Value>
                                <enum>D</enum>
                                <enum>E</enum>
                                <enum>F</enum>
                        </Value>
                </UnknownName3>
        </Treatment>
</Trade>


/Trade//Value        - returns all 3 <Value> nodes
/Trade//Value[1]    - also returns all 3 <Value> nodes (why is that ?)
/Trade//Value[2]    - returns nothing (why is that ?)

Cheers

Fraser.



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