xsl-list
[Top] [All Lists]

Re: get back from nodeset to root ?

2002-12-16 10:46:26
Hello Heiko,

Heiko Specht wrote:
Hello all Mail list users,

I have a small (no its large) problem from getting results from a
nodeset and use them in them in the xml of the document root (or what
it is called).

I have created an variable which i called "astring" giving me (i do
there a lot of string commands) what i
wanted !!


<!-- this works perfect for me -->
<xsl:variable name="alllanguage" select="xalan:nodeset($astring)/all/artname"/>
<select name="A">
  <xsl:for-each select="$alllanguage">
     <xsl:if test="generate-id(.) =  generate-id($alllanguage[.=current()])">
             <option><xsl:value-of select="normalize-space()" /></option>
     </xsl:if>
  </xsl:for-each>
</select><br/><br/>
<!-- end of great work -->

What i want is to check if in my xml in the path
/page/article-list/article

<xsl:for-each select="$alllanguage">
 <xsl:if test="generate-id(.) =  generate-id($alllanguage[.=current()])">
        <!-- works -->
        <xsl:value-of select="normalize-space()" />
        <xsl:variable name="thisname" select="normalize-space()" />
        <!-- end of works -->

        <!-- i want back into my xml document but no chance -->
        <xsl:variable name="articelIds" select="/page/article-list/article"/>

you can simply move the variable declaration of articleIds outside of this for-each.

        <xsl:for-each select="$articelIds">
<!-- there is an element in this path called articleName --> <xsl:if test="contains(articleName, $thisname)">
                   <xsl:value-of select="article_id"/><br/>
           </xsl:if>
</xsl:for-each>

This can be simplified to

<xsl:for-each select="$articleIds[contains(acrticleName, $thisname)]">
  <xsl:value-of select="article_id"/><br/>
</xsl:for-each>

Regards,

Joerg

  </xsl:if>
</xsl:for-each>

I have search for so long, but couldn'd find the answer.
a little help would be great. TIA



XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list



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