xsl-list
[Top] [All Lists]

Re: [xsl] Need an XPath expression for: $B is not contained in $A

2018-06-14 08:38:23
Doh!--how do I keep failing to understand that "=" is atomic value comparison?

Maybe I shouldn't try to solve XSLT puzzles first thing in  the morning.

Cheers,

E.

--
Eliot Kimber
http://contrext.com
 

On 6/14/18, 8:35 AM, "Martin Honnen martin(_dot_)honnen(_at_)gmx(_dot_)de" 
<xsl-list-service(_at_)lists(_dot_)mulberrytech(_dot_)com> wrote:

    On 14.06.2018 15:23, Eliot Kimber ekimber(_at_)contrext(_dot_)com wrote:
    > This seems to work:
    > 
    > <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform";
    >    xmlns:xs="http://www.w3.org/2001/XMLSchema";
    >    exclude-result-prefixes="xs"
    >    version="2.0">
    >    <xsl:template match="/">
    >      <xsl:variable name="doc" as="document-node()">
    >        <xsl:document>
    >        <root>
    >          <a>
    >            <c>
    >              <b>This is b 1</b>
    >            </c>
    >            <d>This is d</d>
    >          </a>
    >          <f>
    >            <c>
    >              <b>This is b 2</b>
    >            </c>
    >          </f>
    >        </root>
    >        </xsl:document>
    >      </xsl:variable>
    >      
    >      <xsl:variable name="A" as="element()" select="$doc/*/a"/>
    >      <xsl:variable name="B1" as="element()" select="$doc/*/a/c/b"/>
    >      <xsl:variable name="B2" as="element()" select="$doc/*/f/c/b"/>
    >      <result>
    >        <test>b1 in A: <xsl:value-of select="$B1/ancestor::* = $A"/></test>
    >        <test>b2 in A: <xsl:value-of select="$B2/ancestor::* = $A"/></test>
    
    Comparing the string value with "=" does not compare the node identity 
    so I don't think this is a good idea, unless textual equality is sought.
    
    
    
--~----------------------------------------------------------------
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
EasyUnsubscribe: http://lists.mulberrytech.com/unsub/xsl-list/1167547
or by email: xsl-list-unsub(_at_)lists(_dot_)mulberrytech(_dot_)com
--~--

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