Hi Tom,

This has already been reported and fixed.  See:

   http://nagoya.apache.org/bugzilla/show_bug.cgi?id=6394

You can patch your local copy of the sources, or get the latest from CVS.
You should file a new bug if this patch doesn't fix the problem.

Thanks,

Dave



                                                                                
                              
                      Thomas Munaretto                                          
                              
                      <[EMAIL PROTECTED]         To:      
[email protected]                          
                      o.com>                   cc:                              
                              
                                               Subject: Attributes in variables 
and xsl:copy-of problem       
                      02/20/2002 05:07                                          
                              
                      AM                                                        
                              
                                                                                
                              
                                                                                
                              




Hi all,

First of all, apologies if this is a newbie question (couldn't find
anything similar in the archives or faq, though).

I've stumbled upon a problem regarding xsl:variable and using this
variable in an xsl:copy-of element. It seems that Xalan-C 1.3 ignores
attributes defined in the variable if these attributes have a value of
"", i.e. an empty string.

Example:
--------

Stylesheet:
-----------
<?xml version ="1.0"?>
<xsl:stylesheet version="1.0"
              xmlns:xsl="http://www.w3.org/1999/XSL/Transform";>

      <xsl:template match="/Request">
            <xsl:copy-of select="$Info"/>
      </xsl:template>

      <xsl:variable name="Info">
            <InsertedInfo attribute1=""/>
      </xsl:variable>

</xsl:stylesheet>


xml file:
---------
<?xml version ="1.0"?>
<Request>
</Request>


Passing the above stylesheet to XalanTransformer::compileStylesheet( )
and the xml file to XalanTransformer::transform( ) results in:

<?xml version="1.0" encoding="UTF-8"?>
<InsertedInfo/>

i.e. the Attribute attribute1 of node InsertedInfo is missing.


If, however, attribute1 contains some value, e.g. a blank

      <xsl:variable name="Info">
            <InsertedInfo attribute1=" "/>
      </xsl:variable>

the output is

<?xml version="1.0" encoding="UTF-8"?>
<InsertedInfo attribute1=" "/>

i.e. the attribute is there.


Trying the same with Xalan-J 2_2_D14, the attribute is always there, no
matter whether it's value is "" or " ".


I have to admit that I don't know whether this really is a Xalan-C or a
Xalan-J problem or rather the Xalan-C developers interpreting the XSLT
1.0 standard http://www.w3c.org/TR/xslt (especially sections 11.2 and
11.3) differently from the the Xalan-J developers. Or quite simply me
abusing xslt and/or xalan in some way.


Any clues?

Tom


PS: I'm using Xalan-C 1.3, Xerces-C 1.6 on Sun Solaris 2.6, both
compiled myself with Sun Workshop 6.2 (aka Forte 6.2).




__________________________________________________
Do You Yahoo!?
Yahoo! Sports - Coverage of the 2002 Olympic Games
http://sports.yahoo.com




Reply via email to