XPath expression and xsl:when

Collapse
This topic is closed.
X
X
 
  • Time
  • Show
Clear All
new posts
  • gimme_this_gimme_that@yahoo.com

    XPath expression and xsl:when


    What xpath expression would return the category-item having uid sps002
    ?


    <category-list>
    <category>
    <uid>GRIDS_MAIN _CATEGORY_UID</uid>
    <uid-type>Categories </uid-type>
    <category-item-list>
    <category-item>
    <uid>sps0002</uid>
    <uid-type>Grids</uid-type>
    </category-item>
    <category-item>
    <uid>sps0005sty le0003</uid>
    <uid-type>Grids</uid-type>
    </category-item>
    </category>
    <category>
    <uid>GRIDS_MAIN _CATEGORY_UID</uid>
    <uid-type>Categories </uid-type>
    <category-item-list>
    <category-item>
    <uid>sps0002</uid>
    <uid-type>Grids</uid-type>
    </category-item>
    <category-item>
    <uid>sps0005sty le0003</uid>
    <uid-type>Grids</uid-type>
    </category-item>
    </category>
    </category-list>

    I've tried the following Xpath expression ... :

    <xsl:when
    test="'sps0002' =//category-list/category/category-item-list/category-item/uid">
    <xsl:value-of select="./uid"/>

    Which doesn't work. (Help!)

    But actually, what I'd really like is an Xpath expression
    that would fetch this node directly without using a xsl:when.

    What I'm actually doing is checking if a node with an id of sps002
    exists in a JDOM Element using it's the JDOM XPath object. This returns
    either an Element or an Attribute. But right now I'm having to
    fetch all the category-item Elements and iterate through them to
    determine
    if one with an sps002 id exists.

    Thanks.

  • David Carlisle

    #2
    Re: XPath expression and xsl:when

    [color=blue]
    > What xpath expression would return the category-item having uid sps002[/color]

    /category-list/category/category-item-list/category-item[uid='sps2002']

    <xsl:when
    test="'sps0002' =//category-list/category/category-item-list/category-item/uid">


    That tests if there us any uid anywhere in the document that has this
    value, so it will be always true or always false depending on whether
    such a node exists.

    <xsl:value-of select="./uid"/>

    so this will select the uid child of the current node whether or not
    this is the node taht has the specified uid.

    David

    Comment

    • gimme_this_gimme_that@yahoo.com

      #3
      Re: XPath expression and xsl:when

      Man .. The people on this list are *so* helpful. Thanks.

      Comment

      Working...