You are viewing a plain text version of this content. The canonical link for it is here.
Posted to j-users@xalan.apache.org by Xiaolei Li <pr...@gmail.com> on 2005/01/29 01:53:24 UTC

Namespace error when transforming document

hi, i'm trying to apply the following XSL to documents.  it adds a
<SPAN></SPAN> tag around all text nodes.

<xsl:transform version="1.1"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
   <xsl:output method="xhtml"  omit-xml-declaration="yes"/>
   <xsl:strip-space elements="*"/>
   <xsl:template match="text()" priority="2">
      <span lx="" ly="" ux="" uy="">         
        <xsl:copy/>
     </span>       
  </xsl:template>

  <xsl:template match="node()">
      <xsl:copy>               
        <xsl:copy-of select="@*"/>
        <xsl:apply-templates/>
      </xsl:copy>             
  </xsl:template>
</xsl:transform>

the java code to do it looks like this:
                                       
    DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
    dbf.setNamespaceAware(true);                                      
    DocumentBuilder builder = dbf.newDocumentBuilder();

    Document xslDoc = builder.parse(xsl);
    DOMSource xslDomSource = new DOMSource(xslDoc);
    xslDomSource.setSystemId(xsl);

    TransformerFactory tf = TransformerFactory.newInstance();
    Transformer transformer = tf.newTransformer(xslDomSource);

    DOMSource input = new DOMSource(dom);
    input.setSystemId(url);

    DOMResult output = new DOMResult();

    transformer.transform(input, output);

the input Document is an HTML page parsed by NekoHTML.  anyway, this
code works for most pages but sometimes i get the following error:

javax.xml.transform.TransformerException: org.w3c.dom.DOMException:
NAMESPACE_ERR: An attempt is made to create or change an object in a way
which is incorrect with regard to namespaces.

this happens for www.netsol.com and some other pages i'm trying to parse.

i'm basically a newbie at this stuff so i have no idea where to look to
fix this error.  can someone help?  thank you very much.

ps. i'm using Xalan 2.6.0, Xerces 2.6.2, and Java 1.4.2_06.

-- 
Xiaolei