mkwan       2003/02/11 11:17:19

  Modified:    java/src/org/apache/xalan/xsltc/dom Tag: XSLTC_DTM
                        XSLTCDTMManager.java
               java/src/org/apache/xml/dtm/ref/sax2dtm Tag: XSLTC_DTM
                        SAX2DTM2.java
  Added:       java/src/org/apache/xml/utils Tag: XSLTC_DTM
                        XMLStringDefault.java XMLStringFactoryDefault.java
  Log:
  Provide default implementations of XMLString and XMLStringFactory in 
org.apache.xml.utils.
  The default implementation is just a simple wrapper around a real String 
object.
  Although SAX2DTM2 no longer uses XMLString right now, some extensions and 
DOMImpl still
  make use of XMLStrings, which we do not want to change at the moment. This 
seems to
  be a better solution of removing the XPath dependency while keeping the 
semantics
  of all existing interfaces.
  
  Revision  Changes    Path
  No                   revision
  
  
  No                   revision
  
  
  1.1.2.9   +9 -6      
xml-xalan/java/src/org/apache/xalan/xsltc/dom/Attic/XSLTCDTMManager.java
  
  Index: XSLTCDTMManager.java
  ===================================================================
  RCS file: 
/home/cvs/xml-xalan/java/src/org/apache/xalan/xsltc/dom/Attic/XSLTCDTMManager.java,v
  retrieving revision 1.1.2.8
  retrieving revision 1.1.2.9
  diff -u -r1.1.2.8 -r1.1.2.9
  --- XSLTCDTMManager.java      10 Feb 2003 19:36:45 -0000      1.1.2.8
  +++ XSLTCDTMManager.java      11 Feb 2003 19:17:18 -0000      1.1.2.9
  @@ -73,6 +73,7 @@
   import org.apache.xml.res.XMLMessages;
   import org.apache.xml.utils.SystemIDResolver;
   import org.apache.xml.utils.XMLStringFactory;
  +import org.apache.xml.utils.XMLStringFactoryDefault;
   
   import org.xml.sax.InputSource;
   import org.xml.sax.SAXNotRecognizedException;
  @@ -112,7 +113,9 @@
      */
     public static DTMManager newInstance()
     {
  -    return new XSLTCDTMManager();
  +    DTMManager factoryImpl = new XSLTCDTMManager();
  +    factoryImpl.setXMLStringFactory(new XMLStringFactoryDefault());
  +    return factoryImpl;
       
       /*
       String classname =  defaultClassName;
  @@ -247,7 +250,7 @@
                         " source: "+source.getSystemId()
                         );
   
  -    // XMLStringFactory xstringFactory = m_xsf;
  +    XMLStringFactory xstringFactory = m_xsf;
       int dtmPos = getFirstFreeDTMID();
       int documentID = dtmPos << IDENT_DTM_NODE_BITS;
   
  @@ -257,10 +260,10 @@
   
         if (size <= 0) {
           dtm = new DOMImpl(this, (DOMSource) source, documentID,
  -                          whiteSpaceFilter, null, doIndexing);
  +                          whiteSpaceFilter, xstringFactory, doIndexing);
         } else {
           dtm = new DOMImpl(this, (DOMSource) source, documentID,
  -                          whiteSpaceFilter, null, doIndexing, size);
  +                          whiteSpaceFilter, xstringFactory, doIndexing, 
size);
         }
   
         addDTM(dtm, dtmPos);
  @@ -320,10 +323,10 @@
           SAXImpl dtm;
           if (size <= 0) {
             dtm = new SAXImpl(this, source, documentID, whiteSpaceFilter,
  -                            null, doIndexing);
  +                            xstringFactory, doIndexing);
           } else {
             dtm = new SAXImpl(this, source, documentID, whiteSpaceFilter,
  -                            null, doIndexing, size);
  +                            xstringFactory, doIndexing, size);
           }
   
           // Go ahead and add the DTM to the lookup table.  This needs to be
  
  
  
  No                   revision
  
  
  No                   revision
  
  
  1.1.2.7   +20 -0     
xml-xalan/java/src/org/apache/xml/dtm/ref/sax2dtm/Attic/SAX2DTM2.java
  
  Index: SAX2DTM2.java
  ===================================================================
  RCS file: 
/home/cvs/xml-xalan/java/src/org/apache/xml/dtm/ref/sax2dtm/Attic/SAX2DTM2.java,v
  retrieving revision 1.1.2.6
  retrieving revision 1.1.2.7
  diff -u -r1.1.2.6 -r1.1.2.7
  --- SAX2DTM2.java     5 Feb 2003 16:37:11 -0000       1.1.2.6
  +++ SAX2DTM2.java     11 Feb 2003 19:17:18 -0000      1.1.2.7
  @@ -58,6 +58,7 @@
   
   import org.apache.xml.dtm.*;
   import org.apache.xml.dtm.ref.*;
  +import org.apache.xml.utils.XMLString;
   import org.apache.xml.utils.XMLStringFactory;
   import org.apache.xml.res.XMLMessages;
   import org.apache.xml.res.XMLErrorResources;
  @@ -2056,6 +2057,25 @@
   
         return m_valuesOrPrefixes.indexToString(qnameIndex);
       }
  +  }
  +
  +  /**
  +   * Override SAX2DTM.getStringValue(int)
  +   *
  +   * This implementation just calls getStringValueX(int) and creates
  +   * a XMLString wrapper from the returned String.
  +   *
  +   * Get the string-value of a node as a String object
  +   * (see http://www.w3.org/TR/xpath#data-model
  +   * for the definition of a node's string-value).
  +   *
  +   * @param nodeHandle The node ID.
  +   *
  +   * @return A string object that represents the string-value of the given 
node.
  +   */
  +  public XMLString getStringValue(int nodeHandle)
  +  {
  +    return m_xstrf.newstr(getStringValueX(nodeHandle));
     }
     
     /**
  
  
  
  No                   revision
  
  
  No                   revision
  
  
  1.1.2.1   +838 -0    
xml-xalan/java/src/org/apache/xml/utils/Attic/XMLStringDefault.java
  
  
  
  
  1.1.2.1   +120 -0    
xml-xalan/java/src/org/apache/xml/utils/Attic/XMLStringFactoryDefault.java
  
  
  
  

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

Reply via email to