Oleg Tkachenko wrote:
Michael Pediaditakis wrote:
I have a proble in processing stylesheets that have been pre-parsed
to DOM trees.
Specifically, think of an xslt portion such as:
1<xsl:stylesheet xmlns:n = "uri:aNamespace" ...>
....
2 <xsl:template match="n:anElement">
....
3 <n:anotherElement>
...
4 </n:anotherElement>
....
5 </xsl:template>
6 </xsl:stylesheet>
When this is parsed, the prefix information is lost in the DOM tree
(or at least is not directly accessible - DOM-2).
When I try to apply this stylesheet (xalan), it complains that "n" is
not associate to a namespace in line 2.
afaik, namespace support in DOM is optional. Are sure your DOM object
is namespace-aware? See
http://java.sun.com/xml/jaxp/dist/1.1/docs/api/javax/xml/parsers/DocumentBuilderFactory.html#setNamespaceAware(boolean)
It is, since the namespaces are parsed normally (e.g. when I call
getNamespaceURI for e.g. element in line 3 i get the "uri:aNamespace".
However, the namespace prefixes in attributes are a totally different
thing. I think there is a "resolve" DOM method in DOM-3 which maps
from namespace prefixes to namespaces URIs.. but most DOM
implementations (as well the XSL-T transformer) do not support this)
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list