Exemple #1
0
        public override bool Equals(object obj)
        {
            PrefixHandle that = obj as PrefixHandle;

            if (object.ReferenceEquals(that, null))
            {
                return(false);
            }
            return(this == that);
        }
 private bool Equals2(PrefixHandle prefix2)
 {
     PrefixHandleType type = this.type;
     PrefixHandleType type2 = prefix2.type;
     if (type != type2)
     {
         return false;
     }
     if (type != PrefixHandleType.Buffer)
     {
         return true;
     }
     if (this.bufferReader == prefix2.bufferReader)
     {
         return this.bufferReader.Equals2(this.offset, this.length, prefix2.offset, prefix2.length);
     }
     return this.bufferReader.Equals2(this.offset, this.length, prefix2.bufferReader, prefix2.offset, prefix2.length);
 }
Exemple #3
0
        private bool Equals2(PrefixHandle prefix2)
        {
            PrefixHandleType type  = this.type;
            PrefixHandleType type2 = prefix2.type;

            if (type != type2)
            {
                return(false);
            }
            if (type != PrefixHandleType.Buffer)
            {
                return(true);
            }
            if (this.bufferReader == prefix2.bufferReader)
            {
                return(this.bufferReader.Equals2(this.offset, this.length, prefix2.offset, prefix2.length));
            }
            return(this.bufferReader.Equals2(this.offset, this.length, prefix2.bufferReader, prefix2.offset, prefix2.length));
        }
Exemple #4
0
        private bool Equals2(PrefixHandle prefix2)
        {
            PrefixHandleType type1 = _type;
            PrefixHandleType type2 = prefix2._type;

            if (type1 != type2)
            {
                return(false);
            }
            if (type1 != PrefixHandleType.Buffer)
            {
                return(true);
            }
            if (_bufferReader == prefix2._bufferReader)
            {
                return(_bufferReader.Equals2(_offset, _length, prefix2._offset, prefix2._length));
            }
            else
            {
                return(_bufferReader.Equals2(_offset, _length, prefix2._bufferReader, prefix2._offset, prefix2._length));
            }
        }
Exemple #5
0
 protected Namespace LookupNamespace(PrefixHandle prefix)
 {
     Namespace ns = _nsMgr.LookupNamespace(prefix);
     if (ns == null)
         XmlExceptionHelper.ThrowUndefinedPrefix(this, prefix.GetString());
     return ns;
 }
Exemple #6
0
 protected XmlTextNode(XmlNodeType nodeType,
                   PrefixHandle prefix,
                   StringHandle localName,
                   ValueHandle value,
                   XmlNodeFlags nodeFlags,
                   ReadState readState,
                   XmlAttributeTextNode attributeTextNode,
                   int depthDelta)
     :
     base(nodeType, prefix, localName, value, nodeFlags, readState, attributeTextNode, depthDelta)
 {
 }
Exemple #7
0
 public Namespace LookupNamespace(PrefixHandle prefix)
 {
     PrefixHandleType shortPrefix;
     if (prefix.TryGetShortPrefix(out shortPrefix))
         return LookupNamespace(shortPrefix);
     for (int i = _nsCount - 1; i >= 0; i--)
     {
         Namespace nameSpace = _namespaces[i];
         if (nameSpace.Prefix == prefix)
             return nameSpace;
     }
     if (prefix.IsXml)
         return XmlNamespace;
     return null;
 }
Exemple #8
0
            protected XmlNode(XmlNodeType nodeType,
                              PrefixHandle prefix,
                              StringHandle localName,
                              ValueHandle value,
                              XmlNodeFlags nodeFlags,
                              ReadState readState,
                              XmlAttributeTextNode attributeTextNode,
                              int depthDelta)
            {
                _nodeType = nodeType;
                _prefix = prefix;
                _localName = localName;
                _value = value;
                _ns = NamespaceManager.EmptyNamespace;
                _hasValue = ((nodeFlags & XmlNodeFlags.HasValue) != 0);
                _canGetAttribute = ((nodeFlags & XmlNodeFlags.CanGetAttribute) != 0);
                _canMoveToElement = ((nodeFlags & XmlNodeFlags.CanMoveToElement) != 0);
                _isAtomicValue = ((nodeFlags & XmlNodeFlags.AtomicValue) != 0);
                _skipValue = ((nodeFlags & XmlNodeFlags.SkipValue) != 0);
                _hasContent = ((nodeFlags & XmlNodeFlags.HasContent) != 0);
                _readState = readState;
                _attributeTextNode = attributeTextNode;
                _exitScope = (nodeType == XmlNodeType.EndElement);
                _depthDelta = depthDelta;
                _isEmptyElement = false;
                _quoteChar = '"';

                _qnameType = QNameType.Normal;
            }
