| Subject: Re: [xsl] bug in LibXSLT??? From: Dimitre Novatchev <dnovatchev@xxxxxxxxx> Date: Fri, 7 Mar 2003 01:00:35 -0800 (PST) | 
--- S Woodside <sbwoodside@xxxxxxxxx> wrote:
> On Thursday, March 6, 2003, at 04:09  AM, Daniel Veillard wrote:
> 
> >   Well can you provide a concise example ?
> 
> OK, I reduced the input and code down a lot. It still displays the 
> potential bug. If I'm screwing something up, I'd love to know what.
I managed to simplify your example a little bit more and now we have
another, probably related problem.
This is the source xml document:
<grammar>   
  <start>     
    <element name="a">       
      <optional>         
        <element name="b">           
          <optional>             
            <element name="c">               
              <optional>                 
                <attribute name="d">                   
                </attribute>               
              </optional>             
            </element>           
          </optional>         
        </element>       
      </optional>     
    </element>   
  </start>
</grammar>
This transformation:
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" 
version="1.0" >   
  <xsl:output omit-xml-declaration="yes"/>   
  <xsl:template match="attribute">     
      <path>         
        <xsl:call-template name="RNGPathToSelf"/>       
      </path>       
      <xsl:apply-templates/>     
  </xsl:template>   
  <xsl:template name="RNGPathToSelf">
    <xsl:variable name="vAncestors"
select="ancestor-or-self::*/@name"/>
    <xsl:for-each select="$vAncestors">       
      <xsl:text>/</xsl:text>       
      <xsl:value-of select="."/>     
    </xsl:for-each>   
  </xsl:template>
</xsl:stylesheet>
when applied on the above source xml document produces this result
(surrounding whitespace skipped to conserve space):
<path>/d/c/b/a</path>
As we see, the following code
    <xsl:for-each select="$vAncestors">       
      <xsl:text>/</xsl:text>       
    <xsl:value-of select="."/>     
does not output in document order the values of the nodes contained in
the nodeset.
All other XSLT processors I've tried produce the result as per spec:
<path>/a/b/c/d</path>
=====
Cheers,
Dimitre Novatchev.
http://fxsl.sourceforge.net/ -- the home of FXSL
__________________________________________________
Do you Yahoo!?
Yahoo! Tax Center - forms, calculators, tips, more
http://taxes.yahoo.com/
 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
| Current Thread | 
|---|
| 
 | 
| <- Previous | Index | Next -> | 
|---|---|---|
| Re: [xsl] bug in LibXSLT???, Daniel Veillard | Thread | Re: [xsl] bug in LibXSLT???, Daniel Veillard | 
| Re: [xsl] bug in LibXSLT???, Daniel Veillard | Date | [xsl] Implementation of keys in Sax, Philippe . Dubreuil | 
| Month |