jstrachan    01/09/26 00:53:32

  Modified:    xtags/src/org/apache/taglibs/xtags/xslt StyleTag.java
               xtags/xml xtags.xml
  Log:
  Applied patch submitted by Brian De Vries for the style tag which passes a 
URIResolver into the JAXP TransformerFactory for resolving URIs and URLs properly 
within the web context
  
  Revision  Changes    Path
  1.6       +19 -1     
jakarta-taglibs/xtags/src/org/apache/taglibs/xtags/xslt/StyleTag.java
  
  Index: StyleTag.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-taglibs/xtags/src/org/apache/taglibs/xtags/xslt/StyleTag.java,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- StyleTag.java     2001/08/17 16:28:37     1.5
  +++ StyleTag.java     2001/09/26 07:53:32     1.6
  @@ -84,6 +84,7 @@
   import javax.xml.transform.Transformer;
   import javax.xml.transform.TransformerException;
   import javax.xml.transform.TransformerFactory;
  +import javax.xml.transform.URIResolver;
   import javax.xml.transform.dom.DOMResult;
   import javax.xml.transform.dom.DOMSource;
   import javax.xml.transform.sax.SAXResult;
  @@ -192,6 +193,7 @@
           // Use JAXP to perform the stylesheet
           try {
               TransformerFactory factory = TransformerFactory.newInstance();
  +            factory.setURIResolver( createURIResolver() );
               Transformer transformer = factory.newTransformer(style);
               configure(transformer);
               transformer.transform( data, result );
  @@ -211,7 +213,7 @@
        return EVAL_PAGE;
       }
   
  -
  +    
       /**
        * Release any allocated resources.
        */
  @@ -367,6 +369,22 @@
           return result;
       }
       
  +    /** Creates a URI resolver capable of resolving URIs when used in XSLT includes 
or imports */
  +    protected URIResolver createURIResolver() {
  +        return new URIResolver() {
  +            public Source resolve(String href, String base)
  +               throws TransformerException {
  +                try {
  +                    return getSource(href);
  +                }
  +                catch(javax.servlet.jsp.JspException e) {
  +                    return null;
  +                }
  +            }
  +
  +        };
  +    }
  +
       /** Handles non-JspExceptions thrown in this instance
         */
       protected void handleException( Exception e ) throws JspException {
  
  
  
  1.13      +8 -0      jakarta-taglibs/xtags/xml/xtags.xml
  
  Index: xtags.xml
  ===================================================================
  RCS file: /home/cvs/jakarta-taglibs/xtags/xml/xtags.xml,v
  retrieving revision 1.12
  retrieving revision 1.13
  diff -u -r1.12 -r1.13
  --- xtags.xml 2001/08/31 13:36:49     1.12
  +++ xtags.xml 2001/09/26 07:53:32     1.13
  @@ -1325,6 +1325,14 @@
     </tagtoc>
   </taglib>
   
  +<revision release="Patches" date="09/26/2001">
  +  <description>
  +    Applied patch submitted by Brian De Vries for the &lt;xtags:style&gt; tag
  +    which passes a URIResolver into the JAXP TransformerFactory for
  +    resolving URIs and URLs properly within the web context.
  +  </description>
  +</revision>
  +
   <revision release="Patches" date="08/19/2001">
     <description>
       A number of minor patches and new tags were applied.
  
  
  

Reply via email to