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;
  
  
  

Reply via email to