//Auto-generated by kalyptus. DO NOT EDIT.
namespace DOM {
	using Kimono;
	using System;
	using Qyoto;
	/// <remarks>
	///  This interface represents an entity, either parsed or unparsed, in
	///  an XML document. Note that this models the entity itself not the
	///  entity declaration. <code>Entity</code> declaration modeling has
	///  been left for a later Level of the DOM specification.
	///   The <code>nodeName</code> attribute that is inherited from
	///  <code>Node</code> contains the name of the entity.
	///   An XML processor may choose to completely expand entities before
	///  the structure model is passed to the DOM; in this case there will
	///  be no <code>EntityReference</code> nodes in the document tree.
	///   XML does not mandate that a non-validating XML processor read and
	///  process entity declarations made in the external subset or declared
	///  in external parameter entities. This means that parsed entities
	///  declared in the external subset need not be expanded by some
	///  classes of applications, and that the replacement value of the
	///  entity may not be available. When the replacement value is
	///  available, the corresponding <code>Entity</code> node's child
	///  list represents the structure of that replacement text. Otherwise,
	///  the child list is empty.
	///   The resolution of the children of the <code>Entity</code> (the
	///  replacement value) may be lazily evaluated; actions by the user
	///  (such as calling the <code>childNodes</code> method on the
	///  <code>Entity</code> Node) are assumed to trigger the evaluation.
	///   The DOM Level 1 does not support editing <code>Entity</code>
	///  nodes; if a user wants to make changes to the contents of an
	///  <code>Entity</code> , every related <code>EntityReference</code> node
	///  has to be replaced in the structure model by a clone of the
	///  <code>Entity</code> 's contents, and then the desired changes must be
	///  made to each of those clones instead. All the descendants of an
	///  <code>Entity</code> node are readonly.
	///   An <code>Entity</code> node does not have any parent.
	///  </remarks>		<short>    This interface represents an entity, either parsed or unparsed, in  an XML document.</short>
	[SmokeClass("DOM::Entity")]
	public class Entity : DOM.Node, IDisposable {
 		protected Entity(Type dummy) : base((Type) null) {}
		protected new void CreateProxy() {
			interceptor = new SmokeInvocation(typeof(Entity), this);
		}
		// DOM::Entity* Entity(DOM::EntityImpl* arg1); >>>> NOT CONVERTED
		public Entity() : this((Type) null) {
			CreateProxy();
			interceptor.Invoke("Entity", "Entity()", typeof(void));
		}
		public Entity(DOM.Entity other) : this((Type) null) {
			CreateProxy();
			interceptor.Invoke("Entity#", "Entity(const DOM::Entity&)", typeof(void), typeof(DOM.Entity), other);
		}
		public Entity(DOM.Node other) : this((Type) null) {
			CreateProxy();
			interceptor.Invoke("Entity#", "Entity(const DOM::Node&)", typeof(void), typeof(DOM.Node), other);
		}
		/// <remarks>
		///  The public identifier associated with the entity, if specified.
		///  If the public identifier was not specified, this is <code>null</code> .
		///      </remarks>		<short>    The public identifier associated with the entity, if specified.</short>
		public DOM.DOMString PublicId() {
			return (DOM.DOMString) interceptor.Invoke("publicId", "publicId() const", typeof(DOM.DOMString));
		}
		/// <remarks>
		///  The system identifier associated with the entity, if specified.
		///  If the system identifier was not specified, this is <code>null</code> .
		///      </remarks>		<short>    The system identifier associated with the entity, if specified.</short>
		public DOM.DOMString SystemId() {
			return (DOM.DOMString) interceptor.Invoke("systemId", "systemId() const", typeof(DOM.DOMString));
		}
		/// <remarks>
		///  For unparsed entities, the name of the notation for the entity.
		///  For parsed entities, this is <code>null</code> .
		///      </remarks>		<short>    For unparsed entities, the name of the notation for the entity.</short>
		public DOM.DOMString NotationName() {
			return (DOM.DOMString) interceptor.Invoke("notationName", "notationName() const", typeof(DOM.DOMString));
		}
		~Entity() {
			interceptor.Invoke("~Entity", "~Entity()", typeof(void));
		}
		public new void Dispose() {
			interceptor.Invoke("~Entity", "~Entity()", typeof(void));
		}
	}
}
