1
0
mirror of https://github.com/Halofreak1990/XFXFramework synced 2024-12-26 13:49:34 +01:00
Tom Lint 7e74ae8683 Added System::Type
Added TypeInfo for all relevant types
Added comments
Updated DependencyProperty to work with System::Type
Fixed casing on PropertyMetadata
2013-07-12 21:30:13 +02:00

88 lines
3.1 KiB
C++

/*****************************************************************************
* XmlNode.h *
* *
* System::Xml::XmlNode definition file *
* Copyright (c) XFX Team. All rights reserved *
*****************************************************************************/
#ifndef _SYSTEM_XML_XMLNODE_
#define _SYSTEM_XML_XMLNODE_
#include <System/String.h>
#include <System/Xml/Enums.h>
#include <System/Xml/Schema/Interfaces.h>
#include <System/Xml/XPath/Interfaces.h>
using namespace System::Xml::Schema;
using namespace System::Xml::XPath;
namespace System
{
class XmlAttributeCollection;
class XmlDocument;
class XmlElement;
class XmlNamespaceManager;
class XmlNodeList;
class XmlWriter;
namespace Xml
{
/**
* Represents a single node in the XML document.
*/
class XmlNode : public IXPathNavigable, public Object
{
public:
virtual XmlAttributeCollection* getAttributes();
virtual String getBaseURI();
virtual XmlNodeList getChildNodes();
virtual XmlNode* getFirstChild();
virtual bool HasChildNodes();
virtual String getInnerText();
virtual void setInnerText(const String& value);
virtual String getInnerXml();
virtual void setInnerXml(const String& value);
virtual bool IsReadOnly();
virtual XmlNode* getLastChild();
virtual String getLocalName() =0;
virtual String getName() =0;
virtual String getNamespaceURI();
virtual XmlNode* getNextSibling();
virtual XmlNodeType_t getNodeType() =0;
virtual String getOuterXml();
virtual XmlDocument* getOwnerDocument();
virtual XmlNode* getParentNode();
virtual String getPrefix();
virtual void setPrefix(const String& value);
virtual XmlNode* getPreviousSibling();
virtual IXmlSchemaInfo* getSchemaInfo();
//virtual XmlElement* operator[](const String& localname, const String& ns);
virtual XmlElement* operator[](const String& name);
virtual String getValue() const;
virtual void setValue(const String& value);
virtual XmlNode* AppendChild(XmlNode * const newChild);
virtual XmlNode* CloneNode(bool deep) =0;
XPathNavigator* CreateNavigator();
virtual String GetNamespaceOfPrefix(const String& prefix);
virtual String GetPrefixOfNamespace(const String& namespaceURI);
static const Type& GetType();
virtual XmlNode* InsertAfter(XmlNode* newChild, XmlNode* refChild);
virtual XmlNode* InsertBefore(XmlNode* newChild, XmlNode* refChild);
virtual void Normalize();
virtual XmlNode* PrependChild(XmlNode* newChild);
virtual void RemoveAll();
virtual XmlNode* RemoveChild(XmlNode* oldChild);
virtual XmlNode* ReplaceChild(XmlNode* newChild, XmlNode* oldChild);
XmlNodeList SelectNodes(const String& xpath);
XmlNodeList SelectNodes(const String& xpath, XmlNamespaceManager nsmgr);
XmlNode* SelectSingleNode(const String& xpath);
XmlNode* SelectSingleNode(const String& xpath, XmlNamespaceManager nsmgr);
virtual bool Supports(const String& feature, const String& version);
virtual void WriteContentTo(XmlWriter * const w) =0;
virtual void WriteTo(XmlWriter * const w) =0;
};
}
}
#endif //_SYSTEM_XML_XMLNODE_