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 <= 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;
}
}