sboag       01/06/15 14:18:38

  Modified:    java/src/org/apache/xalan/extensions MethodResolver.java
               java/src/org/apache/xalan/templates ElemValueOf.java
               java/src/org/apache/xalan/transformer TransformerImpl.java
               java/src/org/apache/xpath/objects XNodeSet.java XObject.java
  Log:
  Fixes for tooling.
  
  Revision  Changes    Path
  1.25      +2 -2      
xml-xalan/java/src/org/apache/xalan/extensions/MethodResolver.java
  
  Index: MethodResolver.java
  ===================================================================
  RCS file: 
/home/cvs/xml-xalan/java/src/org/apache/xalan/extensions/MethodResolver.java,v
  retrieving revision 1.24
  retrieving revision 1.25
  diff -u -r1.24 -r1.25
  --- MethodResolver.java       2001/06/15 17:53:59     1.24
  +++ MethodResolver.java       2001/06/15 21:18:34     1.25
  @@ -805,13 +805,13 @@
             if ( (javaClass == NodeIterator.class) ||
                  (javaClass == java.lang.Object.class) )
             {
  -            return xobj.iter();
  +            return xobj.nodeset();
             }
             // Same comment as above
             // else if(NodeList.class.isAssignableFrom(javaClass))
             else if(javaClass == NodeList.class)
             {
  -            return xobj.mutableNodeset();
  +            return xobj.nodelist();
             }
             // Same comment as above
             // else if(Node.class.isAssignableFrom(javaClass))
  
  
  
  1.16      +1 -2      
xml-xalan/java/src/org/apache/xalan/templates/ElemValueOf.java
  
  Index: ElemValueOf.java
  ===================================================================
  RCS file: 
/home/cvs/xml-xalan/java/src/org/apache/xalan/templates/ElemValueOf.java,v
  retrieving revision 1.15
  retrieving revision 1.16
  diff -u -r1.15 -r1.16
  --- ElemValueOf.java  2001/06/12 19:15:12     1.15
  +++ ElemValueOf.java  2001/06/15 21:18:35     1.16
  @@ -266,7 +266,7 @@
           transformer.getTraceManager().fireTraceEvent(this);
   
         // Optimize for "."
  -      if (m_isDot &&!TransformerImpl.S_DEBUG)
  +      if (false && m_isDot &&!TransformerImpl.S_DEBUG)
         {
           int child = xctxt.getCurrentNode();
           DTM dtm = xctxt.getDTM(child);
  @@ -312,7 +312,6 @@
   
               transformer.getTraceManager().fireSelectedEvent(current, this,
                       "select", m_selectExpression, obj);
  -
               obj.dispatchCharactersEvents(rth);
             }
             else
  
  
  
  1.99      +2 -2      
xml-xalan/java/src/org/apache/xalan/transformer/TransformerImpl.java
  
  Index: TransformerImpl.java
  ===================================================================
  RCS file: 
