dbertoni 00/12/28 17:35:31
Modified: c/src/XSLT ElemCopyOf.cpp
Log:
Don't flush pending output unless we're copying an element node. Removed
unnecessary copies of element name.
Revision Changes Path
1.11 +6 -9 xml-xalan/c/src/XSLT/ElemCopyOf.cpp
Index: ElemCopyOf.cpp
===================================================================
RCS file: /home/cvs/xml-xalan/c/src/XSLT/ElemCopyOf.cpp,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -r1.10 -r1.11
--- ElemCopyOf.cpp 2000/11/21 21:09:56 1.10
+++ ElemCopyOf.cpp 2000/12/29 01:35:30 1.11
@@ -154,8 +154,6 @@
case XObject::eTypeNodeSet:
{
- XalanDOMString s;
-
const NodeRefListBase& nl = value->nodeset();
unsigned int nChildren = nl.getLength();
@@ -167,7 +165,10 @@
while(pos != 0)
{
- executionContext.flushPending();
+ if(XalanNode::ELEMENT_NODE ==
pos->getNodeType())
+ {
+ executionContext.flushPending();
+ }
executionContext.cloneToResultTree(
*pos,
@@ -181,9 +182,7 @@
{
if(XalanNode::ELEMENT_NODE ==
pos->getNodeType())
{
- s = pos->getNodeName();
-
-
executionContext.endElement(toCharArray(s));
+
executionContext.endElement(c_wstr(pos->getNodeName()));
}
if(top == pos)
@@ -199,9 +198,7 @@
{
if(XalanNode::ELEMENT_NODE == pos->getNodeType())
{
- s =
pos->getNodeName();
-
-
executionContext.endElement(toCharArray(s));
+
executionContext.endElement(c_wstr(pos->getNodeName()));
}
nextNode = 0;