[ http://issues.apache.org/jira/browse/XALANJ-2287?page=comments#action_12373176 ]
Brian Minchau commented on XALANJ-2287: --------------------------------------- Comments from Xalan-J triage from April 4, 2006: > Henry Z. says that Erin H. has reproduced this Xalan-J interpretive problem. > element-available failed for the extension which not actually used > ------------------------------------------------------------------ > > Key: XALANJ-2287 > URL: http://issues.apache.org/jira/browse/XALANJ-2287 > Project: XalanJ2 > Type: Bug > Components: XPath-function > Versions: 2.7 > Reporter: Stephen Suen > > The function element-available fails for the extension which is not actually > used. > Sometimes, it causes exception, and sometimes just returns false. > Here's the stylesheet caused the problem: > <?xml version="1.0" encoding="UTF-8"?> > <xsl:stylesheet > xmlns:xsl="http://www.w3.org/1999/XSL/Transform" > xmlns:redirect="http://xml.apache.org/xalan/redirect" > xmlns:xalanredirect="org.apache.xalan.xslt.extensions.Redirect" > extension-element-prefixes="xalanredirect redirect" > version="1.0"> > <xsl:template match="/"> > <xsl:message> > <xsl:text>XSL Vendor: </xsl:text> > <xsl:value-of select="system-property('xsl:vendor')"/> > </xsl:message> > <xsl:choose> > <xsl:when test="element-available('xalanredirect:write')"> > <xsl:message> > <xsl:text>xalanredirect:write available</xsl:text> > <xalanredirect:write file="dummy1.xml"/> <!-- **** --> > </xsl:message> > </xsl:when> > <xsl:otherwise> > <xsl:message> > <xsl:text>xalanredirect:write NOT available</xsl:text> > </xsl:message> > </xsl:otherwise> > </xsl:choose> > <xsl:choose> > <xsl:when test="element-available('redirect:write')"> > <xsl:message> > <xsl:text>redirect:write available</xsl:text> > </xsl:message> > <redirect:write file="dummy2.xml"/> <!-- **** --> > </xsl:when> > <xsl:otherwise> > <xsl:message> > <xsl:text>redirect:write NOT available</xsl:text> > </xsl:message> > </xsl:otherwise> > </xsl:choose> > </xsl:template> > </xsl:stylesheet> > Removing any one of the two lines indicated by <!-- **** -->, will cause > the corresponding element-available test to return false. Here's the command > line > output: > E:\xslt>SET > CLASSPATH=E:\apache\xalan-j_2_7_0\serializer.jar;E:\apache\xalan-j_2 > _7_0\xalan.jar;E:\apache\xalan-j_2_7_0\xercesImpl.jar;E:\apache\xalan-j_2_7_0\xm > l-apis.jar > E:\xslt>java -Duser.language=en org.apache.xalan.xslt.Process -in index.xml > -xsl > style.xsl > file:///E:/xslt/style.xsl; Line #10; Column #16; XSL Vendor: Apache Software > Fou > ndation > file:///E:/xslt/style.xsl; Line #17; Column #20; xalanredirect:write available > file:///E:/xslt/style.xsl; Line #36; Column #20; redirect:write NOT available > <?xml version="1.0" encoding="UTF-8"?> > If both lines are removed, transforming will fail: > E:\xslt>SET > CLASSPATH=E:\apache\xalan-j_2_7_0\serializer.jar;E:\apache\xalan-j_2 > _7_0\xalan.jar;E:\apache\xalan-j_2_7_0\xercesImpl.jar;E:\apache\xalan-j_2_7_0\xm > l-apis.jar > E:\xslt>java -Duser.language=en org.apache.xalan.xslt.Process -in index.xml > -xsl > style.xsl > file:///E:/xslt/style.xsl; Line #10; Column #16; XSL Vendor: Apache Software > Fou > ndation > file:///E:/xslt/style.xsl; Line #16; Column #63; XSLT Error > (javax.xml.transform > .TransformerException): Unknown error in XPath. > Exception in thread "main" java.lang.RuntimeException: Unknown error in XPath. > at org.apache.xalan.xslt.Process.doExit(Process.java:1153) > at org.apache.xalan.xslt.Process.main(Process.java:1126) -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
