mmidy       2002/10/28 08:17:34

  Modified:    java/src/org/apache/xpath Tag: xslt20 SourceTreeManager.java
               java/src/org/apache/xpath/functions Tag: xslt20
                        FuncBoolean.java
               java/src/org/apache/xpath/parser Tag: xslt20 SimpleNode.java
               java/src/org/apache/xpath/res Tag: xslt20
                        XPATHErrorResources.java
                        XPATHErrorResources.properties
  Added:       java/src/org/apache/xpath/functions Tag: xslt20
                        FuncCollection.java FuncConcatenate.java
                        FuncIfAbsent.java FuncIfEmpty.java FuncRoot.java
  Log:
  New functions. Note, they are very unstable!
  
  Revision  Changes    Path
  No                   revision
  
  
  No                   revision
  
  
  1.30.10.1 +26 -0     xml-xalan/java/src/org/apache/xpath/SourceTreeManager.java
  
  Index: SourceTreeManager.java
  ===================================================================
  RCS file: /home/cvs/xml-xalan/java/src/org/apache/xpath/SourceTreeManager.java,v
  retrieving revision 1.30
  retrieving revision 1.30.10.1
  diff -u -r1.30 -r1.30.10.1
  --- SourceTreeManager.java    7 Feb 2002 16:03:37 -0000       1.30
  +++ SourceTreeManager.java    28 Oct 2002 16:17:33 -0000      1.30.10.1
  @@ -70,6 +70,7 @@
   //import org.w3c.dom.Document;
   
   import org.apache.xml.dtm.DTM;
  +import org.apache.xml.utils.NodeVector;
   
   import javax.xml.transform.URIResolver;
   import javax.xml.transform.TransformerException;
  @@ -277,6 +278,31 @@
   
       // System.out.println("getNode - returning: "+node);
       return DTM.NULL;
  +  }
  +  
  +  /**
  +   * Given a Source object, find the node associated with it.
  +   *
  +   * @param source The Source object to act as the key.
  +   *
  +   * @return The nodes that is associated with the input sequence.
  +   */
  +  public NodeVector getNodes()
  +  {
  +
  +    NodeVector nl = new NodeVector();
  +
  +    int n = m_sourceTree.size();
  +
  +    for (int i = 0; i < n; i++)
  +    {
  +      SourceTree sTree = (SourceTree) m_sourceTree.elementAt(i);
  +      
  +      nl.addElement(sTree.m_root);
  +    }
  +
  +    // System.out.println("getNode - returning: "+node);
  +    return nl;
     }
   
     /**
  
  
  
  No                   revision
  
  
  No                   revision
  
  
  1.5.6.1   +22 -1     xml-xalan/java/src/org/apache/xpath/functions/FuncBoolean.java
  
  Index: FuncBoolean.java
  ===================================================================
  RCS file: /home/cvs/xml-xalan/java/src/org/apache/xpath/functions/FuncBoolean.java,v
  retrieving revision 1.5
  retrieving revision 1.5.6.1
  diff -u -r1.5 -r1.5.6.1
  --- FuncBoolean.java  22 Mar 2002 01:04:44 -0000      1.5
  +++ FuncBoolean.java  28 Oct 2002 16:17:34 -0000      1.5.6.1
  @@ -63,7 +63,12 @@
   import org.apache.xpath.XPathContext;
   import org.apache.xpath.XPath;
   import org.apache.xpath.objects.XObject;
  +import org.apache.xpath.objects.XObjectFactory;
   import org.apache.xpath.objects.XBoolean;
  +import org.apache.xpath.objects.XSequence;
  +import org.apache.xpath.objects.XSequenceImpl;
  +import org.apache.xpath.objects.XNodeSequenceSingleton;
  +import org.apache.xml.dtm.DTMSequence;
   
   /**
    * <meta name="usage" content="advanced"/>
  @@ -82,7 +87,23 @@
      */
     public XObject execute(XPathContext xctxt) throws 
javax.xml.transform.TransformerException
     {
  -    return m_arg0.execute(xctxt).bool() ? XBoolean.S_TRUE : XBoolean.S_FALSE;
  +    XSequence seq = m_arg0.execute(xctxt).xseq();
  +    Object item;
  +    if ((item = seq.next()) != null)
  +    {
  +      if (item instanceof XNodeSequenceSingleton)
  +      {
  +        XNodeSequenceSingleton xnss = (XNodeSequenceSingleton)item;
  +        //DTMSequence ds = xnss.getDTM().getTypedValue(xnss.getNodeHandle());
  +        XObject obj = 
XObjectFactory.create(xnss.getDTM().getNodeValue(xnss.getNodeHandle()));
  +        return obj.bool() ? XBoolean.S_TRUE : XBoolean.S_FALSE;
  +      }
  +      else
  +      {
  +        return ((XSequenceImpl)seq).bool() ? XBoolean.S_TRUE : XBoolean.S_FALSE;
  +      }
  +    }
  +    return XBoolean.S_FALSE;
     }
     
   }
  
  
  
  No                   revision
  
  
  No                   revision
  
  
  1.1.2.1   +300 -0    
xml-xalan/java/src/org/apache/xpath/functions/Attic/FuncCollection.java
  
  
  
  
  1.1.2.1   +101 -0    
xml-xalan/java/src/org/apache/xpath/functions/Attic/FuncConcatenate.java
  
  
  
  
  1.1.2.1   +123 -0    
