Example #1
0
            public int CompareTo(IcuDataObject other)
            {
                var _nodeTypeStrength = new Dictionary <XmlNodeType, int>
                {
                    { XmlNodeType.Attribute, 1 }, { XmlNodeType.Element, 2 }, { XmlNodeType.Text, 3 }
                };
                int result = _nodeTypeStrength[_nodeType].CompareTo(_nodeTypeStrength[other._nodeType]);

                if (result != 0)
                {
                    return(result);
                }
                switch (_nodeType)
                {
                case XmlNodeType.Attribute:
                    return(LdmlNodeComparer.CompareAttributeNames(_name, other._name));

                case XmlNodeType.Element:
                    return(LdmlNodeComparer.CompareElementNames(_name, other._name));
                }
                return(0);
            }
Example #2
0
 private void CopyUntilElement(XmlWriter writer, XmlReader reader, string elementName)
 {
     Debug.Assert(writer != null);
     Debug.Assert(reader != null);
     Debug.Assert(!string.IsNullOrEmpty(elementName));
     if (reader.NodeType == XmlNodeType.None)
     {
         reader.Read();
     }
     while (!reader.EOF && reader.NodeType != XmlNodeType.EndElement &&
            (reader.NodeType != XmlNodeType.Element || LdmlNodeComparer.CompareElementNames(reader.Name, elementName) < 0))
     {
         // XmlWriter.WriteNode doesn't do anything if the node type is Attribute
         if (reader.NodeType == XmlNodeType.Attribute)
         {
             writer.WriteAttributes(reader, false);
         }
         else
         {
             writer.WriteNode(reader, false);
         }
     }
 }