You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@xalan.apache.org by sb...@locus.apache.org on 2000/06/24 20:31:59 UTC

cvs commit: xml-xalan/java/src/org/apache/xalan/processor ProcessorImport.java ProcessorInclude.java StylesheetHandler.java XSLTAttributeDef.java

sboag       00/06/24 11:31:59

  Modified:    java/src/org/apache/xalan/processor ProcessorImport.java
                        ProcessorInclude.java StylesheetHandler.java
                        XSLTAttributeDef.java
  Log:
  Fixed some stuff pertaining to xsl:import.
  
  Revision  Changes    Path
  1.2       +14 -7     xml-xalan/java/src/org/apache/xalan/processor/ProcessorImport.java
  
  Index: ProcessorImport.java
  ===================================================================
  RCS file: /home/cvs/xml-xalan/java/src/org/apache/xalan/processor/ProcessorImport.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- ProcessorImport.java	2000/06/19 16:52:06	1.1
  +++ ProcessorImport.java	2000/06/24 18:31:58	1.2
  @@ -63,6 +63,7 @@
   import org.xml.sax.SAXException;
   import org.xml.sax.Attributes;
   import org.xml.sax.XMLReader;
  +import org.xml.sax.helpers.XMLReaderFactory;
   import java.net.URL;
   import java.io.IOException;
   
  @@ -103,7 +104,7 @@
     {
       setPropertiesFromAttributes(handler, rawName, attributes, this);
   
  -    URL hrefUrl = getHref();
  +    String hrefUrl = getHref();
       if(handler.importStackContains(hrefUrl))
       {
         throw new SAXException(XSLMessages.createMessage(XSLTErrorResources.ER_IMPORTING_ITSELF, new Object[] {hrefUrl})); //"(StylesheetHandler) "+hrefUrl+" is directly or indirectly importing itself!");
  @@ -116,12 +117,18 @@
       try
       {
         XMLReader reader = handler.getStylesheetProcessor().getXMLReader();
  -      
  -      Class readerClass = ((Object)reader).getClass();
  -      XMLReader clonedReader = (XMLReader)readerClass.newInstance();
  -      
  -      clonedReader.setContentHandler(handler);
  -      clonedReader.parse(getHref().toExternalForm());
  +      if(null == reader)
  +      {
  +        reader = XMLReaderFactory.createXMLReader();
  +      }
  +      else
  +      {
  +        Class readerClass = ((Object)reader).getClass();
  +        reader = (XMLReader)readerClass.newInstance();
  +      }
  +            
  +      reader.setContentHandler(handler);
  +      reader.parse(getHref());
   
       }
       catch(InstantiationException ie)
  
  
  
  1.2       +16 -8     xml-xalan/java/src/org/apache/xalan/processor/ProcessorInclude.java
  
  Index: ProcessorInclude.java
  ===================================================================
  RCS file: /home/cvs/xml-xalan/java/src/org/apache/xalan/processor/ProcessorInclude.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- ProcessorInclude.java	2000/06/19 16:52:06	1.1
  +++ ProcessorInclude.java	2000/06/24 18:31:58	1.2
  @@ -64,6 +64,7 @@
   import org.xml.sax.XMLReader;
   import java.net.URL;
   import java.io.IOException;
  +import org.xml.sax.helpers.XMLReaderFactory;
   
   /**
    * Processor class for xsl:include markup.
  @@ -76,12 +77,12 @@
      * The base URL of the XSL document.
      * @serial
      */
  -  private URL m_href = null;
  +  private String m_href = null;
   
     /**
      * Get the base identifier with which this stylesheet is associated.
      */
  -  URL getHref()
  +  public String getHref()
     {
       return m_href;
     }
  @@ -89,7 +90,7 @@
     /**
      * Get the base identifier with which this stylesheet is associated.
      */
  -  void setHref(URL baseIdent)
  +  public void setHref(String baseIdent)
     {
       m_href = baseIdent;
     }
  @@ -130,12 +131,19 @@
       try
       {
         XMLReader reader = handler.getStylesheetProcessor().getXMLReader();
  -      
  -      Class readerClass = ((Object)reader).getClass();
  -      XMLReader clonedReader = (XMLReader)readerClass.newInstance();
  +
  +      if(null == reader)
  +      {
  +        reader = XMLReaderFactory.createXMLReader();
  +      }
  +      else
  +      {
  +        Class readerClass = ((Object)reader).getClass();
  +        reader = (XMLReader)readerClass.newInstance();
  +      }
         
  -      clonedReader.setContentHandler(handler);
  -      clonedReader.parse(getHref().toExternalForm());
  +      reader.setContentHandler(handler);
  +      reader.parse(getHref());
       }
       catch(InstantiationException ie)
       {
  
  
  
  1.2       +8 -8      xml-xalan/java/src/org/apache/xalan/processor/StylesheetHandler.java
  
  Index: StylesheetHandler.java
  ===================================================================
  RCS file: /home/cvs/xml-xalan/java/src/org/apache/xalan/processor/StylesheetHandler.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- StylesheetHandler.java	2000/06/19 16:52:14	1.1
  +++ StylesheetHandler.java	2000/06/24 18:31:58	1.2
  @@ -146,7 +146,7 @@
       // Set the initial content handler.
       m_processors.push(m_schema.getElementProcessor());
       
  -    // m_includeStack.push(SystemIDResolver.getURLFromString(this.getBaseIdentifier(), null));
  +    // m_includeStack.push(SystemIDResolver.getAbsoluteURI(this.getBaseIdentifier(), null));
       // initXPath(processor, null);
     }
   
  @@ -211,14 +211,14 @@
     /**
      * Test to see if the stack contains the given URL.
      */
  -  private boolean stackContains(Stack stack, URL url)
  +  private boolean stackContains(Stack stack, String url)
     {
       int n = stack.size();
       boolean contains = false;
       for(int i = 0; i < n; i++)
       {
  -      URL url2 = (URL)stack.elementAt(i);
  -      if(url2.toString().equals(url.toString()))
  +      String url2 = (String)stack.elementAt(i);
  +      if(url2.equals(url))
         {
           contains = true;
           break;
  @@ -955,7 +955,7 @@
     /**
      * Push an import href onto the stylesheet stack.
      */
  -  void pushImportURL(URL hrefUrl)
  +  void pushImportURL(String hrefUrl)
     {
       m_importStack.push(hrefUrl);
     }
  @@ -964,7 +964,7 @@
      * See if the imported stylesheet stack already contains 
      * the given URL.
      */
  -  boolean importStackContains(URL hrefUrl)
  +  boolean importStackContains(String hrefUrl)
     {
       return stackContains(m_importStack, hrefUrl);
     }
  @@ -972,9 +972,9 @@
     /**
      * Pop an import href from the stylesheet stack.
      */
  -  URL popImportURL()
  +  String popImportURL()
     {
  -    return (URL)m_importStack.pop();
  +    return (String)m_importStack.pop();
     }
   
     
  
  
  
  1.2       +2 -3      xml-xalan/java/src/org/apache/xalan/processor/XSLTAttributeDef.java
  
  Index: XSLTAttributeDef.java
  ===================================================================
  RCS file: /home/cvs/xml-xalan/java/src/org/apache/xalan/processor/XSLTAttributeDef.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- XSLTAttributeDef.java	2000/06/19 16:52:14	1.1
  +++ XSLTAttributeDef.java	2000/06/24 18:31:58	1.2
  @@ -64,7 +64,6 @@
   import java.lang.reflect.InvocationTargetException;
   import java.lang.reflect.Method;
   import java.lang.StringBuffer;
  -import java.net.URL;
   import java.util.StringTokenizer;
   import java.util.Vector;
   import org.apache.xalan.templates.AVT;
  @@ -504,12 +503,12 @@
      * Process an attribute string of type T_URL into 
      * a URL value.
      */
  -  URL processURL(StylesheetHandler handler,
  +  String processURL(StylesheetHandler handler,
                       String uri, String name,
                       String rawName, String value)
       throws SAXException
     {
  -    return SystemIDResolver.getURLFromString(value, 
  +    return SystemIDResolver.getAbsoluteURI(value, 
                                                handler.getBaseIdentifier());
     }