xml-xalan/java/src/org/apache/xpath/functions/Attic/FuncIfAbsent.java
  
  
  
  
  1.1.2.1   +127 -0    
xml-xalan/java/src/org/apache/xpath/functions/Attic/FuncIfEmpty.java
  
  
  
  
  1.1.2.1   +159 -0    
xml-xalan/java/src/org/apache/xpath/functions/Attic/FuncRoot.java
  
  
  
  
  No                   revision
  
  
  No                   revision
  
  
  1.1.2.1.2.14 +22 -1     
xml-xalan/java/src/org/apache/xpath/parser/Attic/SimpleNode.java
  
  Index: SimpleNode.java
  ===================================================================
  RCS file: 
/home/cvs/xml-xalan/java/src/org/apache/xpath/parser/Attic/SimpleNode.java,v
  retrieving revision 1.1.2.1.2.13
  retrieving revision 1.1.2.1.2.14
  diff -u -r1.1.2.1.2.13 -r1.1.2.1.2.14
  --- SimpleNode.java   17 Oct 2002 20:34:57 -0000      1.1.2.1.2.13
  +++ SimpleNode.java   28 Oct 2002 16:17:34 -0000      1.1.2.1.2.14
  @@ -408,7 +408,28 @@
         new FuncSequenceNodeEqual());            
   m_builtInFunctions.put(
         new QName("sequence-deep-equal"),
  -      new FuncSequenceDeepEqual());
  +      new FuncSequenceDeepEqual());            
  +m_builtInFunctions.put(
  +      new QName("deep-equal"),
  +      new FuncDeepEqual());            
  +m_builtInFunctions.put(
  +      new QName("collection"),
  +      new FuncCollection());            
  +m_builtInFunctions.put(
  +      new QName("concatenate"),
  +      new FuncConcatenate());            
  +m_builtInFunctions.put(
  +      new QName("root"),
  +      new FuncRoot());            
  +m_builtInFunctions.put(
  +      new QName("if-empty"),
  +      new FuncIfEmpty());            
  +m_builtInFunctions.put(
  +      new QName("if-absent"),
  +      new FuncIfAbsent());            
  +/*m_builtInFunctions.put(
  +      new QName("input"),
  +      new FuncInput());*/
     }
   
     /**
  
  
  
  No                   revision
  
  
  No                   revision
  
  
  1.16.2.1.2.2 +7 -1      
xml-xalan/java/src/org/apache/xpath/res/XPATHErrorResources.java
  
  Index: XPATHErrorResources.java
  ===================================================================
  RCS file: 
/home/cvs/xml-xalan/java/src/org/apache/xpath/res/XPATHErrorResources.java,v
  retrieving revision 1.16.2.1.2.1
  retrieving revision 1.16.2.1.2.2
  diff -u -r1.16.2.1.2.1 -r1.16.2.1.2.2
  --- XPATHErrorResources.java  10 Oct 2002 14:58:37 -0000      1.16.2.1.2.1
  +++ XPATHErrorResources.java  28 Oct 2002 16:17:34 -0000      1.16.2.1.2.2
  @@ -467,7 +467,13 @@
     
     /** ER_CANNOT_FIND_COLLATOR          */
     public static final int ER_CANNOT_FIND_COLLATOR = 86;
  -
  +  
  +  /** ER_INVALID_ARG_TO_COLLECTION          */
  +  public static final int ER_INVALID_ARG_TO_COLLECTION = 87;
  +  
  +  /** ER_CONTEXT_NOT_NODE              */
  +  public static final int ER_CONTEXT_NOT_NODE = 88;
  +   
     // Warnings...
   
     /** Field WG_LOCALE_NAME_NOT_HANDLED          */
  
  
  
  1.7.2.1.2.3 +6 -2      
xml-xalan/java/src/org/apache/xpath/res/XPATHErrorResources.properties
  
  Index: XPATHErrorResources.properties
  ===================================================================
  RCS file: 
/home/cvs/xml-xalan/java/src/org/apache/xpath/res/XPATHErrorResources.properties,v
  retrieving revision 1.7.2.1.2.2
  retrieving revision 1.7.2.1.2.3
  diff -u -r1.7.2.1.2.2 -r1.7.2.1.2.3
  --- XPATHErrorResources.properties    10 Oct 2002 14:58:37 -0000      1.7.2.1.2.2
  +++ XPATHErrorResources.properties    28 Oct 2002 16:17:34 -0000      1.7.2.1.2.3
  @@ -176,8 +176,12 @@
   ER0084=2 or 3
   # ER_VARIABLE_ACCESSED_BEFORE_BIND
   ER0085=Variable accessed before it is bound!
  -# ER_CANNOT_FIND_COLLATOR          */
  +# ER_CANNOT_FIND_COLLATOR          
   ER0086=Could not find Collator for {0}
  +# ER_INVALID_ARG_TO_COLLECTION
  +ER0087=Invalid argument to collection function {0}
  +# ER_CONTEXT_NOT_NODE
  +ER0088=Context item is not a node
   
   # WG_LOCALE_NAME_NOT_HANDLED 
   WR0001=locale name in the format-number function not yet handled!
  @@ -231,4 +235,4 @@
   three=3
   oneortwo=1 or 2
   twoorthree=2 or 3
  -threeorfour = 3 or 4
  \ No newline at end of file
  +threeorfour=3 or 4
  \ No newline at end of file
  
  
  

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

Reply via email to