public void AddNamespace(XmlNamespaceAttribute attribute)
        {
            var prefix = attribute.Prefix;
            var uri    = attribute.NamespaceUri;

            if (string.IsNullOrEmpty(uri))
            {
                throw Error.InvalidNamespaceUri();
            }

            if (attribute.Default)
            {
                AddNamespace(string.Empty, uri);
            }

            if (string.IsNullOrEmpty(prefix))
            {
                return;
            }

            AddNamespace(prefix, uri);

            if (attribute.Root)
            {
                EnsureRootNamespaces().Add(prefix, uri);
            }
        }
		public void AddNamespace(XmlNamespaceAttribute attribute)
		{
			var prefix = attribute.Prefix;
			var uri    = attribute.NamespaceUri;

			if (string.IsNullOrEmpty(uri))
				throw Error.InvalidNamespaceUri();

			if (attribute.Default)
				AddNamespace(string.Empty, uri);

			if (string.IsNullOrEmpty(prefix))
				return;

			AddNamespace(prefix, uri);

			if (attribute.Root)
				EnsureRootNamespaces().Add(prefix, uri);
		}