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 2002/07/11 01:45:54 UTC

DO NOT REPLY [Bug 10668] New: - XSLTC: TemplatesHandlerImpl.setLocator() incorrectly retrieves System Id

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=10668>.
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=10668

XSLTC: TemplatesHandlerImpl.setLocator() incorrectly retrieves System Id

           Summary: XSLTC: TemplatesHandlerImpl.setLocator() incorrectly
                    retrieves System Id
           Product: XalanJ2
           Version: CurrentCVS
          Platform: Other
        OS/Version: Other
            Status: NEW
          Severity: Normal
          Priority: Other
         Component: org.apache.xalan.xsltc
        AssignedTo: xalan-dev@xml.apache.org
        ReportedBy: erik@bruchez.org


The System ID is retrieved from the Locator object right when
setDocumentLocator() is called on TemplatesHandlerImpl:

  setSystemId(locator.getSystemId());

This is a problem for example when the source of the sax events is a DOMSource.
In that case, a TreeWalker walks the DOM and generates sax events. The issue is
that org.apache.xml.utils.TreeWalker sets the Locator on the ContentHandler
before setting the System ID on the Locator (which I think is ok behavior). At
that point, TemplatesHandlerImpl has already consumed a null System ID. This
means that if one uses an identity transformation to create a Templates using a
DOMSource and a TemplatesHandler, the latter won't have the right System ID set.

This sounds easy enough to fix. The regular Xalan implementation does not have
this bug.