System.Xml.XmlDocument.AddAttrXmlName C# (CSharp) Method

AddAttrXmlName() private method

private AddAttrXmlName ( string prefix, string localName, string namespaceURI, IXmlSchemaInfo schemaInfo ) : XmlName
prefix string
localName string
namespaceURI string
schemaInfo IXmlSchemaInfo
return XmlName
        internal XmlName AddAttrXmlName(string prefix, string localName, string namespaceURI, IXmlSchemaInfo schemaInfo)
        {
            XmlName xmlName = AddXmlName(prefix, localName, namespaceURI, schemaInfo);
            Debug.Assert((prefix == null) ? (xmlName.Prefix.Length == 0) : (prefix == xmlName.Prefix));
            Debug.Assert(xmlName.LocalName == localName);
            Debug.Assert((namespaceURI == null) ? (xmlName.NamespaceURI.Length == 0) : (xmlName.NamespaceURI == namespaceURI));

            if (!this.IsLoading)
            {
                // Use atomized versions instead of prefix, localName and nsURI
                object oPrefix = xmlName.Prefix;
                object oNamespaceURI = xmlName.NamespaceURI;
                object oLocalName = xmlName.LocalName;
                if ((oPrefix == (object)strXmlns || (oPrefix == (object)strEmpty && oLocalName == (object)strXmlns)) ^ (oNamespaceURI == (object)strReservedXmlns))
                    throw new ArgumentException(SR.Format(SR.Xdom_Attr_Reserved_XmlNS, namespaceURI));
            }
            return xmlName;
        }

Usage Example

Example #1
0
        private void ValidateNode(XmlNode node)
        {
            _currentNode = node;
            switch (_currentNode.NodeType)
            {
            case XmlNodeType.Document:
                XmlElement docElem = ((XmlDocument)node).DocumentElement;
                if (docElem == null)
                {
                    throw new InvalidOperationException(SR.Format(SR.Xml_InvalidXmlDocument, SR.Xdom_NoRootEle));
                }
                ValidateNode(docElem);
                break;

            case XmlNodeType.DocumentFragment:
            case XmlNodeType.EntityReference:
                for (XmlNode child = node.FirstChild; child != null; child = child.NextSibling)
                {
                    ValidateNode(child);
                }
                break;

            case XmlNodeType.Element:
                ValidateElement();
                break;

            case XmlNodeType.Attribute:     //Top-level attribute
                XmlAttribute attr = _currentNode as XmlAttribute;
                _validator.ValidateAttribute(attr.LocalName, attr.NamespaceURI, _nodeValueGetter, _attributeSchemaInfo);
                if (_psviAugmentation)
                {
                    attr.XmlName = _document.AddAttrXmlName(attr.Prefix, attr.LocalName, attr.NamespaceURI, _attributeSchemaInfo);
                }
                break;

            case XmlNodeType.Text:
                _validator.ValidateText(_nodeValueGetter);
                break;

            case XmlNodeType.CDATA:
                _validator.ValidateText(_nodeValueGetter);
                break;

            case XmlNodeType.Whitespace:
            case XmlNodeType.SignificantWhitespace:
                _validator.ValidateWhitespace(_nodeValueGetter);
                break;

            case XmlNodeType.Comment:
            case XmlNodeType.ProcessingInstruction:
                break;

            default:
                throw new InvalidOperationException(SR.Format(SR.Xml_UnexpectedNodeType, new string[] { _currentNode.NodeType.ToString() }));
            }
        }
All Usage Examples Of System.Xml.XmlDocument::AddAttrXmlName