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 <xtags:style> 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.