Exemple #9
0
 private XmlAttributeNode(PrefixHandle prefix, StringHandle localName, ValueHandle value)
     : base(XmlNodeType.Attribute,
            prefix,
            localName,
            value,
            XmlNodeFlags.CanGetAttribute | XmlNodeFlags.CanMoveToElement | XmlNodeFlags.HasValue | XmlNodeFlags.AtomicValue,
            ReadState.Interactive,
            new XmlAttributeTextNode(prefix, localName, value),
            0)
 {
 }
Exemple #10
0
 public void ToPrefixHandle(PrefixHandle prefix)
 {
     DiagnosticUtility.DebugAssert(_type == StringHandleType.UTF8, "");
     prefix.SetValue(_offset, _length);
 }
 private void ReadQualifiedName(PrefixHandle prefix, StringHandle localName)
 {
     int num;
     int num2;
     byte[] buffer = base.BufferReader.GetBuffer(out num, out num2);
     int index = 0;
     int num4 = 0;
     int num5 = 0;
     int offset = num;
     if (num < num2)
     {
         index = buffer[num];
         num5 = index;
         if ((charType[index] & 1) == 0)
         {
             num4 |= 0x80;
         }
         num4 |= index;
         num++;
         while (num < num2)
         {
             index = buffer[num];
             if ((charType[index] & 2) == 0)
             {
                 break;
             }
             num4 |= index;
             num++;
         }
     }
     else
     {
         num4 |= 0x80;
         index = 0;
     }
     if (index != 0x3a)
     {
         prefix.SetValue(PrefixHandleType.Empty);
         localName.SetValue(offset, num - offset);
         if (num4 >= 0x80)
         {
             this.VerifyNCName(localName.GetString());
         }
     }
     else
     {
         int length = num - offset;
         if (((length == 1) && (num5 >= 0x61)) && (num5 <= 0x7a))
         {
             prefix.SetValue(PrefixHandle.GetAlphaPrefix(num5 - 0x61));
         }
         else
         {
             prefix.SetValue(offset, length);
         }
         num++;
         int num8 = num;
         if (num < num2)
         {
             index = buffer[num];
             if ((charType[index] & 1) == 0)
             {
                 num4 |= 0x80;
             }
             num4 |= index;
             num++;
             while (num < num2)
             {
                 index = buffer[num];
                 if ((charType[index] & 2) == 0)
                 {
                     break;
                 }
                 num4 |= index;
                 num++;
             }
         }
         else
         {
             num4 |= 0x80;
             index = 0;
         }
         localName.SetValue(num8, num - num8);
         if (num4 >= 0x80)
         {
             this.VerifyNCName(prefix.GetString());
             this.VerifyNCName(localName.GetString());
         }
     }
     base.BufferReader.Advance(num - offset);
 }
Exemple #12
0
 public int CompareTo(PrefixHandle that)
 {
     return(GetString().CompareTo(that.GetString()));
 }
 public XmlUTF8TextReader()
 {
     this.prefix    = new PrefixHandle(base.BufferReader);
     this.localName = new StringHandle(base.BufferReader);
 }
 public void ToPrefixHandle(PrefixHandle prefix)
 {
     prefix.SetValue(this.offset, this.length);
 }
        public XmlUTF8TextReader()
        {
            this.prefix = new PrefixHandle(BufferReader);
            this.localName = new StringHandle(BufferReader);
#if GENERATE_CHARTYPE
            CharType.Generate();
#endif
        }
 public void SetValue(PrefixHandle prefix)
 {
     this.type   = prefix.type;
     this.offset = prefix.offset;
     this.length = prefix.length;
 }
Exemple #17
0
 public void SetValue(PrefixHandle prefix)
 {
     _type = prefix._type;
     _offset = prefix._offset;
     _length = prefix._length;
 }
 public void ToPrefixHandle(PrefixHandle prefix)
 {
     Fx.Assert(type == StringHandleType.UTF8, "");
     prefix.SetValue(offset, length);
 }
Exemple #19
0
 private bool Equals2(PrefixHandle prefix2)
 {
     PrefixHandleType type1 = _type;
     PrefixHandleType type2 = prefix2._type;
     if (type1 != type2)
         return false;
     if (type1 != PrefixHandleType.Buffer)
         return true;
     if (_bufferReader == prefix2._bufferReader)
         return _bufferReader.Equals2(_offset, _length, prefix2._offset, prefix2._length);
     else
         return _bufferReader.Equals2(_offset, _length, prefix2._bufferReader, prefix2._offset, prefix2._length);
 }