/home/cvs/xml-xalan/java/src/org/apache/xalan/transformer/TransformerImpl.java,v
  retrieving revision 1.98
  retrieving revision 1.99
  diff -u -r1.98 -r1.99
  --- TransformerImpl.java      2001/06/15 05:14:10     1.98
  +++ TransformerImpl.java      2001/06/15 21:18:35     1.99
  @@ -1816,7 +1816,7 @@
       ElemTemplateElement firstChild = elem.getFirstChildElem();
       if(null == firstChild)
         return "";
  -    if(elem.hasTextLitOnly())
  +    if(elem.hasTextLitOnly() && 
org.apache.xalan.processor.TransformerFactoryImpl.m_optimize)
       {
         return ((ElemTextLiteral)firstChild).getNodeValue();
       }
  @@ -2164,7 +2164,7 @@
       if (null == t)
         return;
         
  -    if(elem.hasTextLitOnly())
  +    if(elem.hasTextLitOnly() && 
org.apache.xalan.processor.TransformerFactoryImpl.m_optimize)
       {
         char[] chars = ((ElemTextLiteral)t).getChars();
         try
  
  
  
  1.14      +37 -0     xml-xalan/java/src/org/apache/xpath/objects/XNodeSet.java
  
  Index: XNodeSet.java
  ===================================================================
  RCS file: 
/home/cvs/xml-xalan/java/src/org/apache/xpath/objects/XNodeSet.java,v
  retrieving revision 1.13
  retrieving revision 1.14
  diff -u -r1.13 -r1.14
  --- XNodeSet.java     2001/06/15 17:54:25     1.13
  +++ XNodeSet.java     2001/06/15 21:18:37     1.14
  @@ -60,6 +60,7 @@
   //import org.w3c.dom.Text;
   //import org.w3c.dom.DocumentFragment;
   import org.w3c.dom.traversal.NodeIterator;
  +import org.w3c.dom.NodeList;
   
   import org.apache.xml.dtm.DTM;
   import org.apache.xml.dtm.DTMIterator;
  @@ -205,6 +206,29 @@
     }
     
     /**
  +   * Directly call the
  +   * characters method on the passed ContentHandler for the
  +   * string-value. Multiple calls to the
  +   * ContentHandler's characters methods may well occur for a single call to
  +   * this method.
  +   *
  +   * @param ch A non-null reference to a ContentHandler.
  +   *
  +   * @throws org.xml.sax.SAXException
  +   */
  +  public void dispatchCharactersEvents(org.xml.sax.ContentHandler ch)
  +          throws org.xml.sax.SAXException
  +  {
  +    DTMIterator nl = iter();
  +    int node = nl.nextNode();
  +
  +    if(node != DTM.NULL)
  +    {
  +      m_dtmMgr.getDTM(node).dispatchCharactersEvents(node, ch, false);
  +    }
  +  }
  +  
  +  /**
      * Cast result object to an XMLString.
      *
      * @return The document fragment node data or the empty string. 
  @@ -312,6 +336,19 @@
     {
       return new org.apache.xml.dtm.ref.DTMNodeIterator(iter());
     }
  +  
  +  /**
  +   * Cast result object to a nodelist. Always issues an error.
  +   *
  +   * @return null
  +   *
  +   * @throws javax.xml.transform.TransformerException
  +   */
  +  public NodeList nodelist() throws javax.xml.transform.TransformerException
  +  {
  +    return new org.apache.xml.dtm.ref.DTMNodeList(iter());
  +  }
  +
     
   //  /**
   //   * Return a java object that's closest to the representation
  
  
  
  1.13      +18 -0     xml-xalan/java/src/org/apache/xpath/objects/XObject.java
  
  Index: XObject.java
  ===================================================================
  RCS file: /home/cvs/xml-xalan/java/src/org/apache/xpath/objects/XObject.java,v
  retrieving revision 1.12
  retrieving revision 1.13
  diff -u -r1.12 -r1.13
  --- XObject.java      2001/06/15 17:54:26     1.12
  +++ XObject.java      2001/06/15 21:18:37     1.13
  @@ -59,6 +59,7 @@
   import org.w3c.dom.DocumentFragment;
   //import org.w3c.dom.Text;
   //import org.w3c.dom.Node;
  +import org.w3c.dom.NodeList;
   import org.w3c.dom.traversal.NodeIterator;
   import org.apache.xml.dtm.DTM;
   import org.apache.xml.dtm.DTMIterator;
  @@ -456,6 +457,23 @@
   
       return null;
     }
  +  
  +  /**
  +   * Cast result object to a nodelist. Always issues an error.
  +   *
  +   * @return null
  +   *
  +   * @throws javax.xml.transform.TransformerException
  +   */
  +  public NodeList nodelist() throws javax.xml.transform.TransformerException
  +  {
  +
  +    error(XPATHErrorResources.ER_CANT_CONVERT_TO_NODELIST,
  +          new Object[]{ getTypeString() });  //"Can not convert 
"+getTypeString()+" to a NodeList!");
  +
  +    return null;
  +  }
  +
   
     /**
      * Cast result object to a nodelist. Always issues an error.
  
  
  

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

Reply via email to