| 
 
Subject: [xsl] XPath expression confusion From: cknell@xxxxxxxxxx Date: Thu, 12 Jan 2006 16:48:31 -0500  | 
I have two files structured like this:
File A
-------
<requirements>
  <requirement>
    <number />
      <requirement>
        <number />
        And so on to an arbitrary depth
      </requirement>
  </requirement>
</requirements>
File B
-------
<system>
  <components>
    <component>
      <requirement number="" />
      <requirement number="" />
      <requirement number="" />
    </component>
  </components>
</system>
There will be an arbitrary number of components, each with an arbitrary number of requirements.
My goal is to produce a document containing all the requirement/number elements from File A that don't have a matching requirement/@number in File B.
My unsuccessful approach is represented in this stylesheet fragment:
<xsl:variable name="all-reqs" select="document('requirements.xml')/requirements//requirement/number" />
  <xsl:template match="/">
    <un-assigned-reqs>
      <xsl:for-each select="$all-reqs">
        <xsl:choose>
          <xsl:when test="/system/components/component/requirement/@number = ." />
          <xsl:otherwise>
            <requirement><xsl:value-of select="." /></requirement>
          </xsl:otherwise>
        </xsl:choose>
      </xsl:for-each>
    </un-assigned-reqs>
  </xsl:template>
It was my belief that the XPath expression in the test would search all the number attribute values in the document for a value that matched the value of the current iteration of the loop.
Instead, it seems that there are no matches, as I get one element output for each iteration of the loop.
Can someone point out where I'm going wrong?
Thanks.
-- 
Charles Knell
cknell@xxxxxxxxxx - email
| Current Thread | 
|---|
  | 
| <- Previous | Index | Next -> | 
|---|---|---|
| RE: Re: Re: [xsl] Newbie to XSLT ne, cknell | Thread | Re: [xsl] XPath expression confusio, Geert Josten | 
| RE: [xsl] Selecting the first item , Haarman, Michael | Date | RE: Re: Re: [xsl] Newbie to XSLT ne, convextech | 
| Month |