Exemple #20
0
 private string GetQNameDictionaryText()
 {
     DiagnosticUtility.DebugAssert(_type == ValueHandleType.QName, "");
     return(string.Concat(PrefixHandle.GetString(PrefixHandle.GetAlphaPrefix(_length)), ":", _bufferReader.GetDictionaryString(_offset)));
 }
 private void ReadName(PrefixHandle prefix)
 {
     int count = this.ReadMultiByteUInt31();
     int offset = base.BufferReader.ReadBytes(count);
     prefix.SetValue(offset, count);
 }
        private void ReadQualifiedName(PrefixHandle prefix, StringHandle localName)
        {
            int offset;
            int offsetMax;
            byte[] buffer = BufferReader.GetBuffer(out offset, out offsetMax);

            int ch = 0;
            int anyChar = 0;
            int prefixChar = 0;
            int prefixOffset = offset;
            if (offset < offsetMax)
            {
                ch = buffer[offset];
                prefixChar = ch;
                if ((s_charType[ch] & CharType.FirstName) == 0)
                    anyChar |= 0x80;
                anyChar |= ch;
                offset++;
                while (offset < offsetMax)
                {
                    ch = buffer[offset];
                    if ((s_charType[ch] & CharType.Name) == 0)
                        break;
                    anyChar |= ch;
                    offset++;
                }
            }
            else
            {
                anyChar |= 0x80;
                ch = 0;
            }
            if (ch == ':')
            {
                int prefixLength = offset - prefixOffset;
                if (prefixLength == 1 && prefixChar >= 'a' && prefixChar <= 'z')
                    prefix.SetValue(PrefixHandle.GetAlphaPrefix(prefixChar - 'a'));
                else
                    prefix.SetValue(prefixOffset, prefixLength);

                offset++;
                int localNameOffset = offset;
                if (offset < offsetMax)
                {
                    ch = buffer[offset];
                    if ((s_charType[ch] & CharType.FirstName) == 0)
                        anyChar |= 0x80;
                    anyChar |= ch;
                    offset++;
                    while (offset < offsetMax)
                    {
                        ch = buffer[offset];
                        if ((s_charType[ch] & CharType.Name) == 0)
                            break;
                        anyChar |= ch;
                        offset++;
                    }
                }
                else
                {
                    anyChar |= 0x80;
                    ch = 0;
                }
                localName.SetValue(localNameOffset, offset - localNameOffset);
                if (anyChar >= 0x80)
                {
                    VerifyNCName(prefix.GetString());
                    VerifyNCName(localName.GetString());
                }
            }
            else
            {
                prefix.SetValue(PrefixHandleType.Empty);
                localName.SetValue(prefixOffset, offset - prefixOffset);
                if (anyChar >= 0x80)
                {
                    VerifyNCName(localName.GetString());
                }
            }
            BufferReader.Advance(offset - prefixOffset);
        }
 public void ToPrefixHandle(PrefixHandle prefix)
 {
     Fx.Assert(type == StringHandleType.UTF8, "");
     prefix.SetValue(offset, length);
 }
 public XmlUTF8TextReader()
 {
     this.prefix = new PrefixHandle(base.BufferReader);
     this.localName = new StringHandle(base.BufferReader);
 }
        private void ReadQualifiedName(PrefixHandle prefix, StringHandle localName)
        {
            int num;
            int num2;

            byte[] buffer = base.BufferReader.GetBuffer(out num, out num2);
            int    index  = 0;
            int    num4   = 0;
            int    num5   = 0;
            int    offset = num;

            if (num < num2)
            {
                index = buffer[num];
                num5  = index;
                if ((charType[index] & 1) == 0)
                {
                    num4 |= 0x80;
                }
                num4 |= index;
                num++;
                while (num < num2)
                {
                    index = buffer[num];
                    if ((charType[index] & 2) == 0)
                    {
                        break;
                    }
                    num4 |= index;
                    num++;
                }
            }
            else
            {
                num4 |= 0x80;
                index = 0;
            }
            if (index != 0x3a)
            {
                prefix.SetValue(PrefixHandleType.Empty);
                localName.SetValue(offset, num - offset);
                if (num4 >= 0x80)
                {
                    this.VerifyNCName(localName.GetString());
                }
            }
            else
            {
                int length = num - offset;
                if (((length == 1) && (num5 >= 0x61)) && (num5 <= 0x7a))
                {
                    prefix.SetValue(PrefixHandle.GetAlphaPrefix(num5 - 0x61));
                }
                else
                {
                    prefix.SetValue(offset, length);
                }
                num++;
                int num8 = num;
                if (num < num2)
                {
                    index = buffer[num];
                    if ((charType[index] & 1) == 0)
                    {
                        num4 |= 0x80;
                    }
                    num4 |= index;
                    num++;
                    while (num < num2)
                    {
                        index = buffer[num];
                        if ((charType[index] & 2) == 0)
                        {
                            break;
                        }
                        num4 |= index;
                        num++;
                    }
                }
                else
                {
                    num4 |= 0x80;
                    index = 0;
                }
                localName.SetValue(num8, num - num8);
                if (num4 >= 0x80)
                {
                    this.VerifyNCName(prefix.GetString());
                    this.VerifyNCName(localName.GetString());
                }
            }
            base.BufferReader.Advance(num - offset);
        }
