You are viewing a plain text version of this content. The canonical link for it is here.
Posted to c-users@xalan.apache.org by Vítězslav Košina <ko...@printsoft.cz> on 2004/10/25 12:46:01 UTC

Xalan warn.

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1


Hello,

when I use Xalan C++ 1.8 on Linux, Xalan give me this warning:
XSLT warning: Invalid argument type in the EXSLT function 'node-set()', source tree node: service (file:///home/Vitek/xalan-warn/services.xsl, line 35, column 92)

cmd version:
Xalan ciselniky.xml services.xsl 

when I use xsltproc, everything is OK.

What is bad? 
Thank you

Vitezslav Kosina

services.xsl:

<?xml version="1.0"?>

<!DOCTYPE xsl:stylesheet [
  <!ENTITY TAB '<xsl:text xmlns:xsl="http://www.w3.org/1999/XSL/Transform">&#9;</xsl:text>'>
  <!ENTITY NL '<xsl:text xmlns:xsl="http://www.w3.org/1999/XSL/Transform">&#10;</xsl:text>'>
]>

<xsl:stylesheet xmlns:exslt="http://exslt.org/common"
  xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
  xmlns:exsl="http://exslt.org/common"
  xmlns:myad="http://www.printsoft.cz/data"
  xmlns:xsll="http://www.w3.org/1999/XSL/Transform"
  xmlns:xslo="http://www.w3.org/1999/XSL/TransformAlias" version="1.0">
  <xsl:param name="LAN"/>
  <xsl:output method="text" indent="yes" encoding="utf-8"/>

        <xsl:strip-space elements="*"/>

        <xsl:namespace-alias stylesheet-prefix="xslo" result-prefix="xsl"/>

        <xsl:variable name="dataRoot" select="/"/>

        <xsl:template match="*"/>


        <xsl:template match="/">


                <xsl:for-each select="/ciselniky/services/service">

                        <xsl:text>"</xsl:text>
                        <xsl:value-of select="./group"/>
                        <xsl:variable name="currG" select="group"/>
                        <xsl:text>","</xsl:text>
                        <xsl:value-of select="exsl:node-set($dataRoot)/ciselniky/groups/group[id=$currG]/name"/>
                        <xsl:text>"</xsl:text>
                        <xsl:text>&#10;</xsl:text>
                </xsl:for-each>
        </xsl:template>

</xsl:stylesheet>


ciselniky.xml:
<?xml version="1.0" encoding="UTF-8"?>
<ciselniky xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<groups>
<group>
<id>030</id>
<name>Information</name>
</group>
</groups>
<services>
<service>
<group>030</group>
<entry>0020</entry>
</service>
</services>
</ciselniky>


-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.0.7 (GNU/Linux)

iD8DBQFBfNlpN4NXdumRQpERAr7cAJ9vKWmfA+3LfICTL8vbkF+X2I6FuQCfR8kw
qNAxdiIBDC8Pkdwp3/o3Yk8=
=Z6XT
-----END PGP SIGNATURE-----


Re: Xalan warn.

Posted by da...@us.ibm.com.
> Hello,
> 
> when I use Xalan C++ 1.8 on Linux, Xalan give me this warning:
> XSLT warning: Invalid argument type in the EXSLT function
> 'node-set()', source tree node: service
> (file:///home/Vitek/xalan-warn/services.xsl, line 35, column 92)
> 
> cmd version:
> Xalan ciselniky.xml services.xsl 

Xalan-C is simply warning you that you are using the node-set extension 
function on something that is already a node-set, so you're wasting cycles 
calling the function.

> 
> when I use xsltproc, everything is OK.
>

I assume you mean that everything is also "OK" with Xalan-C, except that's 
it's warning you you're doing something unnecessary.

Dave