 			else
 				_namespaces.push(ns);
 
-			if(ns.prefix == _name.prefix)
-				_name.prefix = undefined;
+			if(ns.prefix == name().prefix)
+				name().prefix = undefined;
 
 			for(i=0;i<_attributes.length;i++)
 			{

				}
				else
				{
					qname = new QName(_name);
					if(!qname.uri && defaultNamespace)
					{
						qname = new QName(defaultNamespace);

		 */
		public function localName():Object
		{
			return name().localName;
		}

		private var _name:QName;
		
		/**
		 * Gives the qualified name for the XML object.
		 * 
		 * @return 
		 * 
		 */
		public function name():Object
		{
			if(!_name)
				_name = new QName();
			return _name;
		}
		
		/**
		 * If no parameter is provided, gives the namespace associated with the qualified name of this XML object.
		 * 
		 * @param prefix
		 * @return 
		 * 
		 */
		public function namespace(prefix:String = null):*
		{
			return null;
		}
		
		/**
		 * Lists namespace declarations associated with the XML object in the context of its parent.
		 * 
		 * @return 
		 * 
		 */
		public function namespaceDeclarations():Array
		{
			return null;
		}
		
		private var _nodeKind:String = "element";
		/**
		 * Specifies the type of node: text, comment, processing-instruction, attribute, or element.