Exemple #26
0
 public void SetValue(PrefixHandle prefix)
 {
     _type   = prefix._type;
     _offset = prefix._offset;
     _length = prefix._length;
 }
 public XmlUTF8TextReader()
 {
     _prefix = new PrefixHandle(BufferReader);
     _localName = new StringHandle(BufferReader);
 }
 public Namespace(XmlBufferReader bufferReader)
 {
     this.prefix = new PrefixHandle(bufferReader);
     this.uri = new StringHandle(bufferReader);
     this.outerUri = null;
     this.uriString = null;
 }
Exemple #29
0
 public void ToPrefixHandle(PrefixHandle prefix)
 {
     prefix.SetValue(this.offset, this.length);
 }
Exemple #30
0
 public void ToPrefixHandle(PrefixHandle prefix)
 {
     DiagnosticUtility.DebugAssert(_type == StringHandleType.UTF8, "");
     prefix.SetValue(_offset, _length);
 }
Exemple #31
0
 private XmlElementNode(PrefixHandle prefix, StringHandle localName, ValueHandle value)
     : base(XmlNodeType.Element,
            prefix,
            localName,
            value,
            XmlNodeFlags.CanGetAttribute | XmlNodeFlags.HasContent,
            ReadState.Interactive,
            null,
            -1)
 {
     _endElementNode = new XmlEndElementNode(prefix, localName, value);
 }
 public int CompareTo(PrefixHandle that)
 {
     return GetString().CompareTo(that.GetString());
 }
Exemple #33
0
 public XmlEndElementNode(PrefixHandle prefix, StringHandle localName, ValueHandle value)
     : base(XmlNodeType.EndElement,
            prefix,
            localName,
            value,
            XmlNodeFlags.HasContent,
            ReadState.Interactive,
            null,
            -1)
 {
 }
 bool Equals2(PrefixHandle prefix2)
 {
     PrefixHandleType type1 = this.type;
     PrefixHandleType type2 = prefix2.type;
     if (type1 != type2)
         return false;
     if (type1 != PrefixHandleType.Buffer)
         return true;
     if (this.bufferReader == prefix2.bufferReader)
         return bufferReader.Equals2(this.offset, this.length, prefix2.offset, prefix2.length);
     else
         return bufferReader.Equals2(this.offset, this.length, prefix2.bufferReader, prefix2.offset, prefix2.length);
 }
Exemple #35
0
 public XmlAttributeTextNode(PrefixHandle prefix, StringHandle localName, ValueHandle value)
     : base(XmlNodeType.Text,
            prefix,
            localName,
            value,
            XmlNodeFlags.HasValue | XmlNodeFlags.CanGetAttribute | XmlNodeFlags.CanMoveToElement | XmlNodeFlags.AtomicValue | XmlNodeFlags.HasContent,
            ReadState.Interactive,
            null,
            1)
 {
 }
 public void SetValue(PrefixHandle prefix)
 {
     this.type = prefix.type;
     this.offset = prefix.offset;
     this.length = prefix.length;
 }
Exemple #37
0
 public Namespace(XmlBufferReader bufferReader)
 {
     _prefix = new PrefixHandle(bufferReader);
     _uri = new StringHandle(bufferReader);
     _outerUri = null;
     _uriString = null;
 }
 string GetQNameDictionaryText()
 {
     Fx.Assert(type == ValueHandleType.QName, "");
     return(string.Concat(PrefixHandle.GetString(PrefixHandle.GetAlphaPrefix(length)), ":", bufferReader.GetDictionaryString(offset)));
 }
Exemple #39
0
 private void ReadName(PrefixHandle prefix)
 {
     int length = ReadMultiByteUInt31();
     int offset = BufferReader.ReadBytes(length);
     prefix.SetValue(offset, length);
 }
Exemple #40
0
 private string GetQNameDictionaryText()
 {
     return(PrefixHandle.GetString(PrefixHandle.GetAlphaPrefix(this.length)) + ":" + this.bufferReader.GetDictionaryString(this.offset));
 }