mkwan 2003/03/06 13:22:00
Modified: java/src/org/apache/xalan/xsltc/dom Tag: XSLTC_DTM
AnyNodeCounter.java DOMAdapter.java
java/src/org/apache/xml/dtm/ref/sax2dtm Tag: XSLTC_DTM
SAX2DTM2.java
Log:
XSLTC_DTM performance work
Improvement for xsl:number. Introduce an optimized version of
getExpandedTypeID() in SAX2DTM2.
Revision Changes Path
No revision
No revision
1.1.14.7 +5 -2
xml-xalan/java/src/org/apache/xalan/xsltc/dom/AnyNodeCounter.java
Index: AnyNodeCounter.java
===================================================================
RCS file:
/home/cvs/xml-xalan/java/src/org/apache/xalan/xsltc/dom/AnyNodeCounter.java,v
retrieving revision 1.1.14.6
retrieving revision 1.1.14.7
diff -u -r1.1.14.6 -r1.1.14.7
--- AnyNodeCounter.java 30 Jan 2003 18:41:46 -0000 1.1.14.6
+++ AnyNodeCounter.java 6 Mar 2003 21:22:00 -0000 1.1.14.7
@@ -88,18 +88,21 @@
int next = _node;
final int root = _document.getDocument();
result = 0;
- while (next >=0 && !matchesFrom(next)) {
+ while (next >= root && !matchesFrom(next)) {
if (matchesCount(next)) {
++result;
}
+ next--;
//%HZ%: Is this the best way of finding the root? Is it better to check
//%HZ%: parent(next)?
+ /*
if (next == root) {
break;
}
else {
--next;
}
+ */
}
}
return formatNumbers(result);
1.11.10.16 +6 -2
xml-xalan/java/src/org/apache/xalan/xsltc/dom/DOMAdapter.java
Index: DOMAdapter.java
===================================================================
RCS file:
/home/cvs/xml-xalan/java/src/org/apache/xalan/xsltc/dom/DOMAdapter.java,v
retrieving revision 1.11.10.15
retrieving revision 1.11.10.16
diff -u -r1.11.10.15 -r1.11.10.16
--- DOMAdapter.java 5 Mar 2003 19:22:59 -0000 1.11.10.15
+++ DOMAdapter.java 6 Mar 2003 21:22:00 -0000 1.11.10.16
@@ -285,7 +285,11 @@
}
public int getExpandedTypeID(final int node) {
- return getMapping()[_dom.getExpandedTypeID(node)];
+ if (_saxImpl != null) {
+ return getMapping()[_saxImpl.getExpandedTypeID(node)];
+ }
+ else
+ return getMapping()[_dom.getExpandedTypeID(node)];
}
public int getNamespaceType(final int node) {
No revision
No revision
1.1.2.24 +9 -0
xml-xalan/java/src/org/apache/xml/dtm/ref/sax2dtm/Attic/SAX2DTM2.java
Index: SAX2DTM2.java
===================================================================
RCS file:
/home/cvs/xml-xalan/java/src/org/apache/xml/dtm/ref/sax2dtm/Attic/SAX2DTM2.java,v
retrieving revision 1.1.2.23
retrieving revision 1.1.2.24
diff -u -r1.1.2.23 -r1.1.2.24
--- SAX2DTM2.java 3 Mar 2003 15:51:43 -0000 1.1.2.23
+++ SAX2DTM2.java 6 Mar 2003 21:22:00 -0000 1.1.2.24
@@ -1865,6 +1865,15 @@
else
return NULL;
}
+
+ /**
+ * Return the expanded type id from the node handle
+ */
+ public final int getExpandedTypeID(int nodeHandle)
+ {
+ int nodeID = makeNodeIdentity(nodeHandle);
+ return (nodeID != NULL) ? _exptype2(nodeID) : NULL;
+ }
/**
* Given a node identity and an expanded type, return a node in the
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]