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);
}