ilene       2003/06/17 12:29:43

  Modified:    java/src/org/apache/xalan/xsltc/trax TransformerImpl.java
  Log:
  Patch for bugzilla #15828.
  
  Arguments to URIResolver.resolve method for document function, in XSLTC are now
  
  href: argument passed to document function
  base: URI of stylesheet
  
  Revision  Changes    Path
  1.68      +12 -7     
xml-xalan/java/src/org/apache/xalan/xsltc/trax/TransformerImpl.java
  
  Index: TransformerImpl.java
  ===================================================================
  RCS file: 
/home/cvs/xml-xalan/java/src/org/apache/xalan/xsltc/trax/TransformerImpl.java,v
  retrieving revision 1.67
  retrieving revision 1.68
  diff -u -r1.67 -r1.68
  --- TransformerImpl.java      17 Jun 2003 19:26:12 -0000      1.67
  +++ TransformerImpl.java      17 Jun 2003 19:29:43 -0000      1.68
  @@ -426,7 +426,7 @@
       /**
        * Builds an internal DOM from a TrAX Source object
        */
  -    private DOM getDOM(Source source, int mask)
  +    private DOM getDOM(Source source)
        throws TransformerException {
        try {
            DOM dom = null;
  @@ -442,7 +442,7 @@
                                                         : false;
            // Get systemId from source
            if (source != null) {
  -             _sourceSystemId = source.getSystemId();
  +                _sourceSystemId = source.getSystemId();
            }
   
            if (source instanceof SAXSource) {
  @@ -652,7 +652,7 @@
                transformIdentity(source, handler);
            }
            else {
  -             _translet.transform(getDOM(source, 0), handler);
  +             _translet.transform(getDOM(source), handler);
            }
        }
        catch (TransletException e) {
  @@ -1141,13 +1141,18 @@
        * DOMCache interface. This approach is simple, but removes the
        * possibility of using external document caches with XSLTC.
        *
  -     * @param uri  An URI pointing to the document location
  -     * @param mask Contains a document ID (passed from the translet)
  +     * @param baseURI The URI for the stylesheet
  +     * @param href The href argument passed to the document function.
        * @param translet A reference to the translet requesting the document
        */
  -    public DOM retrieveDocument(String uri, int mask, Translet translet) {
  +    public DOM retrieveDocument(String baseURI, String href, Translet translet) {
        try {
  -         return getDOM(_uriResolver.resolve(uri, _sourceSystemId), mask);
  +        
  +        // Argument to document function was: document('');
  +        if (href.length() == 0) {
  +            href = new String(baseURI);
  +        }    
  +         return getDOM(_uriResolver.resolve(href, baseURI));
        }
        catch (TransformerException e) {
            if (_errorListener != null)
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to