You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@xalan.apache.org by mm...@apache.org on 2001/02/02 19:00:37 UTC

cvs commit: xml-xalan/java/compat_src/org/apache/xalan/xslt XSLTInputSource.java XSLTResultTarget.java

mmidy       01/02/02 10:00:34

  Modified:    java/compat_src/org/apache/xalan/xslt XSLTInputSource.java
                        XSLTResultTarget.java
  Log:
  Implement some more methods for compatibility
  
  Revision  Changes    Path
  1.3       +42 -19    xml-xalan/java/compat_src/org/apache/xalan/xslt/XSLTInputSource.java
  
  Index: XSLTInputSource.java
  ===================================================================
  RCS file: /home/cvs/xml-xalan/java/compat_src/org/apache/xalan/xslt/XSLTInputSource.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- XSLTInputSource.java	2001/01/19 18:48:52	1.2
  +++ XSLTInputSource.java	2001/02/02 18:00:29	1.3
  @@ -179,10 +179,12 @@
       *        XML document or XSL stylesheet.
       * @see #XSLTInputSource(Node)
       * @see java.io.Reader
  -    *
  +    */
     public void setNode (Node node)
     {
  -    this.node = node;
  +    if (domSource == null)
  +      domSource = new DOMSource();
  +    domSource.setNode(node);
     }
   
     /**
  @@ -190,13 +192,16 @@
       *
       * @return The DOM node containing the document, or null if none was supplied.
       * @see #XSLTInputSource(Node)
  -    *
  +    */
     public Node getNode ()
     {
  -    return node;
  +    if (domSource != null)
  +      return domSource.getNode();
  +    else
  +      return null;
     }
   
  -  private Node node = null;
  +  
     
      /** 
        * Set the character encoding, if known.
  @@ -241,10 +246,12 @@
        * @param characterStream The character stream containing the
        *        XML document or other entity.
        * @see java.io.Reader
  -     *
  +     */
       public void setCharacterStream (Reader characterStream)
       {
  -	this.characterStream = characterStream;
  +      if (streamSource == null)
  +	      streamSource = new StreamSource();
  +      streamSource.setReader(characterStream);
       }
       
       
  @@ -252,22 +259,33 @@
        * Get the character stream for this input source.
        *
        * @return The character stream, or null if none was supplied.
  -     *
  +     */
       public Reader getCharacterStream ()
       {
  -	return characterStream;
  +      if (streamSource != null)
  +        return streamSource.getReader();
  +      else
  +        return null;
       }
       
  -    private Reader characterStream = null;
       
  +    
       /**
        * Set the base ID (URL or system ID) from where URLs
        * will be resolved.
        *
        * @param baseID Base URL for this.
        */
  -    public void setSystemId(String baseID) {
  -        this.baseID = baseID;
  +    public void setSystemId(String baseID) 
  +    {
  +      this.baseID = baseID;
  +      
  +      if (saxSource != null)
  +        saxSource.setSystemId(baseID);
  +      else if (domSource != null)
  +        domSource.setSystemId(baseID);
  +      else if (streamSource != null)
  +        streamSource.setSystemId(baseID);      
       }
   
       /**
  @@ -294,9 +312,12 @@
        * can be resolved.</p>
        *
        * @param inputStream A valid InputStream reference to an XML stream.
  -     *
  -    public void setInputStream(InputStream inputStream) {
  -        this.inputStream = inputStream;
  +     */
  +    public void setInputStream(InputStream inputStream) 
  +    {
  +      if (streamSource == null)
  +        streamSource = new StreamSource();
  +      streamSource.setInputStream(inputStream);
       }
   
       /**
  @@ -304,13 +325,15 @@
        *
        * @return The byte stream that was set with setByteStream, or null
        * if setByteStream or the ByteStream constructor was not called.
  -     *
  +     */
       public InputStream getInputStream() {
  -        return inputStream;
  +      if (streamSource != null)
  +        return streamSource.getInputStream();
  +      else
  +        return null;
       }
       
  -    private InputStream inputStream = null;
  -    */
  +    
        /**
        * Get the Result object associated with this XSLTResultTarget object .
        *
  
  
  
  1.3       +37 -26    xml-xalan/java/compat_src/org/apache/xalan/xslt/XSLTResultTarget.java
  
  Index: XSLTResultTarget.java
  ===================================================================
  RCS file: /home/cvs/xml-xalan/java/compat_src/org/apache/xalan/xslt/XSLTResultTarget.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- XSLTResultTarget.java	2001/01/19 18:48:53	1.2
  +++ XSLTResultTarget.java	2001/02/02 18:00:30	1.3
  @@ -84,7 +84,7 @@
   {
     
     private StreamResult sr = null;
  -  private DOMResult saxResult = null;
  +  private SAXResult saxResult = null;
     private DOMResult dr = null;
     
     
  @@ -181,9 +181,7 @@
      */
     public XSLTResultTarget(DocumentHandler handler)
     { 
  -    SAXResult saxResult = new SAXResult();
  -    if (handler instanceof ParserAdapter)
  -      saxResult.setHandler(((ParserAdapter)handler).getContentHandler());
  +    SAXResult saxResult = new SAXResult();    
       setDocumentHandler(handler);
     }
       
  @@ -194,10 +192,12 @@
      * @param fileName The system identifier as a string.
      *
      * @see #XSLTResultTarget(String)
  -   *
  +   */
     public void setFileName (String fileName) // File?
     {
  -    this.fileName = fileName;
  +    if (sr == null)
  +      sr = new StreamResult();
  +    sr.setSystemId(fileName);
     }
   
   
  @@ -255,6 +255,12 @@
     public void setDocumentHandler (DocumentHandler handler)
     {
       this.formatterListener = handler;
  +    if (handler instanceof ParserAdapter)
  +    {
  +      if (saxResult == null)
  +        saxResult = new SAXResult();
  +      saxResult.setHandler(((ParserAdapter)handler).getContentHandler());
  +    }  
     }
   
     /**
  @@ -315,9 +321,11 @@
        *
        * @param node The node to which the transformation
        * will be appended.
  -     *
  +     */
       public void setByteStream(OutputStream byteStrm) {
  -        this.byteStream = byteStrm;
  +        if (sr == null)
  +          sr = new StreamResult();
  +        sr.setOutputStream(byteStrm);
       }
   
       /**
  @@ -344,10 +352,15 @@
        * and warnings, or to resolve relative output identifiers.</p>
        *
        * @param systemId The system identifier as a URI string.
  -     *
  +     */
       public void setSystemId(String systemID)
       {
  -      systemId = systemID;
  +      if (sr != null)
  +        sr.setSystemId(systemID);
  +      else if (dr != null)
  +        dr.setSystemId(systemID);
  +      else if (saxResult != null)
  +        saxResult.setSystemId(systemID);
       }
   
       /**
  @@ -355,10 +368,17 @@
        *
        * @return The system identifier that was set with setSystemId,
        * or null if setSystemId was not called.
  -     *
  +     */
       public String getSystemId()
       {
  -      return systemId;
  +      if (sr != null)
  +        return sr.getSystemId();
  +      else if (dr != null)
  +        dr.getSystemId();
  +      else if (saxResult != null)
  +        saxResult.getSystemId();
  +      
  +      return null;
       }
       
        /**
  @@ -370,9 +390,11 @@
        * such as when using a StringWriter.
        *
        * @param writer  A valid Writer reference.
  -     *
  -    public void setWriter(Writer writer) {      
  -        this.characterStream = writer;
  +     */
  +    public void setCharacterStream(Writer writer) {      
  +      if (sr == null)
  +        sr = new StreamResult();
  +      sr.setWriter(writer);
       }
   
       /**
  @@ -387,18 +409,7 @@
         else
           return null;
       }
  -  //////////////////////////////////////////////////////////////////////
  -  // Internal state.
  -  //////////////////////////////////////////////////////////////////////
  -/*
  -  private String fileName;
  -  private OutputStream byteStream;
  -  
  -  private Writer characterStream;
  -  private Node node;
     
  -  private String systemId;
  -*/
     
       /**
        * Get the Result object associated with this XSLTResultTarget object .