You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@xalan.apache.org by bu...@apache.org on 2003/10/22 11:13:20 UTC

DO NOT REPLY [Bug 23995] New: - problem setting URIResolver on Transformer

DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG 
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
<http://nagoya.apache.org/bugzilla/show_bug.cgi?id=23995>.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND 
INSERTED IN THE BUG DATABASE.

http://nagoya.apache.org/bugzilla/show_bug.cgi?id=23995

problem setting URIResolver on Transformer

           Summary: problem setting URIResolver on Transformer
           Product: XalanJ2
           Version: CurrentCVS
          Platform: PC
               URL: http://www.koberg.com/test_xalan.zip
        OS/Version: Windows XP
            Status: NEW
          Severity: Blocker
          Priority: Other
         Component: org.apache.xalan.xsltc
        AssignedTo: xalan-dev@xml.apache.org
        ReportedBy: rob@koberg.com


Overview:
---------
Also see: http://marc.theaimsgroup.com/?l=xalan-dev&m=106639517507239&w=2

Setting two URIResolvers (one on the Factory and one on the Transformer) for a 
single transformation works in interpretive processors but not XSLTC. The 
attached class (with source) was run with xalan interpretive, saxon 6.5.3 and 
then XSLTC. All transformation worked except for XSLTC. It seems to fail when 
trying to resolve XSL document() with the resolver set on the Transformer 
object. The resolver set on Factory seems to resolve the xsl:include.

Results
---------
xalan interpretive:
$ java -
Djavax.xml.transform.TransformerFactory=org.apache.xalan.processor.TransformerFa
ctoryImpl TestXsltc
IncludeResolver href: include
<html>
<head>
<META http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Test XSL</title>
</head>
<body>
<div>The param is:</div>
<div>boo</div>DocumentResolver href: document

<div>This should show because document resolved and used the include xsl.</div>
</body>
</html>

...ooo...

saxon:
$ java -
Djavax.xml.transform.TransformerFactory=com.icl.saxon.TransformerFactoryImpl 
TestXsltc
IncludeResolver href: include
DocumentResolver href: document
<html>
   <head>
      <meta http-equiv="Content-Type" content="text/html; charset=utf-8">

      <title>Test XSL</title>
   </head>
   <body>
      <div>The param is:</div>
      <div>boo</div>
      <div>This should show because document resolved and used the include 
xsl.</div>
   </body>
</html>

...ooo...

XSLTC:
$ java -
Djavax.xml.transform.TransformerFactory=org.apache.xalan.xsltc.trax.TransformerF
actoryImpl TestXsltc
IncludeResolver href: include
Exception in thread "main" java.lang.NoSuchMethodError: 
org.apache.xml.dtm.ref.sax2dtm.SAX2DTM.<init>(Lorg/apache/xml/dt
m/DTMManager;Ljavax/xml/transform/Source;ILorg/apache/xml/dtm/DTMWSFilter;Lorg/a
pache/xml/utils/XMLStringFactory;ZIZZ)V
        at org.apache.xml.dtm.ref.sax2dtm.SAX2DTM2.<init>(SAX2DTM2.java:1901)
        at org.apache.xalan.xsltc.dom.SAXImpl.<init>(SAXImpl.java:716)
        at org.apache.xalan.xsltc.dom.XSLTCDTMManager.getDTM
(XSLTCDTMManager.java:367)
        at org.apache.xalan.xsltc.dom.XSLTCDTMManager.getDTM
(XSLTCDTMManager.java:175)
        at org.apache.xalan.xsltc.trax.TransformerImpl.getDOM
(TransformerImpl.java:531)
        at org.apache.xalan.xsltc.trax.TransformerImpl.transform
(TransformerImpl.java:702)
        at org.apache.xalan.xsltc.trax.TransformerImpl.transform
(TransformerImpl.java:307)
        at TestXsltc.<init>(TestXsltc.java:46)
        at TestXsltc.main(TestXsltc.java:65)