internal XmlEntityReader(XmlScanner scanner, XmlNameTable nt, XmlNamespaceManager nsMgr, XmlNodeType node, String entityName, int depth, Encoding encoding, String baseURI, bool isExternal, bool isAttributeText, bool standAlone, String originalBaseURI) : base((scanner == null ? new XmlScanner(new StringReader("a"), nt) : scanner), nt, nsMgr, node, depth, encoding, baseURI, isExternal, standAlone) { if (scanner == null) { _IsScanner = false; _AttributeTextToken = new XmlNSAttributeTokenInfo(_Scanner, _NsMgr, XmlNodeType.Text, Normalization, _XmlNs); _AttributeTextToken.Value = String.Empty; _AttributeTextToken.Depth = depth + 1; } else { _IsScanner = true; } _IsExternal = isExternal; //We only need to return the EndEntity token when EntityHandling = ExpandCharEntity _EndEntityToken = new XmlNameValueTokenInfo(_Scanner, _NsMgr, XmlNodeType.EndEntity, depth - 1, String.Empty, false); _EndEntityToken.Name = entityName; _EndEntityEncoding = encoding; _IsAttributeText = isAttributeText; _PrevXmlSpace = XmlSpace.None; _PrevXmlLang = String.Empty; _OriginalBaseUri = originalBaseURI; }
internal XmlEntityReader(XmlScanner scanner, XmlNameTable nt, XmlNamespaceManager nsMgr, XmlNodeType node, String entityName, int depth, Encoding encoding, String baseURI, bool isExternal, bool isAttributeText, bool standAlone, String originalBaseURI) : base((scanner == null ? new XmlScanner(new StringReader("a"), nt) : scanner), nt, nsMgr, node, depth, encoding, baseURI, isExternal, standAlone) { if (scanner == null) { _IsScanner = false; _AttributeTextToken = new XmlNSAttributeTokenInfo(_Scanner, _NsMgr, XmlNodeType.Text, Normalization, _XmlNs); _AttributeTextToken.Value = String.Empty; _AttributeTextToken.Depth = depth + 1; } else { _IsScanner = true; } _IsExternal = isExternal; //We only need to return the EndEntity token when EntityHandling = ExpandCharEntity _EndEntityToken = new XmlNameValueTokenInfo(_Scanner, _NsMgr, XmlNodeType.EndEntity, depth-1, String.Empty, false); _EndEntityToken.Name = entityName; _EndEntityEncoding = encoding; _IsAttributeText = isAttributeText; _PrevXmlSpace = XmlSpace.None; _PrevXmlLang = String.Empty; _OriginalBaseUri = originalBaseURI; }
// // fields collection // private void AddAttribute() { _Used++; if (_Used >= _MaxCount) { XmlAttributeTokenInfo[] expandFields=null; int oldCount = _MaxCount; _MaxCount = (_MaxCount + 10) * 2; if (_CheckNamespaces) expandFields = new XmlNSAttributeTokenInfo[_MaxCount]; else expandFields = new XmlAttributeTokenInfo[_MaxCount]; if (_Fields != null) Array.Copy(_Fields, 0, expandFields, 0, oldCount); if (_CheckNamespaces) { for (int i = oldCount; i < _MaxCount; i++) { expandFields[i] = (XmlAttributeTokenInfo) new XmlNSAttributeTokenInfo(_Scanner, _NsMgr, XmlNodeType.Attribute, _Normalization, _XmlNs); } } else { for (int i = oldCount; i < _MaxCount; i++) { expandFields[i] = new XmlAttributeTokenInfo(_Scanner, _NsMgr, XmlNodeType.Attribute, _Normalization); } } _Fields = expandFields; } }