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" <[EMAIL PROTECTED]>).
  
  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; 
     }
   }
  
  
  

Reply via email to