|
using System;
namespace AngleSharp.DOM
{
/// <summary>
/// Represents an entity node.
/// </summary>
[DOM("Entity")]
public sealed class Entity : Node
{
#region Members
string _publicId;
string _systemId;
string _notationName;
string _inputEncoding;
string _xmlVersion;
string _xmlEncoding;
#endregion
#region ctor
/// <summary>
/// Creates a new entity node.
/// </summary>
internal Entity()
{
_type = NodeType.Entity;
}
/// <summary>
/// Creates a new entity node.
/// </summary>
/// <param name="name">Name of the entity.</param>
internal Entity(string name)
: this()
{
_name = name;
}
#endregion
#region Properties
/// <summary>
/// Gets the public identiifer.
/// </summary>
[DOM("publicId")]
public String PublicId
{
get { return _publicId; }
}
/// <summary>
/// Gets the system identifier.
/// </summary>
[DOM("systemId")]
public String SystemId
{
get { return _systemId; }
}
/// <summary>
/// Gets the notation name.
/// </summary>
[DOM("notationName")]
public String NotationName
{
get { return _notationName; }
}
/// <summary>
/// Gets the used input encoding.
/// </summary>
[DOM("inputEncoding")]
public String InputEncoding
{
get { return _inputEncoding; }
}
/// <summary>
/// Gets the used XML encoding.
/// </summary>
[DOM("xmlEncoding")]
public String XmlEncoding
{
get { return _xmlEncoding; }
}
/// <summary>
/// Gets the used XML version.
/// </summary>
[DOM("xmlVersion")]
public String XmlVersion
{
get { return _xmlVersion; }
}
#endregion
#region Methods
/// <summary>
/// Returns a duplicate of the node on which this method was called.
/// </summary>
/// <param name="deep">Optional value: true if the children of the node should also be cloned, or false to clone only the specified node.</param>
/// <returns>The duplicate node.</returns>
[DOM("cloneNode")]
public override Node CloneNode(Boolean deep = true)
{
var node = new Entity();
CopyProperties(this, node, deep);
node._xmlEncoding = this._xmlEncoding;
node._xmlVersion = this._xmlVersion;
node._systemId = this._systemId;
node._publicId = this._publicId;
node._inputEncoding = this._inputEncoding;
node._notationName = this._notationName;
return node;
}
/// <summary>
/// Returns the prefix for a given namespaceURI if present, and null if not. When multiple prefixes are possible,
/// the result is implementation-dependent.
/// </summary>
/// <param name="namespaceURI">The namespaceURI to lookup.</param>
/// <returns>The prefix.</returns>
[DOM("lookupPrefix")]
public override String LookupPrefix(String namespaceURI)
{
return null;
}
/// <summary>
/// Accepts a namespace URI as an argument and returns true if the namespace is the default namespace on the given node or false if not.
/// </summary>
/// <param name="namespaceURI">A string representing the namespace against which the element will be checked.</param>
/// <returns>True if the given namespaceURI is the default namespace.</returns>
[DOM("isDefaultNamespace")]
public override Boolean IsDefaultNamespace(String namespaceURI)
{
return false;
}
/// <summary>
/// Takes a prefix and returns the namespaceURI associated with it on the given node if found (and null if not).
/// Supplying null for the prefix will return the default namespace.
/// </summary>
/// <param name="prefix">The prefix to look for.</param>
/// <returns>The namespace URI.</returns>
[DOM("lookupNamespaceURI")]
public override String LookupNamespaceURI(String prefix)
{
return null;
}
#endregion
}
}
|
By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.
If a file you wish to view isn't highlighted, and is a text file (not binary), please
let us know and we'll add colourisation support for it.
Florian lives in Munich, Germany. He started his programming career with Perl. After programming C/C++ for some years he discovered his favorite programming language C#. He did work at Siemens as a programmer until he decided to study Physics.
During his studies he worked as an IT consultant for various companies. After graduating with a PhD in theoretical particle Physics he is working as a senior technical consultant in the field of home automation and IoT.
Florian has been giving lectures in C#, HTML5 with CSS3 and JavaScript, software design, and other topics. He is regularly giving talks at user groups, conferences, and companies. He is actively contributing to open-source projects. Florian is the maintainer of AngleSharp, a completely managed browser engine.