bodewig     2003/10/23 01:43:22

  Modified:    src/main/org/apache/tools/ant/taskdefs/optional
                        TraXLiaison.java
  Log:
  Register xmlcatalog as entity resolver for the stylesheet as well
  
  Revision  Changes    Path
  1.31      +9 -8      
ant/src/main/org/apache/tools/ant/taskdefs/optional/TraXLiaison.java
  
  Index: TraXLiaison.java
  ===================================================================
  RCS file: 
/home/cvs/ant/src/main/org/apache/tools/ant/taskdefs/optional/TraXLiaison.java,v
  retrieving revision 1.30
  retrieving revision 1.31
  diff -u -r1.30 -r1.31
  --- TraXLiaison.java  17 Sep 2003 20:11:43 -0000      1.30
  +++ TraXLiaison.java  23 Oct 2003 08:43:22 -0000      1.31
  @@ -64,6 +64,7 @@
   import java.io.OutputStream;
   import java.util.Vector;
   import java.util.Enumeration;
  +import javax.xml.parsers.ParserConfigurationException;
   import javax.xml.parsers.SAXParserFactory;
   import javax.xml.transform.ErrorListener;
   import javax.xml.transform.Source;
  @@ -86,6 +87,7 @@
   import org.apache.tools.ant.util.JAXPUtils;
   import org.xml.sax.EntityResolver;
   import org.xml.sax.InputSource;
  +import org.xml.sax.SAXException;
   import org.xml.sax.XMLReader;
   
   /**
  @@ -199,7 +201,8 @@
        * @return the configured source instance matching the stylesheet.
        * @throws Exception if there is a problem creating the source.
        */
  -    private Source getSource(InputStream is, File infile) throws Exception {
  +    private Source getSource(InputStream is, File infile) 
  +        throws ParserConfigurationException, SAXException {
           // todo: is this comment still relevant ??
           // FIXME: need to use a SAXSource as the source for the transform
           // so we can plug in our own entity resolver
  @@ -216,6 +219,8 @@
                       + "parser doesn't support SAX");
               }
           } else {
  +            // WARN: Don't use the StreamSource(File) ctor. It won't work 
with
  +            // xalan prior to 2.2 because of systemid bugs.
               src = new StreamSource(is);
           }
           src.setSystemId(JAXPUtils.getSystemId(infile));
  @@ -226,9 +231,8 @@
        * Read in templates from the stylesheet
        */
       private void readTemplates()
  -        throws IOException, TransformerConfigurationException {
  -        // WARN: Don't use the StreamSource(File) ctor. It won't work with
  -        // xalan prior to 2.2 because of systemid bugs.
  +        throws IOException, TransformerConfigurationException, 
  +               ParserConfigurationException, SAXException {
   
           // Use a stream so that you can close it yourself quickly
           // and avoid keeping the handle until the object is garbaged.
  @@ -239,10 +243,7 @@
               xslStream
                   = new BufferedInputStream(new FileInputStream(stylesheet));
               templatesModTime = stylesheet.lastModified();
  -            StreamSource src = new StreamSource(xslStream);
  -            // Always set the systemid to the source for imports, includes...
  -            // in xsl and xml...
  -            src.setSystemId(JAXPUtils.getSystemId(stylesheet));
  +            Source src = getSource(xslStream, stylesheet);
               templates = getFactory().newTemplates(src);
           } finally {
               if (xslStream != null) {
  
  
  

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

Reply via email to