auriemma    00/11/07 08:37:43

  Modified:    c/src/XPath FunctionLocalName.cpp FunctionLocalName.hpp
  Log:
  Merged string class changes from hpp to cpp.
  
  Revision  Changes    Path
  1.2       +32 -15    xml-xalan/c/src/XPath/FunctionLocalName.cpp
  
  Index: FunctionLocalName.cpp
  ===================================================================
  RCS file: /home/cvs/xml-xalan/c/src/XPath/FunctionLocalName.cpp,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- FunctionLocalName.cpp     2000/11/06 19:49:15     1.1
  +++ FunctionLocalName.cpp     2000/11/07 16:37:38     1.2
  @@ -78,18 +78,21 @@
   {
        assert(arg1 != 0);      
   
  +     XObject*        theResult = 0;
  +
        const NodeRefListBase&  theNodeList = arg1->nodeset();
   
  -     if (theNodeList.getLength() > 0)
  -     {
  -             context = theNodeList.item(0);
  +     if (theNodeList.getLength() == 0)
  +     {       
  +             theResult = 
executionContext.getXObjectFactory().createString(XalanDOMString());
  +             
        }
        else
        {       
  -             context = 0;
  +             theResult = getLocalName(executionContext, 
*theNodeList.item(0));       
        }
   
  -     return execute(executionContext, context);
  +     return theResult;
   }
   
   
  @@ -99,7 +102,7 @@
                XPathExecutionContext&                  executionContext,
                XalanNode*                                              context)
   {
  -     XalanDOMString  theData;
  +     XObject*        theResult = 0;
   
        if (context == 0)
        {
  @@ -107,17 +110,31 @@
        }
        else
        {
  -             const XalanNode::NodeType       theType = 
context->getNodeType();
  -
  -             if(theType == XalanNode::ATTRIBUTE_NODE ||
  -                     theType == XalanNode::ELEMENT_NODE ||
  -                     theType == XalanNode::PROCESSING_INSTRUCTION_NODE)
  -             {
  -                     theData = executionContext.getLocalNameOfNode(*context);
  -             }
  +             theResult = getLocalName(executionContext, *context);
        }
  +
  +     return theResult;
  +}
  +
  +
   
  -     return executionContext.getXObjectFactory().createString(theData);      
  +XObject*
  +FunctionLocalName::getLocalName(
  +             XPathExecutionContext&  executionContext,
  +             const XalanNode&                node)
  +{
  +     const XalanNode::NodeType       theType = node.getNodeType();
  +
  +     if(theType == XalanNode::ATTRIBUTE_NODE ||
  +             theType == XalanNode::ELEMENT_NODE ||
  +             theType == XalanNode::PROCESSING_INSTRUCTION_NODE)
  +     {
  +             return 
executionContext.getXObjectFactory().createString(executionContext.getLocalNameOfNode(node));
  +     }
  +     else
  +     {
  +             return 
executionContext.getXObjectFactory().createString(XalanDOMString());
  +     }
   }
   
   
  
  
  
  1.11      +5 -0      xml-xalan/c/src/XPath/FunctionLocalName.hpp
  
  Index: FunctionLocalName.hpp
  ===================================================================
  RCS file: /home/cvs/xml-xalan/c/src/XPath/FunctionLocalName.hpp,v
  retrieving revision 1.10
  retrieving revision 1.11
  diff -u -r1.10 -r1.11
  --- FunctionLocalName.hpp     2000/11/06 19:27:54     1.10
  +++ FunctionLocalName.hpp     2000/11/07 16:37:39     1.11
  @@ -115,6 +115,11 @@
   
   private:
   
  +     XObject*
  +     getLocalName(
  +             XPathExecutionContext&  executionContext,
  +             const XalanNode&                node);
  +
        const XalanDOMString
        getError() const;
   
  
  
  

Reply via email to