XElement::XElement(const XNode& xnode)
		: base(xnode.get_ptr().smart_dynamic_cast<Private::Element>()),	
		XName(m_ptr->XName),
		Namespaces(m_ptr->Namespaces),
		Attributes(m_ptr->Attributes),
		Nodes(m_ptr->Nodes),
		Elements(m_ptr->Elements),
		Texts(m_ptr->Texts),
		Space(m_ptr->Space)
	{		
		int c = 0;
	}
	XContainer::XContainer(const XNode& xnode)
		: base(xnode.get_ptr().smart_dynamic_cast<Private::NodeContainer>())
	{
	}