From 98dbfda8e15e58c8820f250fa11f00a39602425f Mon Sep 17 00:00:00 2001 From: "Peter.VanderBeken%pandora.be" Date: Wed, 2 Nov 2005 07:34:35 +0000 Subject: [PATCH] Removing DOMString/Cleaning up some whitespace. Not part of build yet. a=leaf. git-svn-id: svn://10.0.0.236/trunk@183437 18797224-902f-48f8-a5cc-f745e15eee43 --- mozilla/content/xslt/src/xml/txAttr.cpp | 16 +- mozilla/content/xslt/src/xml/txDOM.h | 148 +++++++++-------- mozilla/content/xslt/src/xml/txDocument.cpp | 16 +- mozilla/content/xslt/src/xml/txElement.cpp | 16 +- .../content/xslt/src/xml/txNodeDefinition.cpp | 14 +- .../xslt/src/xml/txProcessingInstruction.cpp | 10 +- .../xslt/src/xpath/txBooleanFunctionCall.cpp | 16 +- .../xslt/src/xpath/txBooleanResult.cpp | 6 +- mozilla/content/xslt/src/xpath/txExpr.h | 6 +- .../content/xslt/src/xpath/txExprLexer.cpp | 6 +- .../content/xslt/src/xpath/txExprParser.cpp | 14 +- mozilla/content/xslt/src/xpath/txExprResult.h | 12 +- .../content/xslt/src/xpath/txFunctionLib.h | 8 +- .../xslt/src/xpath/txNumberFunctionCall.cpp | 132 +++++++-------- .../content/xslt/src/xpath/txNumberResult.cpp | 6 +- .../xslt/src/xpath/txRelationalExpr.cpp | 8 +- .../xslt/src/xpath/txStringFunctionCall.cpp | 8 +- .../content/xslt/src/xpath/txStringResult.cpp | 6 +- .../xslt/src/xslt/txDocumentFunctionCall.cpp | 150 +++++++++--------- 19 files changed, 298 insertions(+), 300 deletions(-) diff --git a/mozilla/content/xslt/src/xml/txAttr.cpp b/mozilla/content/xslt/src/xml/txAttr.cpp index 04a4004b76e..c43721b762c 100644 --- a/mozilla/content/xslt/src/xml/txAttr.cpp +++ b/mozilla/content/xslt/src/xml/txAttr.cpp @@ -35,7 +35,7 @@ // //Construct an Attribute object using the specified name and document owner // -Attr::Attr(const DOMString& name, Document* owner): +Attr::Attr(const String& name, Document* owner): NodeDefinition(Node::ATTRIBUTE_NODE, name, NULL_STRING, owner) { specified = MB_FALSE; @@ -44,7 +44,7 @@ Attr::Attr(const DOMString& name, Document* owner): // //Retrieve the name of the attribute from the nodeName data member // -const DOMString& Attr::getName() const +const String& Attr::getName() const { return nodeName; } @@ -61,7 +61,7 @@ MBool Attr::getSpecified() const //Retrieve the value of the attribute. This is a comma-deliminated string //representation of the Attribute's children. // -const DOMString& Attr::getValue() +const String& Attr::getValue() { Int32 valueLoop; nodeValue = NULL_STRING; @@ -85,7 +85,7 @@ const DOMString& Attr::getValue() //Create a new Text node and add it to the Attribute's list of children. Also //set the Specified flag to true. // -void Attr::setValue(const DOMString& newValue) +void Attr::setValue(const String& newValue) { NodeDefinition::DeleteChildren(); @@ -97,21 +97,21 @@ void Attr::setValue(const DOMString& newValue) // //Override the set node value member function to create a new TEXT node with -//the DOMString and to add it as the Attribute's child. +//the String and to add it as the Attribute's child. // NOTE: Not currently impemented, just execute the default setNodeValue // -void Attr::setNodeValue(const DOMString& nodeValue) +void Attr::setNodeValue(const String& nodeValue) { setValue(nodeValue); } // -//Return a DOMString represening the value of this node. If the value is an +//Return a String represening the value of this node. If the value is an //Entity Reference then return the value of the reference. Otherwise, it is a //simple conversion of the text value. // NOTE: Not currently implemented, just execute the default getNodeValue // -const DOMString& Attr::getNodeValue() +const String& Attr::getNodeValue() { return getValue(); } diff --git a/mozilla/content/xslt/src/xml/txDOM.h b/mozilla/content/xslt/src/xml/txDOM.h index 764aaf0d4f6..8817b36eeac 100644 --- a/mozilla/content/xslt/src/xml/txDOM.h +++ b/mozilla/content/xslt/src/xml/txDOM.h @@ -47,8 +47,6 @@ typedef 0 NULL; #endif - -typedef String DOMString; typedef UNICODE_CHAR DOM_CHAR; class NodeList; @@ -72,11 +70,11 @@ class DOMImplementation DOMImplementation(); ~DOMImplementation(); - MBool hasFeature(DOMString feature, const DOMString& version) const; + MBool hasFeature(String feature, const String& version) const; private: - DOMString implFeature; - DOMString implVersion; + String implFeature; + String implVersion; }; // @@ -106,9 +104,9 @@ class Node virtual ~Node() {} //Read functions - virtual const DOMString& getNodeName() const = 0; - virtual const DOMString& getNodeValue() const = 0; - virtual const DOMString& getNodeValue() = 0; + virtual const String& getNodeName() const = 0; + virtual const String& getNodeValue() const = 0; + virtual const String& getNodeValue() = 0; virtual unsigned short getNodeType() const = 0; virtual Node* getParentNode() const = 0; virtual NodeList* getChildNodes() = 0; @@ -120,7 +118,7 @@ class Node virtual Document* getOwnerDocument() const = 0; //Write functions - virtual void setNodeValue(const DOMString& nodeValue) = 0; + virtual void setNodeValue(const String& nodeValue) = 0; //Node manipulation functions virtual Node* insertBefore(Node* newChild, Node* refChild) = 0; @@ -191,12 +189,12 @@ class NamedNodeMap : public NodeListDefinition NamedNodeMap(); ~NamedNodeMap(); - Node* getNamedItem(const DOMString& name); + Node* getNamedItem(const String& name); Node* setNamedItem(Node* arg); - Node* removeNamedItem(const DOMString& name); + Node* removeNamedItem(const String& name); private: - NodeListDefinition::ListItem* findListItemByName(const DOMString& name); + NodeListDefinition::ListItem* findListItemByName(const String& name); }; // @@ -208,14 +206,14 @@ class NamedNodeMap : public NodeListDefinition class NodeDefinition : public Node, public NodeList { public: - NodeDefinition(NodeType type, const DOMString& name, - const DOMString& value, Document* owner); + NodeDefinition(NodeType type, const String& name, + const String& value, Document* owner); virtual ~NodeDefinition(); //Destructor, delete all children of node //Read functions - const DOMString& getNodeName() const; - virtual const DOMString& getNodeValue() const; - virtual const DOMString& getNodeValue(); + const String& getNodeName() const; + virtual const String& getNodeValue() const; + virtual const String& getNodeValue(); unsigned short getNodeType() const; Node* getParentNode() const; NodeList* getChildNodes(); @@ -227,7 +225,7 @@ class NodeDefinition : public Node, public NodeList Document* getOwnerDocument() const; //Write functions - virtual void setNodeValue(const DOMString& nodeValue); + virtual void setNodeValue(const String& nodeValue); //Child node manipulation functions virtual Node* insertBefore(Node* newChild, Node* refChild); @@ -246,8 +244,8 @@ class NodeDefinition : public Node, public NodeList //Name, value, and attributes for this node. Available to derrived //classes, since those derrived classes have a better idea how to use them, //than the generic node does. - DOMString nodeName; - DOMString nodeValue; + String nodeName; + String nodeValue; NamedNodeMap attributes; void DeleteChildren(); @@ -279,7 +277,7 @@ class NodeDefinition : public Node, public NodeList class DocumentFragment : public NodeDefinition { public: - DocumentFragment(const DOMString& name, const DOMString& value, Document* owner); + DocumentFragment(const String& name, const String& value, Document* owner); //Override insertBefore to limit Elements to having only certain nodes as //children @@ -300,14 +298,14 @@ class Document : public NodeDefinition //Factory functions for various node types DocumentFragment* createDocumentFragment(); - Element* createElement(const DOMString& tagName); - Attr* createAttribute(const DOMString& name); - Text* createTextNode(const DOMString& theData); - Comment* createComment(const DOMString& theData); - CDATASection* createCDATASection(const DOMString& theData); - ProcessingInstruction* createProcessingInstruction(const DOMString& target, - const DOMString& data); - EntityReference* createEntityReference(const DOMString& name); + Element* createElement(const String& tagName); + Attr* createAttribute(const String& name); + Text* createTextNode(const String& theData); + Comment* createComment(const String& theData); + CDATASection* createCDATASection(const String& theData); + ProcessingInstruction* createProcessingInstruction(const String& target, + const String& data); + EntityReference* createEntityReference(const String& name); //Override functions to enforce the One Element rule for documents, as well //as limit documents to certain types of nodes. @@ -327,20 +325,20 @@ class Document : public NodeDefinition class Element : public NodeDefinition { public: - Element(const DOMString& tagName, Document* owner); + Element(const String& tagName, Document* owner); //Override insertBefore to limit Elements to having only certain nodes as //children Node* insertBefore(Node* newChild, Node* refChild); - const DOMString& getTagName(); - const DOMString& getAttribute(const DOMString& name); - void setAttribute(const DOMString& name, const DOMString& value); - void removeAttribute(const DOMString& name); - Attr* getAttributeNode(const DOMString& name); + const String& getTagName(); + const String& getAttribute(const String& name); + void setAttribute(const String& name, const String& value); + void removeAttribute(const String& name); + Attr* getAttributeNode(const String& name); Attr* setAttributeNode(Attr* newAttr); Attr* removeAttributeNode(Attr* oldAttr); - NodeList* getElementsByTagName(const DOMString& name); + NodeList* getElementsByTagName(const String& name); void normalize(); }; @@ -352,17 +350,17 @@ class Element : public NodeDefinition class Attr : public NodeDefinition { public: - Attr(const DOMString& name, Document* owner); + Attr(const String& name, Document* owner); - const DOMString& getName() const; + const String& getName() const; MBool getSpecified() const; - const DOMString& getValue(); - void setValue(const DOMString& newValue); + const String& getValue(); + void setValue(const String& newValue); //Override the set and get member functions for a node's value to create a //new TEXT node when set, and to interpret its children when read. - void setNodeValue(const DOMString& nodeValue); - const DOMString& getNodeValue(); + void setNodeValue(const String& nodeValue); + const String& getNodeValue(); //Override insertBefore to limit Attr to having only certain nodes as //children @@ -380,19 +378,19 @@ class Attr : public NodeDefinition class CharacterData : public NodeDefinition { public: - const DOMString& getData() const; - void setData(const DOMString& source); + const String& getData() const; + void setData(const String& source); Int32 getLength() const; - DOMString& substringData(Int32 offset, Int32 count, DOMString& dest); - void appendData(const DOMString& arg); - void insertData(Int32 offset, const DOMString& arg); + String& substringData(Int32 offset, Int32 count, String& dest); + void appendData(const String& arg); + void insertData(Int32 offset, const String& arg); void deleteData(Int32 offset, Int32 count); - void replaceData(Int32 offset, Int32 count, const DOMString& arg); + void replaceData(Int32 offset, Int32 count, const String& arg); protected: - CharacterData(NodeType type, const DOMString& name, - const DOMString& value, Document* owner); + CharacterData(NodeType type, const String& name, + const String& value, Document* owner); }; // @@ -402,7 +400,7 @@ class CharacterData : public NodeDefinition class Text : public CharacterData { public: - Text(const DOMString& theData, Document* owner); + Text(const String& theData, Document* owner); Text* splitText(Int32 offset); @@ -414,7 +412,7 @@ class Text : public CharacterData Node* appendChild(Node* newChild); protected: - Text(NodeType type, const DOMString& name, const DOMString& value, + Text(NodeType type, const String& name, const String& value, Document* owner); }; @@ -425,7 +423,7 @@ class Text : public CharacterData class Comment : public CharacterData { public: - Comment(const DOMString& theData, Document* owner); + Comment(const String& theData, Document* owner); //Override "child manipulation" function since Comment Nodes can not have //any children. @@ -442,7 +440,7 @@ class Comment : public CharacterData class CDATASection : public Text { public: - CDATASection(const DOMString& theData, Document* owner); + CDATASection(const String& theData, Document* owner); //Override "child manipulation" function since CDATASection Nodes can not //have any children. @@ -463,13 +461,13 @@ class CDATASection : public Text class ProcessingInstruction : public NodeDefinition { public: - ProcessingInstruction(const DOMString& theTarget, const DOMString& theData, + ProcessingInstruction(const String& theTarget, const String& theData, Document* owner); - const DOMString& getTarget() const; - const DOMString& getData() const; + const String& getTarget() const; + const String& getData() const; - void setData(const DOMString& theData); + void setData(const String& theData); //Override "child manipulation" function since ProcessingInstruction Nodes //can not have any children. @@ -486,11 +484,11 @@ class ProcessingInstruction : public NodeDefinition class Notation : public NodeDefinition { public: - Notation(const DOMString& name, const DOMString& pubID, - const DOMString& sysID); + Notation(const String& name, const String& pubID, + const String& sysID); - const DOMString& getPublicId() const; - const DOMString& getSystemId() const; + const String& getPublicId() const; + const String& getSystemId() const; //Override "child manipulation" function since Notation Nodes //can not have any children. @@ -500,8 +498,8 @@ class Notation : public NodeDefinition Node* appendChild(Node* newChild); private: - DOMString publicId; - DOMString systemId; + String publicId; + String systemId; }; // @@ -510,21 +508,21 @@ class Notation : public NodeDefinition class Entity : public NodeDefinition { public: - Entity(const DOMString& name, const DOMString& pubID, - const DOMString& sysID, const DOMString& notName); + Entity(const String& name, const String& pubID, + const String& sysID, const String& notName); - const DOMString& getPublicId() const; - const DOMString& getSystemId() const; - const DOMString& getNotationName() const; + const String& getPublicId() const; + const String& getSystemId() const; + const String& getNotationName() const; //Override insertBefore to limit Entity to having only certain nodes as //children Node* insertBefore(Node* newChild, Node* refChild); private: - DOMString publicId; - DOMString systemId; - DOMString notationName; + String publicId; + String systemId; + String notationName; }; // @@ -533,7 +531,7 @@ class Entity : public NodeDefinition class EntityReference : public NodeDefinition { public: - EntityReference(const DOMString& name, Document* owner); + EntityReference(const String& name, Document* owner); //Override insertBefore to limit EntityReference to having only certain //nodes as children @@ -546,7 +544,7 @@ class EntityReference : public NodeDefinition class DocumentType : public NodeDefinition { public: - DocumentType(const DOMString& name, NamedNodeMap* theEntities, + DocumentType(const String& name, NamedNodeMap* theEntities, NamedNodeMap* theNotations); ~DocumentType(); @@ -567,7 +565,7 @@ class DocumentType : public NodeDefinition //NULL string for use by Element::getAttribute() for when the attribute //spcified by "name" does not exist, and therefore shoud be "NULL". -const DOMString NULL_STRING; +const String NULL_STRING; #endif diff --git a/mozilla/content/xslt/src/xml/txDocument.cpp b/mozilla/content/xslt/src/xml/txDocument.cpp index be9b55500de..e72594ad5da 100644 --- a/mozilla/content/xslt/src/xml/txDocument.cpp +++ b/mozilla/content/xslt/src/xml/txDocument.cpp @@ -202,7 +202,7 @@ DocumentFragment* Document::createDocumentFragment() //Construct an element with the specified tag name. // NOTE: The caller is responsible for cleaning up the element's menory // -Element* Document::createElement(const DOMString& tagName) +Element* Document::createElement(const String& tagName) { return new Element(tagName, this); } @@ -210,7 +210,7 @@ Element* Document::createElement(const DOMString& tagName) // //Construct an attribute with the specified name // -Attr* Document::createAttribute(const DOMString& name) +Attr* Document::createAttribute(const String& name) { return new Attr(name, this); } @@ -218,7 +218,7 @@ Attr* Document::createAttribute(const DOMString& name) // //Construct a text node with the given data // -Text* Document::createTextNode(const DOMString& theData) +Text* Document::createTextNode(const String& theData) { return new Text(theData, this); } @@ -226,7 +226,7 @@ Text* Document::createTextNode(const DOMString& theData) // //Construct a comment node with the given data // -Comment* Document::createComment(const DOMString& theData) +Comment* Document::createComment(const String& theData) { return new Comment(theData, this); } @@ -234,7 +234,7 @@ Comment* Document::createComment(const DOMString& theData) // //Construct a CDATASection node with the given data // -CDATASection* Document::createCDATASection(const DOMString& theData) +CDATASection* Document::createCDATASection(const String& theData) { return new CDATASection(theData, this); } @@ -243,8 +243,8 @@ CDATASection* Document::createCDATASection(const DOMString& theData) //Construct a ProcessingInstruction node with the given targe and data. // ProcessingInstruction* - Document::createProcessingInstruction(const DOMString& target, - const DOMString& data) + Document::createProcessingInstruction(const String& target, + const String& data) { return new ProcessingInstruction(target, data, this); } @@ -252,7 +252,7 @@ ProcessingInstruction* // //Construct an EntityReference with the given name // -EntityReference* Document::createEntityReference(const DOMString& name) +EntityReference* Document::createEntityReference(const String& name) { return new EntityReference(name, this); } diff --git a/mozilla/content/xslt/src/xml/txElement.cpp b/mozilla/content/xslt/src/xml/txElement.cpp index 7bb2dde707b..20ad5908fa4 100644 --- a/mozilla/content/xslt/src/xml/txElement.cpp +++ b/mozilla/content/xslt/src/xml/txElement.cpp @@ -36,7 +36,7 @@ //Simply call the constructor for NodeDefinition, and specify the proper node //type. // -Element::Element(const DOMString& tagName, Document* owner) : +Element::Element(const String& tagName, Document* owner) : NodeDefinition(Node::ELEMENT_NODE, tagName, NULL_STRING, owner) { } @@ -71,7 +71,7 @@ Node* Element::insertBefore(Node* newChild, Node* refChild) // //Return the tagName for this element. This is simply the nodeName. // -const DOMString& Element::getTagName() +const String& Element::getTagName() { return nodeName; } @@ -80,7 +80,7 @@ const DOMString& Element::getTagName() //Retreive an attribute's value by name. If the attribute does not exist, //return a reference to the pre-created, constatnt "NULL STRING". // -const DOMString& Element::getAttribute(const DOMString& name) +const String& Element::getAttribute(const String& name) { Node* tempNode = attributes.getNamedItem(name); @@ -96,7 +96,7 @@ const DOMString& Element::getAttribute(const DOMString& name) //name and value specified. Then add the Attr to the the Element's //attributes NamedNodeMap. // -void Element::setAttribute(const DOMString& name, const DOMString& value) +void Element::setAttribute(const String& name, const String& value) { Attr* tempAttribute; @@ -117,7 +117,7 @@ void Element::setAttribute(const DOMString& name, const DOMString& value) //Remove an attribute from the attributes NamedNodeMap, and free its memory. // NOTE: How do default values enter into this picture // -void Element::removeAttribute(const DOMString& name) +void Element::removeAttribute(const String& name) { delete attributes.removeNamedItem(name); } @@ -125,7 +125,7 @@ void Element::removeAttribute(const DOMString& name) // //Return the attribute specified by name // -Attr* Element::getAttributeNode(const DOMString& name) +Attr* Element::getAttributeNode(const String& name) { return (Attr*)attributes.getNamedItem(name); } @@ -152,9 +152,9 @@ Attr* Element::removeAttributeNode(Attr* oldAttr) return (Attr*)attributes.removeNamedItem(oldAttr->getNodeName()); } -NodeList* Element::getElementsByTagName(const DOMString& name) +NodeList* Element::getElementsByTagName(const String& name) { - return 0; + return 0; } void Element::normalize() diff --git a/mozilla/content/xslt/src/xml/txNodeDefinition.cpp b/mozilla/content/xslt/src/xml/txNodeDefinition.cpp index a1a9640cb53..822cd611f6f 100644 --- a/mozilla/content/xslt/src/xml/txNodeDefinition.cpp +++ b/mozilla/content/xslt/src/xml/txNodeDefinition.cpp @@ -30,8 +30,8 @@ #include "dom.h" -NodeDefinition::NodeDefinition(NodeType type, const DOMString& name, - const DOMString& value, Document* owner) +NodeDefinition::NodeDefinition(NodeType type, const String& name, + const String& value, Document* owner) { nodeName = name; @@ -84,17 +84,17 @@ void NodeDefinition::DeleteChildren() lastChild = NULL; } -const DOMString& NodeDefinition::getNodeName() const +const String& NodeDefinition::getNodeName() const { return nodeName; } -const DOMString& NodeDefinition::getNodeValue() const +const String& NodeDefinition::getNodeValue() const { return nodeValue; } -const DOMString& NodeDefinition::getNodeValue() +const String& NodeDefinition::getNodeValue() { return nodeValue; } @@ -165,7 +165,7 @@ Int32 NodeDefinition::getLength() return length; } -void NodeDefinition::setNodeValue(const DOMString& newNodeValue) +void NodeDefinition::setNodeValue(const String& newNodeValue) { nodeValue = newNodeValue; } @@ -344,7 +344,7 @@ Node* NodeDefinition::appendChild(Node* newChild) Node* NodeDefinition::cloneNode(MBool deep, Node* dest) { - return 0; + return 0; } MBool NodeDefinition::hasChildNodes() const diff --git a/mozilla/content/xslt/src/xml/txProcessingInstruction.cpp b/mozilla/content/xslt/src/xml/txProcessingInstruction.cpp index ffc8e56f001..e949d70fb46 100644 --- a/mozilla/content/xslt/src/xml/txProcessingInstruction.cpp +++ b/mozilla/content/xslt/src/xml/txProcessingInstruction.cpp @@ -33,8 +33,8 @@ // //Construct a text object with the specified document owner and data // -ProcessingInstruction::ProcessingInstruction(const DOMString& theTarget, - const DOMString& theData, +ProcessingInstruction::ProcessingInstruction(const String& theTarget, + const String& theData, Document* owner) : NodeDefinition(Node::PROCESSING_INSTRUCTION_NODE, theTarget, theData, owner) @@ -45,7 +45,7 @@ ProcessingInstruction::ProcessingInstruction(const DOMString& theTarget, //Return the Target of the processing instruction. This is simply the //nodeName. // -const DOMString& ProcessingInstruction::getTarget() const +const String& ProcessingInstruction::getTarget() const { return nodeName; } @@ -54,14 +54,14 @@ const DOMString& ProcessingInstruction::getTarget() const //Return the Data of the processing instruction. This is simply the value //of the node, "nodeValue" // -const DOMString& ProcessingInstruction::getData() const +const String& ProcessingInstruction::getData() const { return nodeValue; } // //Set the Data element of the processing instruction. -void ProcessingInstruction::setData(const DOMString& theData) +void ProcessingInstruction::setData(const String& theData) { nodeValue = theData; } diff --git a/mozilla/content/xslt/src/xpath/txBooleanFunctionCall.cpp b/mozilla/content/xslt/src/xpath/txBooleanFunctionCall.cpp index d9199d55c60..de6a9eeda85 100644 --- a/mozilla/content/xslt/src/xpath/txBooleanFunctionCall.cpp +++ b/mozilla/content/xslt/src/xpath/txBooleanFunctionCall.cpp @@ -24,7 +24,7 @@ * Marina Mechtcheriakova, mmarina@mindspring.com * -- added lang() implementation * - * $Id: txBooleanFunctionCall.cpp,v 1.4 2005-11-02 07:33:37 kvisco%ziplink.net Exp $ + * $Id: txBooleanFunctionCall.cpp,v 1.5 2005-11-02 07:33:38 Peter.VanderBeken%pandora.be Exp $ */ #include "FunctionLib.h" @@ -32,7 +32,7 @@ /** * Creates a default BooleanFunctionCall, which always evaluates to False * @author Keith Visco - * @version $Revision: 1.4 $ $Date: 2005-11-02 07:33:37 $ + * @version $Revision: 1.5 $ $Date: 2005-11-02 07:33:38 $ **/ BooleanFunctionCall::BooleanFunctionCall() : FunctionCall(XPathNames::FALSE_FN) { this->type = TX_FALSE; @@ -48,8 +48,8 @@ BooleanFunctionCall::BooleanFunctionCall(short type) : FunctionCall() FunctionCall::setName(XPathNames::BOOLEAN_FN); break; case TX_LANG: - FunctionCall::setName(XPathNames::LANG_FN); - break; + FunctionCall::setName(XPathNames::LANG_FN); + break; case TX_NOT : FunctionCall::setName(XPathNames::NOT_FN); break; @@ -93,11 +93,11 @@ ExprResult* BooleanFunctionCall::evaluate(Node* context, ContextState* cs) { String arg1, lang; evaluateToString((Expr*)iter->next(),context, cs, arg1); lang = ((Element*)context)->getAttribute(LANG_ATTR); - arg1.toUpperCase(); // case-insensitive comparison - lang.toUpperCase(); + arg1.toUpperCase(); // case-insensitive comparison + lang.toUpperCase(); result->setValue((MBool)(lang.indexOf(arg1) == 0)); - } - break; + } + break; case TX_NOT : if ( requireParams(1,1,cs) ) { param = (Expr*)iter->next(); diff --git a/mozilla/content/xslt/src/xpath/txBooleanResult.cpp b/mozilla/content/xslt/src/xpath/txBooleanResult.cpp index c689ac48408..4364eb60399 100644 --- a/mozilla/content/xslt/src/xpath/txBooleanResult.cpp +++ b/mozilla/content/xslt/src/xpath/txBooleanResult.cpp @@ -21,13 +21,13 @@ * Keith Visco, kvisco@ziplink.net * -- original author. * - * $Id: txBooleanResult.cpp,v 1.4 2005-11-02 07:33:49 Peter.VanderBeken%pandora.be Exp $ + * $Id: txBooleanResult.cpp,v 1.5 2005-11-02 07:33:50 Peter.VanderBeken%pandora.be Exp $ */ /** * Boolean Expression result * @author Keith Visco - * @version $Revision: 1.4 $ $Date: 2005-11-02 07:33:49 $ + * @version $Revision: 1.5 $ $Date: 2005-11-02 07:33:50 $ **/ #include "ExprResult.h" @@ -83,7 +83,7 @@ short BooleanResult::getResultType() { return ExprResult::BOOLEAN; } //-- getResultType -void BooleanResult::stringValue(DOMString& str) { +void BooleanResult::stringValue(String& str) { if ( value ) str.append("true"); else str.append("false"); } //-- toString diff --git a/mozilla/content/xslt/src/xpath/txExpr.h b/mozilla/content/xslt/src/xpath/txExpr.h index 16d06890e97..a8a8d0e39d2 100644 --- a/mozilla/content/xslt/src/xpath/txExpr.h +++ b/mozilla/content/xslt/src/xpath/txExpr.h @@ -25,7 +25,7 @@ * - changed constant short declarations in many of the classes * with enumerations, commented with //--LF * - * $Id: txExpr.h,v 1.4 2005-11-02 07:33:29 kvisco%ziplink.net Exp $ + * $Id: txExpr.h,v 1.5 2005-11-02 07:33:30 Peter.VanderBeken%pandora.be Exp $ */ @@ -44,7 +44,7 @@ /* XPath class definitions. Much of this code was ported from XSL:P. - @version $Revision: 1.4 $ $Date: 2005-11-02 07:33:29 $ + @version $Revision: 1.5 $ $Date: 2005-11-02 07:33:30 $ */ #ifndef TRANSFRMX_EXPR_H @@ -100,7 +100,7 @@ public: * @param nodes the NodeSet to sort *
* Note: I will be moving this functionality elsewhere soon - **/ + **/ virtual void sortByDocumentOrder(NodeSet* nodes) = 0; }; //-- ContextState diff --git a/mozilla/content/xslt/src/xpath/txExprLexer.cpp b/mozilla/content/xslt/src/xpath/txExprLexer.cpp index b00a4a55e20..b0bf36682e5 100644 --- a/mozilla/content/xslt/src/xpath/txExprLexer.cpp +++ b/mozilla/content/xslt/src/xpath/txExprLexer.cpp @@ -29,13 +29,13 @@ * -- Fixed bug in parse method so that we make sure we check for * axis identifier wild cards, such as ancestor::* * - * $Id: txExprLexer.cpp,v 1.4 2005-11-02 07:33:43 kvisco%ziplink.net Exp $ + * $Id: txExprLexer.cpp,v 1.5 2005-11-02 07:33:44 Peter.VanderBeken%pandora.be Exp $ */ /** * Lexical analyzer for XPath expressions * @author Keith Visco - * @version $Revision: 1.4 $ $Date: 2005-11-02 07:33:43 $ + * @version $Revision: 1.5 $ $Date: 2005-11-02 07:33:44 $ **/ #include @@ -564,7 +564,7 @@ void ExprLexer::parse(const String& pattern) { case TX_LF: break; case S_QUOTE : - case D_QUOTE : + case D_QUOTE : matchToken(tokenBuffer, ch); inLiteral = ch; break; diff --git a/mozilla/content/xslt/src/xpath/txExprParser.cpp b/mozilla/content/xslt/src/xpath/txExprParser.cpp index 5c1143a8ea7..db110766a00 100644 --- a/mozilla/content/xslt/src/xpath/txExprParser.cpp +++ b/mozilla/content/xslt/src/xpath/txExprParser.cpp @@ -30,7 +30,7 @@ * -- fixed bug in ::parsePredicates, * made sure we continue looking for more predicates. * - * $Id: txExprParser.cpp,v 1.5 2005-11-02 07:33:29 kvisco%ziplink.net Exp $ + * $Id: txExprParser.cpp,v 1.6 2005-11-02 07:33:30 Peter.VanderBeken%pandora.be Exp $ */ /** @@ -38,7 +38,7 @@ * This class is used to parse XSL Expressions * @author Keith Visco * @see ExprLexer - * @version $Revision: 1.5 $ $Date: 2005-11-02 07:33:29 $ + * @version $Revision: 1.6 $ $Date: 2005-11-02 07:33:30 $ **/ #include "ExprParser.h" @@ -676,11 +676,11 @@ PathExpr* ExprParser::createPathExpr(ExprLexer& lexer) { case Token::R_PAREN: case Token::R_BRACKET: case Token::UNION_OP: - //Marina, addition start - // When parsing a list of parameters for a function comma should signal a spot - // without it further processing pathExpr was causing "invalid token" error - case Token::COMMA: - // Marina, addition ends + //Marina, addition start + // When parsing a list of parameters for a function comma should signal a spot + // without it further processing pathExpr was causing "invalid token" error + case Token::COMMA: + // Marina, addition ends lexer.pushBack(); return pathExpr; case Token::ANCESTOR_OP : diff --git a/mozilla/content/xslt/src/xpath/txExprResult.h b/mozilla/content/xslt/src/xpath/txExprResult.h index ed6a87619b3..7a66b93ac47 100644 --- a/mozilla/content/xslt/src/xpath/txExprResult.h +++ b/mozilla/content/xslt/src/xpath/txExprResult.h @@ -23,7 +23,7 @@ * Larry Fitzpatrick, OpenText, lef@opentext.com * -- changed constant short result types to enum * - * $Id: txExprResult.h,v 1.5 2005-11-02 07:33:47 Peter.VanderBeken%pandora.be Exp $ + * $Id: txExprResult.h,v 1.6 2005-11-02 07:33:48 Peter.VanderBeken%pandora.be Exp $ */ #include "MITREObject.h" @@ -42,7 +42,7 @@ *
* Note: for NodeSet, see NodeSet.h
* @author Keith Visco - * @version $Revision: 1.5 $ $Date: 2005-11-02 07:33:47 $ + * @version $Revision: 1.6 $ $Date: 2005-11-02 07:33:48 $ */ class ExprResult : public MITREObject { @@ -69,7 +69,7 @@ public: * Creates a String representation of this ExprResult * @param str the destination string to append the String representation to. **/ - virtual void stringValue(DOMString& str) = 0; + virtual void stringValue(String& str) = 0; /** * Converts this ExprResult to a Boolean (MBool) value @@ -100,7 +100,7 @@ public: void setValue(const BooleanResult& boolResult); virtual short getResultType(); - virtual void stringValue(DOMString& str); + virtual void stringValue(String& str); virtual MBool booleanValue(); virtual double numberValue(); @@ -125,7 +125,7 @@ public: MBool isNaN() const; virtual short getResultType(); - virtual void stringValue(DOMString& str); + virtual void stringValue(String& str); virtual MBool booleanValue(); virtual double numberValue(); @@ -148,7 +148,7 @@ public: void setValue(const String& str); virtual short getResultType(); - virtual void stringValue(DOMString& str); + virtual void stringValue(String& str); virtual MBool booleanValue(); virtual double numberValue(); diff --git a/mozilla/content/xslt/src/xpath/txFunctionLib.h b/mozilla/content/xslt/src/xpath/txFunctionLib.h index 73852fef6d3..c71953378e2 100644 --- a/mozilla/content/xslt/src/xpath/txFunctionLib.h +++ b/mozilla/content/xslt/src/xpath/txFunctionLib.h @@ -27,7 +27,7 @@ * Marina Mechtcheriakova * -- added support for lang function * - * $Id: txFunctionLib.h,v 1.6 2005-11-02 07:33:48 kvisco%ziplink.net Exp $ + * $Id: txFunctionLib.h,v 1.7 2005-11-02 07:33:49 Peter.VanderBeken%pandora.be Exp $ */ #include "TxString.h" @@ -345,9 +345,9 @@ public: enum numberFunctions { NUMBER = 1, //-- number() - ROUND, //-- round() - FLOOR, //-- floor() - CEILING //-- ceiling() + ROUND, //-- round() + FLOOR, //-- floor() + CEILING //-- ceiling() }; /** diff --git a/mozilla/content/xslt/src/xpath/txNumberFunctionCall.cpp b/mozilla/content/xslt/src/xpath/txNumberFunctionCall.cpp index fe67f135b73..7a8638e7ec9 100644 --- a/mozilla/content/xslt/src/xpath/txNumberFunctionCall.cpp +++ b/mozilla/content/xslt/src/xpath/txNumberFunctionCall.cpp @@ -25,7 +25,7 @@ * Nisheeth Ranjan, nisheeth@netscape.com * -- implemented rint function, which was not available on Windows. * - * $Id: txNumberFunctionCall.cpp,v 1.5 2005-11-02 07:33:40 kvisco%ziplink.net Exp $ + * $Id: txNumberFunctionCall.cpp,v 1.6 2005-11-02 07:33:41 Peter.VanderBeken%pandora.be Exp $ */ /* @@ -50,18 +50,18 @@ NumberFunctionCall::NumberFunctionCall(short type) : FunctionCall() { this->type = type; switch ( type ) { case ROUND : - FunctionCall::setName(XPathNames::ROUND_FN); - break; + FunctionCall::setName(XPathNames::ROUND_FN); + break; case CEILING : - FunctionCall::setName(XPathNames::CEILING_FN); - break; + FunctionCall::setName(XPathNames::CEILING_FN); + break; case FLOOR : - FunctionCall::setName(XPathNames::FLOOR_FN); - break; + FunctionCall::setName(XPathNames::FLOOR_FN); + break; case NUMBER : default : - FunctionCall::setName(XPathNames::NUMBER_FN); - break; + FunctionCall::setName(XPathNames::NUMBER_FN); + break; } } //-- NumberFunctionCall @@ -72,7 +72,7 @@ static double rint(double r) double fraction = 0; fraction = modf(r, &integerPart); if (fraction >= 0.5) - integerPart++; + integerPart++; return integerPart; } @@ -94,69 +94,69 @@ ExprResult* NumberFunctionCall::evaluate(Node* context, ContextState* cs) { switch ( type ) { case CEILING : - if ( requireParams(1, 1, cs) ) { - double dbl = evaluateToNumber((Expr*)iter->next(), context, cs); - result->setValue(ceil(dbl)); - } - else { - result->setValue(0.0); - } - break; + if ( requireParams(1, 1, cs) ) { + double dbl = evaluateToNumber((Expr*)iter->next(), context, cs); + result->setValue(ceil(dbl)); + } + else { + result->setValue(0.0); + } + break; case FLOOR : - if ( requireParams(1, 1, cs) ) { - double dbl = evaluateToNumber((Expr*)iter->next(), context, cs); - result->setValue(floor(dbl)); - } - else { - result->setValue(0.0); - } - break; + if ( requireParams(1, 1, cs) ) { + double dbl = evaluateToNumber((Expr*)iter->next(), context, cs); + result->setValue(floor(dbl)); + } + else { + result->setValue(0.0); + } + break; case ROUND : - if ( requireParams(1, 1, cs) ) { - double dbl = evaluateToNumber((Expr*)iter->next(), context, cs); - double res = rint(dbl); - if ((dbl>0.0) && (res == dbl-0.5)) { - // fix for native round function from math library (rint()) which does not - // match the XPath spec for positive half values - result->setValue(res+1.0); - } - else { - result->setValue(res); - } - break; - } - else result->setValue(0.0); - break; + if ( requireParams(1, 1, cs) ) { + double dbl = evaluateToNumber((Expr*)iter->next(), context, cs); + double res = rint(dbl); + if ((dbl>0.0) && (res == dbl-0.5)) { + // fix for native round function from math library (rint()) which does not + // match the XPath spec for positive half values + result->setValue(res+1.0); + } + else { + result->setValue(res); + } + break; + } + else result->setValue(0.0); + break; case NUMBER : default : //-- number( object? ) - if ( requireParams(0, 1, cs) ) { - if (iter->hasNext()) { - param = (Expr*) iter->next(); - ExprResult* exprResult = param->evaluate(context, cs); - result->setValue(exprResult->numberValue()); - delete exprResult; - } - else { - String resultStr; - DOMString temp; - XMLDOMUtils::getNodeValue(context, &temp); - if ( cs->isStripSpaceAllowed(context) ) { - XMLUtils::stripSpace(temp, resultStr); - } - else { - resultStr.append(temp); - } - Double dbl(resultStr); - result->setValue(dbl.doubleValue()); - } - } - else { - result = new NumberResult(0.0); - } - break; + if ( requireParams(0, 1, cs) ) { + if (iter->hasNext()) { + param = (Expr*) iter->next(); + ExprResult* exprResult = param->evaluate(context, cs); + result->setValue(exprResult->numberValue()); + delete exprResult; + } + else { + String resultStr; + String temp; + XMLDOMUtils::getNodeValue(context, &temp); + if ( cs->isStripSpaceAllowed(context) ) { + XMLUtils::stripSpace(temp, resultStr); + } + else { + resultStr.append(temp); + } + Double dbl(resultStr); + result->setValue(dbl.doubleValue()); + } + } + else { + result = new NumberResult(0.0); + } + break; } delete iter; return result; diff --git a/mozilla/content/xslt/src/xpath/txNumberResult.cpp b/mozilla/content/xslt/src/xpath/txNumberResult.cpp index f3c79e995d1..1a5f9a374ff 100644 --- a/mozilla/content/xslt/src/xpath/txNumberResult.cpp +++ b/mozilla/content/xslt/src/xpath/txNumberResult.cpp @@ -21,14 +21,14 @@ * Keith Visco, kvisco@ziplink.net * -- original author. * - * $Id: txNumberResult.cpp,v 1.4 2005-11-02 07:33:59 Peter.VanderBeken%pandora.be Exp $ + * $Id: txNumberResult.cpp,v 1.5 2005-11-02 07:34:00 Peter.VanderBeken%pandora.be Exp $ */ /** * NumberResult * Represents the a number as the result of evaluating an Expr * @author Keith Visco - * @version $Revision: 1.4 $ $Date: 2005-11-02 07:33:59 $ + * @version $Revision: 1.5 $ $Date: 2005-11-02 07:34:00 $ **/ #include "ExprResult.h" @@ -90,7 +90,7 @@ short NumberResult::getResultType() { return ExprResult::NUMBER; } //-- getResultType -void NumberResult::stringValue(DOMString& str) { +void NumberResult::stringValue(String& str) { int intVal = (int)value; if (intVal == value) { //-- no fraction Integer::toString(intVal, str); diff --git a/mozilla/content/xslt/src/xpath/txRelationalExpr.cpp b/mozilla/content/xslt/src/xpath/txRelationalExpr.cpp index 7ff0906dec0..d2c1691b32b 100644 --- a/mozilla/content/xslt/src/xpath/txRelationalExpr.cpp +++ b/mozilla/content/xslt/src/xpath/txRelationalExpr.cpp @@ -21,7 +21,7 @@ * Keith Visco, kvisco@ziplink.net * -- original author. * - * $Id: txRelationalExpr.cpp,v 1.2 2005-11-02 07:33:45 Peter.VanderBeken%pandora.be Exp $ + * $Id: txRelationalExpr.cpp,v 1.3 2005-11-02 07:33:46 Peter.VanderBeken%pandora.be Exp $ */ #include "Expr.h" @@ -62,7 +62,7 @@ MBool RelationalExpr::compareResults(ExprResult* left, ExprResult* right) { if (ltype == ExprResult::NODESET) { NodeSet* nodeSet = (NodeSet*)left; for ( int i = 0; i < nodeSet->size(); i++) { - DOMString str; + String str; Node* node = nodeSet->get(i); XMLDOMUtils::getNodeValue(node, &str); StringResult strResult(str); @@ -74,7 +74,7 @@ MBool RelationalExpr::compareResults(ExprResult* left, ExprResult* right) { else if ( rtype == ExprResult::NODESET) { NodeSet* nodeSet = (NodeSet*)right; for ( int i = 0; i < nodeSet->size(); i++) { - DOMString str; + String str; Node* node = nodeSet->get(i); XMLDOMUtils::getNodeValue(node, &str); StringResult strResult(str); @@ -101,7 +101,7 @@ MBool RelationalExpr::compareResults(ExprResult* left, ExprResult* right) { right->stringValue(rStr); result = !lStr.isEqual(rStr); } - } + } else if ( op == EQUAL) { if ((ltype == ExprResult::BOOLEAN) diff --git a/mozilla/content/xslt/src/xpath/txStringFunctionCall.cpp b/mozilla/content/xslt/src/xpath/txStringFunctionCall.cpp index 8002df65782..33bd0d1d067 100644 --- a/mozilla/content/xslt/src/xpath/txStringFunctionCall.cpp +++ b/mozilla/content/xslt/src/xpath/txStringFunctionCall.cpp @@ -21,14 +21,14 @@ * Keith Visco, kvisco@ziplink.net * -- original author. * - * $Id: txStringFunctionCall.cpp,v 1.3 2005-11-02 07:33:38 kvisco%ziplink.net Exp $ + * $Id: txStringFunctionCall.cpp,v 1.4 2005-11-02 07:33:39 Peter.VanderBeken%pandora.be Exp $ */ /** * StringFunctionCall * A representation of the XPath String funtions * @author Keith Visco - * @version $Revision: 1.3 $ $Date: 2005-11-02 07:33:38 $ + * @version $Revision: 1.4 $ $Date: 2005-11-02 07:33:39 $ **/ #include "FunctionLib.h" @@ -121,7 +121,7 @@ ExprResult* StringFunctionCall::evaluate(Node* context, ContextState* cs) { break; case STRING_LENGTH: if ( requireParams(0, 1, cs) ) { - DOMString resultStr; + String resultStr; if ( argc == 1) { evaluateToString((Expr*)iter->next(),context, cs, resultStr); } @@ -226,7 +226,7 @@ ExprResult* StringFunctionCall::evaluate(Node* context, ContextState* cs) { evaluateToString((Expr*)iter->next(),context, cs, resultStr); } else { - DOMString temp; + String temp; XMLDOMUtils::getNodeValue(context, &temp); if ( cs->isStripSpaceAllowed(context) ) { XMLUtils::stripSpace(temp, resultStr); diff --git a/mozilla/content/xslt/src/xpath/txStringResult.cpp b/mozilla/content/xslt/src/xpath/txStringResult.cpp index 0d61c617fff..d1b705d3017 100644 --- a/mozilla/content/xslt/src/xpath/txStringResult.cpp +++ b/mozilla/content/xslt/src/xpath/txStringResult.cpp @@ -21,14 +21,14 @@ * Keith Visco, kvisco@ziplink.net * -- original author. * - * $Id: txStringResult.cpp,v 1.4 2005-11-02 07:33:55 Peter.VanderBeken%pandora.be Exp $ + * $Id: txStringResult.cpp,v 1.5 2005-11-02 07:33:56 Peter.VanderBeken%pandora.be Exp $ */ /** * StringResult * Represents a String as a Result of evaluating an Expr * @author Keith Visco - * @version $Revision: 1.4 $ $Date: 2005-11-02 07:33:55 $ + * @version $Revision: 1.5 $ $Date: 2005-11-02 07:33:56 $ **/ #include "ExprResult.h" @@ -81,7 +81,7 @@ short StringResult::getResultType() { return ExprResult::STRING; } //-- getResultType -void StringResult::stringValue(DOMString& str) { +void StringResult::stringValue(String& str) { str.append(this->value); } //-- stringValue diff --git a/mozilla/content/xslt/src/xslt/txDocumentFunctionCall.cpp b/mozilla/content/xslt/src/xslt/txDocumentFunctionCall.cpp index 4c9f57725ab..7cb9d7bb31b 100644 --- a/mozilla/content/xslt/src/xslt/txDocumentFunctionCall.cpp +++ b/mozilla/content/xslt/src/xslt/txDocumentFunctionCall.cpp @@ -45,7 +45,7 @@ **/ DocumentFunctionCall::DocumentFunctionCall(Document* xslDocument) : FunctionCall(DOCUMENT_FN) { - this->xslDocument = xslDocument; + this->xslDocument = xslDocument; } //-- DocumentFunctionCall @@ -63,58 +63,58 @@ ExprResult* DocumentFunctionCall::evaluate(Node* context, ContextState* cs) { //-- document( object, node-set? ) if ( requireParams(1, 2, cs) ) { - ListIterator* iter = params.iterator(); - Expr* param1 = (Expr*) iter->next(); - ExprResult* exprResult1 = param1->evaluate(context, cs); - NodeSet* nodeSet2 = 0; + ListIterator* iter = params.iterator(); + Expr* param1 = (Expr*) iter->next(); + ExprResult* exprResult1 = param1->evaluate(context, cs); + NodeSet* nodeSet2 = 0; - if (iter->hasNext()) { - // we have 2 arguments, make sure the second is a NodeSet - Expr* param2 = (Expr*) iter->next(); - ExprResult* exprResult2 = param2->evaluate(context, cs); - if ( exprResult2->getResultType() != ExprResult::NODESET ) { - String err("node-set expected as second argument to document()"); - cs->recieveError(err); - delete exprResult2; - } - else { - nodeSet2 = (NodeSet*) exprResult2; - } - } + if (iter->hasNext()) { + // we have 2 arguments, make sure the second is a NodeSet + Expr* param2 = (Expr*) iter->next(); + ExprResult* exprResult2 = param2->evaluate(context, cs); + if ( exprResult2->getResultType() != ExprResult::NODESET ) { + String err("node-set expected as second argument to document()"); + cs->recieveError(err); + delete exprResult2; + } + else { + nodeSet2 = (NodeSet*) exprResult2; + } + } - if ( exprResult1->getResultType() == ExprResult::NODESET ) { - // The first argument is a NodeSet, iterate on its nodes - NodeSet* nodeSet1 = (NodeSet*) exprResult1; - for (int i=0; isize(); i++) { - Node* node = nodeSet1->get(i); - DOMString uriStr; - XMLDOMUtils::getNodeValue(node, &uriStr); - if (nodeSet2) { - // if the second argument was specified, use it - String baseUriStr; - // TODO: retrieve the base URI of the first node of nodeSet2 in document order - retrieveDocument(uriStr, baseUriStr, *nodeSet, cs); - } - else { - // otherwise, use the base URI of the node itself - String baseUriStr; - // TODO: retrieve the base URI of node - retrieveDocument(uriStr, baseUriStr, *nodeSet, cs); - } - } - } + if ( exprResult1->getResultType() == ExprResult::NODESET ) { + // The first argument is a NodeSet, iterate on its nodes + NodeSet* nodeSet1 = (NodeSet*) exprResult1; + for (int i=0; isize(); i++) { + Node* node = nodeSet1->get(i); + String uriStr; + XMLDOMUtils::getNodeValue(node, &uriStr); + if (nodeSet2) { + // if the second argument was specified, use it + String baseUriStr; + // TODO: retrieve the base URI of the first node of nodeSet2 in document order + retrieveDocument(uriStr, baseUriStr, *nodeSet, cs); + } + else { + // otherwise, use the base URI of the node itself + String baseUriStr; + // TODO: retrieve the base URI of node + retrieveDocument(uriStr, baseUriStr, *nodeSet, cs); + } + } + } - else { - // The first argument is not a NodeSet - String uriStr; - evaluateToString(param1, context, cs, uriStr); - String baseUriStr; - // TODO: retrieve the base URI of the first node of nodeSet2 in document order - retrieveDocument(uriStr, baseUriStr, *nodeSet, cs); - } - delete exprResult1; - delete nodeSet2; - delete iter; + else { + // The first argument is not a NodeSet + String uriStr; + evaluateToString(param1, context, cs, uriStr); + String baseUriStr; + // TODO: retrieve the base URI of the first node of nodeSet2 in document order + retrieveDocument(uriStr, baseUriStr, *nodeSet, cs); + } + delete exprResult1; + delete nodeSet2; + delete iter; } return nodeSet; @@ -134,34 +134,34 @@ ExprResult* DocumentFunctionCall::evaluate(Node* context, ContextState* cs) { */ void DocumentFunctionCall::retrieveDocument(String& uri, String& baseUri, NodeSet& resultNodeSet, ContextState* cs) { - if (uri.length() == 0) { - // if uri is the empty String, the document is the stylesheet itself - resultNodeSet.add(xslDocument); - return; - } + if (uri.length() == 0) { + // if uri is the empty String, the document is the stylesheet itself + resultNodeSet.add(xslDocument); + return; + } - // open URI - String errMsg("error: "); - istream* xmlInput = URIUtils::getInputStream(uri, baseUri, errMsg); - if (!xmlInput) { - String err("in document() function: failed to open URI: "); - err.append(uri); - cs->recieveError(err); - return; - } + // open URI + String errMsg("error: "); + istream* xmlInput = URIUtils::getInputStream(uri, baseUri, errMsg); + if (!xmlInput) { + String err("in document() function: failed to open URI: "); + err.append(uri); + cs->recieveError(err); + return; + } - // parse document - XMLParser xmlParser; - Document* xmlDoc = xmlParser.parse(*xmlInput); - if (!xmlDoc) { - String err("in document() function: "); - err.append(xmlParser.getErrorString()); - cs->recieveError(err); - return; - } + // parse document + XMLParser xmlParser; + Document* xmlDoc = xmlParser.parse(*xmlInput); + if (!xmlDoc) { + String err("in document() function: "); + err.append(xmlParser.getErrorString()); + cs->recieveError(err); + return; + } - // append the to resultNodeSet - resultNodeSet.add(xmlDoc); + // append the to resultNodeSet + resultNodeSet.add(xmlDoc); }