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.
DOM support in XSLTC java extension

DOM support in XSLTC java extension

2003-01-24       - By Santiago Pericas-Geertsen
Reply:     1     2  

> Hi,
>
> I'm trying to port XSLTC maps with Java extensions from Saxon to XSLTC
2.4.1. I'm running into trouble with DOM use inside the extension java code.
After receiving a NodeList as a parameter of the java extension method, I
use item(0) to extract an Element object, but all I get is an
org.apache.xalan.xsltc.dom.DOMImpl$NodeImpl object with node type
ELEMENT_NODE. This class implements Node, but I need Element.
>
> Is this as expected/designed or am I doing something wrong?

Yes, that is expected. What your getting is a wrapper class that implements
the Node interface containing a single node (represented as an int by
XSLTC).

>
> I am using xsltc.jar of Xalan 2.4.1 with xalan.jar of Xalan 2.0.1; could
this be the cause? I heard that XSLTC is generally independent of Xalan, but
extensions could be an issue. Can anybody elaborate on this?
>

XSLTC implements only a subset of the extensions available in Xalan. Please
refer to:

http://xml.apache.org/xalan-j/extensions_xsltc.html

> Is there a workaround to get an Element object? I need access to various
methods in the DOM interface because we do quite a bit of navigating the DOM
tree inside the extension. I am already thinking of writing a wrapper around
the NodeImpl class implementing the Element interface, but that would get
ugly.
>

Not sure what you need from the Element interface, but it looks like you'd
need to extend this mechanism. One possible way would be to modify
DOMImpl.makeNode(int) to look at the type of the node and create an instance
of a class implementing the corresponding W3C interface. A similar change
would be needed in methods like DOMImpl.makeNodeList(). The type of the
formal argument in your extension method would be the same, but a downcast
would do the trick if this is implemented.

Hope this helps.

-- Santiago