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/08/01 20:22:55 UTC

cvs commit: xml-xalan/java/src/org/apache/xpath/functions FuncGenerateId.java

sboag       00/08/01 11:22:54

  Modified:    java/src/org/apache/xalan/dtm DTMLiaison.java
               java/src/org/apache/xalan/stree StreeDOMHelper.java
               java/src/org/apache/xpath DOMHelper.java
               java/src/org/apache/xpath/functions FuncGenerateId.java
  Log:
  Fix generate-id() so that it works with DTM an so it uses hex string for negative values (attribution to "Sergei S. Ivanov" <iv...@aha.ru>).
  
  Revision  Changes    Path
  1.3       +6 -0      xml-xalan/java/src/org/apache/xalan/dtm/DTMLiaison.java
  
  Index: DTMLiaison.java
  ===================================================================
  RCS file: /home/cvs/xml-xalan/java/src/org/apache/xalan/dtm/DTMLiaison.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- DTMLiaison.java	2000/07/05 14:37:46	1.2
  +++ DTMLiaison.java	2000/08/01 18:22:52	1.3
  @@ -115,6 +115,12 @@
     public DTMLiaison()
     {
     }
  +  
  +  public String getUniqueID(Node node)
  +  {
  +    return "N"+Integer.toHexString(((DTMProxy)node).getDTMNodeNumber())
  +      +Integer.toHexString(((DTMProxy)node).getDTM().hashCode());
  +  }
   
     /**
      * Check node to see if it matches this liaison.
  
  
  
  1.3       +6 -0      xml-xalan/java/src/org/apache/xalan/stree/StreeDOMHelper.java
  
  Index: StreeDOMHelper.java
  ===================================================================
  RCS file: /home/cvs/xml-xalan/java/src/org/apache/xalan/stree/StreeDOMHelper.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- StreeDOMHelper.java	2000/07/05 14:39:09	1.2
  +++ StreeDOMHelper.java	2000/08/01 18:22:53	1.3
  @@ -13,6 +13,12 @@
     {
       return new DocumentImpl();
     }
  +  
  +  public String getUniqueID(Node node)
  +  {
  +    int index = ((Child)node).getUid();
  +    return "N"+Integer.toHexString(index);
  +  }
   
     /**
      * Figure out if node2 should be placed after node1 when 
  
  
  
  1.3       +5 -0      xml-xalan/java/src/org/apache/xpath/DOMHelper.java
  
  Index: DOMHelper.java
  ===================================================================
  RCS file: /home/cvs/xml-xalan/java/src/org/apache/xpath/DOMHelper.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- DOMHelper.java	2000/07/30 22:36:39	1.2
  +++ DOMHelper.java	2000/08/01 18:22:53	1.3
  @@ -38,6 +38,11 @@
       return false;
     }
     
  +  public String getUniqueID(Node node)
  +  {
  +    return "N"+Integer.toHexString(node.hashCode());
  +  }
  +  
     /**
      * Figure out if node2 should be placed after node1 in 
      * document order (returns node1 &lt;= node2).
  
  
  
  1.2       +4 -2      xml-xalan/java/src/org/apache/xpath/functions/FuncGenerateId.java
  
  Index: FuncGenerateId.java
  ===================================================================
  RCS file: /home/cvs/xml-xalan/java/src/org/apache/xpath/functions/FuncGenerateId.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- FuncGenerateId.java	2000/07/05 14:46:40	1.1
  +++ FuncGenerateId.java	2000/08/01 18:22:54	1.2
  @@ -81,7 +81,9 @@
     {    
       Node which = getArg0AsNode(xctxt);
       
  -    // TODO: DOM Helper should have a function for this.
  -    return new XString("N"+Integer.toString(which.hashCode()));
  +    if(null != which)
  +      return new XString(xctxt.getDOMHelper().getUniqueID(which));
  +    else
  +     return XString.EMPTYSTRING; 
     }
   }