Subjects
Home
Xalan extension functions
Fomatting question serializing DOM with pretty print
xalan with pull parser
Cannot find the declaration
Apache Xalan drop support to run on JRE 1 1 x
Why does Doctype change processing of a document
Node set to XML string via Java extensions in Xalan J: possible?
Templates/Transformers + thread safety???
Problem evaluating xpath with muliple prefix with different namespace
remove an arbitrary attribute from xsl output
Xalan3 XSLT 2 0 XPath 2 0 support?
Problem using compiled translets with Xalan !!
Xalan and jstl 1 1 problem with transform tag
NullPointer in DOM2DTM getLocalName
URIResolvers base parameter with xsltc and cascaded imports
Performance problem for Xalan J on intel dual core
Standard libraries in JAXP?
Serializing a DOM tree to XML file, customize entities replacement
Library Conflict Involving BCEL Library
A question on how users are using <xsl:message >
Kevin Cormier as a new Apache Xalan J committer
Struggling to iterate over tokenized string
Xalan count() trouble
Problem with recursive xpath
Error when switching to java 1 5
document( ' ')
Problem with Xalan2 7 0 transformation
cr/lf options
entity encoded XML
can xalan transform 2 xml using one xslt?
Xalan J JIRA defect review Monday October 16, 2006 from 2:00 to 3:30 pm ED
xsl transform with cdata section elements
xslt parameters not expanded
Weird behavior of XPath evaluate()
How to avoid <xsl:message > instruction prints stylesheet file informations ?
Cannot find SimpleTransform subdirectory after installing Xalan J
recover from document not found exceptions
jdk1 5 and Xalan jar differences?
Performance Issue
Error/Bug adding floating point numbers
XPathAPI: eval exp using nodes with default namespace
modifying xalan to output invalid XML
NullPointerException
mege two separate xml nodes into one
Is this a XALAN document identification bug?
is StylesheetRoot really java io Serializable ?
transform() fails for DOMSource but succeeds for StreamSource
Thoughts on Transformer parameter passing
HELP, Xalan and jstl 1 1 problem with transformer
Problem with XPath namespace axis?
string utils:replace deleting search string if replacement string is an HTML
help with enumeration values pls
xalan 2 5 1 vs 2 7 performance question
How to insert/update in XML document
HTML Serialization and Handling of Ampersands in HREF Attributes
XHTML link tag stripping
SystemId Unknown; Line #24; Column #49; java lang NullPointerException
xpath text() help
Apostrophe problem with xalan 2 7 0
How to set variables in XML document?
Links
Home
Oracle database error code ...
 
Search:  
Power your search with and, or, +, -, or "some phrase" operators.
element-available failed for the extension which not actually used

element-available failed for the extension which not actually used

2006-03-30       - By Stephen Suen
Reply:     1     2  

Function element-available failed for the extension which not actually used.
Sometimes, it causes NullPointerException, 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 fail. Here's the command line:

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 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)

I'm using jdk1.5.0_04 with xalan-j_2_7_0.

Is this a bug of Xalan?  I searched the bug database, but nothing
found about this.
Should I report it?

--
Stephen Suen
stephen.suen@(protected)