142 public readonly
char c;
346 return _reader.DtdParserProxy_CurrentPosition;
788 return string.CompareOrdinal(
ns,
nodeData.ns);
899 private readonly
string _url =
string.Empty;
1143 internal bool Namespaces
1214 internal WhitespaceHandling WhitespaceHandling
1234 internal DtdProcessing DtdProcessing
1250 internal EntityHandling EntityHandling
1258 if (
value != EntityHandling.ExpandEntities &&
value != EntityHandling.ExpandCharEntities)
1380 internal bool XmlValidatingReaderCompatibilityMode
1388 _nameTable.
Add(
"http://www.w3.org/2001/XMLSchema-instance");
1494 if (context ==
null)
1575 if (
url ==
null ||
url.Length == 0)
1615 if (context ==
null || context.
BaseURI ==
null || context.
BaseURI.Length == 0)
1635 if (context ==
null)
1667 if (
url.Length == 0)
1680 :
this(settings.GetXmlResolver(), settings, context)
1686 if (
text.Length > 0)
1700 if (!settings.
Async)
1749 :
this(settings.GetXmlResolver(), settings, context)
1753 if (baseUriStr.Length > 0)
1768 if (!settings.
Async)
1795 :
this(settings.GetXmlResolver(), settings, context)
1797 if (context !=
null && context.
BaseURI !=
null)
1807 if (!settings.
Async)
2279 return base.ReadString();
2543 while (num <
count && !flag)
2952 private void Throw(
string res,
int lineNo,
int linePos)
3124 if (encoding ==
null)
3342 if (encoding ==
null)
3673 if (
num2 == 0 && num != 0)
3737 if (
c2 !=
'"' &&
c2 !=
'\'')
3741 if (
c2 !=
'"' &&
c2 !=
'\'')
3854 if (encoding ==
null)
3909 if (
chars[charPos] ==
'<')
3915 switch (
chars[charPos])
3930 if (
chars[charPos] ==
'-')
3932 if (
chars[charPos + 1] ==
'-')
3944 if (
chars[charPos] ==
'[')
4012 else if (
chars[charPos] ==
'&')
4105 switch (
chars[charPos])
4108 switch (
chars[charPos + 1])
4123 if (
chars[charPos] ==
'-')
4125 if (
chars[charPos + 1] ==
'-')
4136 else if (
chars[charPos] ==
'[')
4263 if (
chars[num] !=
':')
4315 char c =
chars[num];
4339 if (
chars[num + 1] ==
'>')
4395 if (enumerable ==
null)
4552 if (
chars[num + 1] ==
'\n')
4593 if (
chars[num + 1] ==
'>')
4693 if (
chars[num] !=
'=')
4698 if (
chars[num] !=
'=')
4705 if (
c4 !=
'"' &&
c4 !=
'\'')
4711 if (
c4 !=
'"' &&
c4 !=
'\'')
4836 if (
text.Length == 0)
4846 string localName =
attr.localName;
4847 if (!(localName ==
"space"))
4849 if (localName ==
"lang")
4864 if (!(
text ==
"preserve"))
4866 if (
text ==
"default")
5094 if (
attr.nextAttrValueChunk !=
null)
5177 if (outOrChars > 32)
5239 int num3 = outOrChars;
5879 if (
chars[num + 1] ==
'>')
5905 if (
chars[num + 1] ==
'\n')
6057 if (
chars[num] == c)
6059 if (
chars[num + 1] == c)
6061 if (
chars[num + 2] ==
'>')
6099 if (
chars[num + 1] ==
'\n')
6320 if (c !=
'"' && c !=
'\'')
6356 if (
chars[num + 1] ==
'\n')
6371 if (
chars[num + 1] ==
'?')
6380 else if (
chars[num + 1] ==
'!')
6406 if (
chars[num + 1] ==
'-' &&
chars[num + 2] ==
'>')
6422 if (
chars[num + 1] ==
'>')
6511 if (
chars[num + 1] ==
'\n')
6625 if (
chars[i] ==
'x')
6651 for (;
chars[i] >=
'0' &&
chars[i] <=
'9'; i++)
6728 char c =
chars[num];
6730 if ((uint)c <= 103
u)
6740 if (
chars[num + 1] ==
't' &&
chars[num + 2] ==
';')
6752 if (
chars[num] ==
'm')
6756 if (
chars[num + 1] ==
'p' &&
chars[num + 2] ==
';')
6765 else if (
chars[num] ==
'p')
6769 if (
chars[num + 1] ==
'o' &&
chars[num + 2] ==
's' &&
chars[num + 3] ==
';')
6795 if (
chars[num + 1] !=
'u' ||
chars[num + 2] !=
'o' ||
chars[num + 3] !=
't' ||
chars[num + 4] !=
';')
6808 if (
chars[num + 1] !=
't' ||
chars[num + 2] !=
';')
6873 if (
chars[pos] ==
':')
6991 int num = 1 << (localName[0] & 0x1F);
7051 if (uri ==
"http://www.w3.org/2000/xmlns/")
7066 if (uri.Length == 0 &&
prefix.Length > 0)
7143 if (!
string.IsNullOrEmpty(publicId))
7171 string message =
ex2.Message;
7182 (publicId != null) ? publicId : string.Empty,
7197 if (textReader ==
null)
7468 if ((uint)
c2 <= 34
u)
7498 else if ((uint)
c2 <= 47
u)
8179 text2 =
string.Empty;
8204 nodeData.lineInfo.Set(lineNo, linePos);
8421 for (
int i = 0; i <
chars.Length; i++)
8455 return string.Empty;
8459 while (
value[num] ==
' ')
8468 for (i = num; i <
length; i++)
8470 if (
value[i] !=
' ')
8482 return value.Substring(num, i - num);
8521 while (
value[num] ==
' ')
8531 for (
int i = num; i <
num2; i++)
8534 if ((c =
value[i]) ==
' ')
8772 if (
task.IsSuccess())
8902 if (!
task.IsSuccess())
9015 if (!
task.IsSuccess())
9259 return (
item,
false);
9338 if (encoding ==
null)
9616 if (quoteChar !=
'"' && quoteChar !=
'\'')
9620 if (quoteChar !=
'"' && quoteChar !=
'\'')
9739 if (encoding !=
null)
9796 if (
chars[charPos] !=
'<')
9806 switch (
chars[charPos])
9817 if (
chars[charPos] ==
'-')
9819 if (
chars[charPos + 1] ==
'-')
9827 if (
chars[charPos] ==
'[')
9883 if (
chars[charPos] ==
'&')
9944 if (
task.IsSuccess())
10009 switch (
chars[charPos])
10012 switch (
chars[charPos + 1])
10023 if (
chars[charPos] ==
'-')
10025 if (
chars[charPos + 1] ==
'-')
10032 else if (
chars[charPos] ==
'[')
10123 if (
chars[num] !=
':')
10160 if (
task.IsSuccess())
10210 switch (
chars[charPos])
10222 if (
chars[charPos + 1] ==
'>')
10314 while (
task.IsSuccess())
10371 if (
chars[num] !=
'>')
10383 if (
chars[num] ==
'\n')
10396 if (
chars[num] ==
'>')
10468 if (
chars[pos + 1] ==
'\n')
10509 if (
chars[pos + 1] ==
'>')
10613 if (
chars[pos] !=
'=')
10618 if (
chars[pos] !=
'=')
10625 if (
c4 !=
'"' &&
c4 !=
'\'')
10631 if (
c4 !=
'"' &&
c4 !=
'\'')
10657 if (
attr.prefix.Length == 0)
10701 switch (
chars[pos])
10713 if (
chars[pos + 1] ==
'\n')
10764 switch (
tuple.Item2)
10892 if (
attr.nextAttrValueChunk !=
null)
10911 int outOrChars = 0;
10919 if (!
valueTask.IsCompletedSuccessfully)
10926 (num,
num2, outOrChars,
_) = result;
10929 if (
num2 - num == 0)
10946 int outOrChars = 0;
10957 outOrChars =
tuple.Item3;
10959 while (!
tuple.Item4);
10971 if (
num2 - num != 0)
10986 if (
num2 - num > 0)
10994 if (
num2 - num > 0)
11009 if (outOrChars > 32)
11016 if (
num2 - num > 0)
11024 if (
num2 - num > 0)
11051 outOrChars =
tuple7.Item3;
11080 while (
task.IsSuccess())
11166 if (
chars[pos + 1] ==
'\n')
11179 ShiftBuffer(rpos + rcount, rpos, pos - rpos - rcount);
11180 rpos = pos - rcount;
11222 if (
chars[pos + 1] ==
']' &&
chars[pos + 2] ==
'>')
11250 ShiftBuffer(rpos + rcount, rpos, pos - rpos - rcount);
11252 rpos = pos - rcount;
11270 switch (
tuple.Item2)
11381 return (pos, pos, outOrChars,
true);
11388 ShiftBuffer(rpos + rcount, rpos, pos - rpos - rcount);
11391 int item = pos - rcount;
11393 return (charPos,
item, orChars, c ==
'<');
11399 int outOrChars = 0;
11404 while (!
tuple.Item4)
11459 int outOrChars = 0;
11465 outOrChars =
tuple.Item3;
11467 while (!
tuple.Item4);
11818 switch (
chars[num])
11821 if (
chars[num + 1] ==
'>')
11834 return (charPos,
item,
true);
11847 if (
chars[num + 1] ==
'\n')
11929 return (charPos,
item,
false);
12009 if (
chars[num] == c)
12011 if (
chars[num + 1] == c)
12013 if (
chars[num + 2] ==
'>')
12026 return (charPos,
item,
true);
12044 switch (
chars[num])
12051 if (
chars[num + 1] ==
'\n')
12133 return (charPos,
item,
false);
12273 if (c !=
'"' && c !=
'\'')
12309 if (
chars[num + 1] ==
'\n')
12324 if (
chars[num + 1] ==
'?')
12333 else if (
chars[num + 1] ==
'!')
12359 if (
chars[num + 1] ==
'-' &&
chars[num + 2] ==
'>')
12375 if (
chars[num + 1] ==
'>')
12457 switch (
chars[num])
12464 if (
chars[num + 1] ==
'\n')
12622 if (
chars[num] ==
':')
12644 return (
item, num);
12660 return (pos,
item);
12687 if (!
string.IsNullOrEmpty(publicId))
12715 string message =
ex2.Message;
12726 (publicId != null) ? publicId : string.Empty,
12741 if (textReader ==
null)
12765 Uri baseUri =
null;
12924 int outOrChars = 0;
12929 flag =
tuple.Item4;
static void Sort(Array array)
static int BinarySearch(Array array, object? value)
static unsafe void Copy(Array sourceArray, Array destinationArray, int length)
static void BlockCopy(Array src, int srcOffset, Array dst, int dstOffset, int count)
bool ContainsKey(TKey key)
bool ICollection< KeyValuePair< TKey, TValue > >. Remove(KeyValuePair< TKey, TValue > keyValuePair)
void Add(TKey key, TValue value)
static CultureInfo InvariantCulture
static int FromChar(int c)
int Read(byte[] buffer, int offset, int count)
Task< int > ReadAsync(byte[] buffer, int offset, int count)
virtual Task< int > ReadAsync(char[] buffer, int index, int count)
static string Xml_BadAttributeChar
static string Xml_TagMismatchEx
static string Xml_ErrorOpeningExternalDtd
static string Xml_CannotResolveEntity
static string Xml_InvalidXmlSpace
static string Xml_UnexpectedEOF1
static string Xml_CharEntityOverflow
static string Xml_ReaderAsyncNotSetException
static string Xml_InvalidCommentChars
static string Xml_PartialContentNodeTypeNotSupportedEx
static string Xml_ExpectSubOrClose
static string Xml_WhitespaceHandling
static string Xml_DoubleBaseUri
static string Xml_UnclosedQuote
static string Xml_NotEnoughSpaceForSurrogatePair
static string Xml_ExternalEntityInAttValue
static string Xml_LimitExceeded
static string Xml_MixingV1StreamingWithV2Binary
static string Xml_BadStartNameChar
static string Xml_InvalidReadValueChunk
static string Xml_CannotResolveExternalSubset
static string Format(string resourceFormat, object p1)
static string Xml_InvalidXmlDecl
static string Xml_EncodingSwitchAfterResetState
static string Xml_UndeclaredEntity
static string Xml_DtdIsProhibited
static string Xml_BadDTDLocation
static string Xml_MissingRoot
static string Xml_InvalidCharInThisEncoding
static string Xml_UnknownNs
static string Xml_MultipleDTDsProvided
static string Xml_InvalidPIName
static string Sch_ParEntityRefNesting
static string Xml_InvalidNodeType
static string Xml_InvalidVersionNumber
static string Xml_MixingBinaryContentMethods
static string Xml_EntityRefNesting
static string Xml_UnparsedEntityRef
static string Xml_RecursiveParEntity
static string Xml_MultipleRoots
static string Xml_InternalError
static string Xml_NamespaceDeclXmlXmlns
static string Xml_UnknownEncoding
static string Sch_UnSpecifiedDefaultAttributeInExternalStandalone
static string Xml_MixingReadValueChunkWithBinary
static string Xml_ExternalEntityInStandAloneDocument
static string Xml_BadNamespaceDecl
static string Xml_EmptyUrl
static string Xml_BadDecimalEntity
static string Xml_UnexpectedTokens2
static string Xml_InvalidRootData
static string Xml_InvalidCharacter
static string Xml_DtdIsProhibitedEx
static string Xml_UnexpectedTokenEx
static string Xml_IncompleteEntity
static string Xml_DefaultException
static string Xml_InvalidResetStateCall
static string Xml_UnexpectedEOFInElementContent
static string Xml_NametableMismatch
static string Xml_ExpectingWhiteSpace
static string Xml_InvalidTextDecl
static string Xml_InvalidOperation
static string Xml_DupAttributeName
static string Xml_ErrorParsingEntityName
static string Xml_CannotResolveUrl
static string Xml_CDATAEndInText
static string Xml_BadNameChar
static string Xml_EntityHandling
static string Xml_UnexpectedEOF
static string Xml_CannotResolveEntityDtdIgnored
static string Xml_ErrorOpeningExternalEntity
static string Sch_StandAloneNormalization
static string Xml_MissingByteOrderMark
static string Xml_BadHexEntity
static string Xml_DtdAfterRootElement
static string Xml_UnexpectedEndTag
static string Xml_RecursiveGenEntity
static string Xml_XmlDeclNotFirst
static string Xml_ExpectExternalOrClose
static string Xml_XmlnsPrefix
virtual void Convert(byte[] bytes, int byteIndex, int byteCount, char[] chars, int charIndex, int charCount, bool flush, out int bytesUsed, out int charsUsed, out bool completed)
static Encoding BigEndianUnicode
virtual ReadOnlySpan< byte > Preamble
static Encoding GetEncoding(int codepage)
virtual Decoder GetDecoder()
virtual int GetByteCount(char[] chars)
override string ToString()
StringBuilder Append(char value, int repeatCount)
new ConfiguredTaskAwaitable< TResult > ConfigureAwait(bool continueOnCapturedContext)
static Task CompletedTask
override string ToString()
static readonly Task< int > DoneTaskZero
static readonly Task< bool > DoneTaskTrue
static readonly Task< bool > DoneTaskFalse
static IDtdParser Create()
int Decode(char[] chars, int startPos, int len)
void SetNextOutputBuffer(Array array, int offset, int len)
static bool Equal(string strA, string strB)
static Encoding UCS4_Littleendian
static Encoding UCS4_2143
static Encoding UCS4_Bigendian
static Encoding UCS4_3412
static void SplitSurrogateChar(int combinedChar, out char lowChar, out char highChar)
static bool IsStartNCNameSingleChar(char ch)
static bool IsAttributeValueChar(char ch)
static bool IsNCNameSingleChar(char ch)
static bool IsWhiteSpace(char ch)
static bool IsTextChar(char ch)
static bool IsLowSurrogate(int ch)
static bool IsNameSingleChar(char ch)
static bool IsCharData(char ch)
static bool IsHighSurrogate(int ch)
static string TrimString(string value)
static bool StrEqual(char[] chars, int strPos1, int strLen1, string str2)
static string[] BuildCharExceptionArgs(string data, int invCharIndex)
virtual ? string LookupNamespace(string prefix)
virtual ? string LookupPrefix(string uri)
virtual IDictionary< string, string > GetNamespacesInScope(XmlNamespaceScope scope)
virtual ? XmlNameTable NameTable
virtual void AddNamespace(string prefix, string uri)
XmlNamespaceManager? NamespaceManager
override string ToString()
ConformanceLevel ConformanceLevel
XmlResolver GetXmlResolver()
long MaxCharactersFromEntities
DtdProcessing DtdProcessing
long MaxCharactersInDocument
bool IgnoreProcessingInstructions
static bool IsTextualNode(XmlNodeType nodeType)
Exception CreateReadElementContentAsException(string methodName)
virtual bool CanResolveEntity
Exception CreateReadContentAsException(string methodName)
static bool HasValueInternal(XmlNodeType nodeType)
static int CalcBufferSize(Stream input)
virtual ? IDtdInfo DtdInfo
virtual Task< bool > ReadAsync()
static bool CanReadContentAs(XmlNodeType nodeType)
virtual bool CanReadValueChunk
virtual bool CanReadBinaryContent
object? GetEntity(Uri absoluteUri, string? role, Type? ofObjectToReturn)
virtual bool SupportsType(Uri absoluteUri, Type? type)
virtual Task< object > GetEntityAsync(Uri absoluteUri, string? role, Type? ofObjectToReturn)
virtual Uri ResolveUri(Uri? baseUri, string? relativeUri)
static IComparer< object > Instance
static readonly IComparer< object > s_instance
int Compare(object x, object y)
readonly XmlTextReaderImpl _reader
DtdParserProxy(XmlTextReaderImpl reader)
XmlResolver inputUriResolver
TextReader inputTextReader
XmlParserContext inputContext
override void RemoveNamespace(string prefix, string uri)
override bool HasNamespace(string prefix)
override void PushScope()
override void AddNamespace(string prefix, string uri)
override string DefaultNamespace
override string LookupNamespace(string prefix)
override string LookupPrefix(string uri)
override IDictionary< string, string > GetNamespacesInScope(XmlNamespaceScope scope)
override IEnumerator GetEnumerator()
string GetNameWPrefix(XmlNameTable nt)
void SetNamedNode(XmlNodeType type, string localName, string prefix, string nameWPrefix)
void SetValue(char[] chars, int startPos, int len)
void Clear(XmlNodeType type)
string CreateNameWPrefix(XmlNameTable nt)
int CopyTo(int valueOffset, char[] buffer, int offset, int length)
int CopyToBinary(IncrementalReadDecoder decoder, int valueOffset)
NodeData nextAttrValueChunk
void SetLineInfo(int lineNo, int linePos)
void SetNamedNode(XmlNodeType type, string localName)
void CopyTo(int valueOffset, StringBuilder sb)
void SetValue(string value)
void SetValueNode(XmlNodeType type, char[] chars, int startPos, int len)
void SetLineInfo2(int lineNo, int linePos)
static volatile NodeData s_None
void SetValueNode(XmlNodeType type, string value)
void OnBufferInvalidated()
void AdjustLineInfo(int valueOffset, bool isNormalized, ref LineInfo lineInfo)
XmlContext previousContext
XmlContext(XmlContext previousContext)
override string LocalName
override void ResolveEntity()
async Task< int > ReadContentAsBase64_AsyncHelper(Task< bool > task, byte[] buffer, int index, int count)
void Throw(string res, string[] args, Exception innerException)
static void StripSpaces(char[] value, int index, ref int len)
int GetIndexOfAttributeWithoutPrefix(string name)
void ThrowTagMismatch(NodeData startTag)
bool _nameTableFromSettings
Task ParseEndElementAsync_CheckEndTag(int nameLen, NodeData startTagNode, LineInfo endTagLineInfo)
void ThrowExpectingWhitespace(int pos)
@ SwitchToInteractiveXmlDecl
@ AfterResolveEmptyEntityInContent
@ AfterResolveEntityInContent
@ InReadElementContentAsBinary
@ ResetAttributesRootLevel
void PushInternalEntity(IDtdEntityInfo entity)
void ThrowWithoutLineInfo(string res, string[] args, Exception innerException)
void SendValidationEvent(XmlSeverityType severity, XmlSchemaException exception)
async Task ParseAttributeValueSlowAsync(int curPos, char quoteChar, NodeData attr)
void ElementNamespaceLookup()
void ThrowInvalidChar(char[] data, int length, int invCharPos)
void Throw(string res, string arg, int lineNo, int linePos)
void ParseCDataOrComment(XmlNodeType type)
ParseTextState _lastParseTextState
XmlNamespaceManager _namespaceManager
async Task< bool > _ParseDocumentContentAsync_WhiteSpace(Task< bool > task)
Task ParseEndElementAsync()
async Task< bool > DtdParserProxy_PushExternalSubsetAsync(string systemId, string publicId)
void InitStreamInput(Uri baseUri, string baseUriStr, Stream stream, Encoding encoding)
async Task< bool > ParseDoctypeDeclAsync()
async Task FinishInitTextReaderAsync()
bool ParseDocumentContent()
Task< bool > ParseDocumentContentAsync_WhiteSpace()
override async Task< int > ReadElementContentAsBinHexAsync(byte[] buffer, int index, int count)
bool _validatingReaderCompatFlag
void Throw(int pos, string res, string[] args)
override string GetAttribute(string localName, string namespaceURI)
async Task< string > _GetValueAsync()
void OnXmlReservedAttribute(NodeData attr)
async Task<(int, int, int, bool)> ParseTextAsync_AsyncFunc(Task<(int, int, int, bool)> task)
NodeData[] _attrDuplSortingArray
TextReader GetRemainder()
async Task<(int, int, int, bool)> ParseTextAsync_Surrogate(int outOrChars, char[] chars, int pos, int rcount, int rpos, int orChars, char c)
bool _addDefaultAttributesAndNormalize
readonly Task<(int, int, int, bool)> _parseText_dummyTask
async Task< bool > ZeroEndingStreamAsync(int pos)
XmlParserContext _fragmentParserContext
Task< bool > ReadAsync_SwitchToInteractiveXmlDecl_Helper(bool finish)
void InitTextReaderInput(string baseUriStr, Uri baseUri, TextReader input)
ValueTask<(int, int, int, bool)> ParseTextAsync(int outOrChars)
Task ParseElementAsync_SetElement(int colonPos, int pos)
Task ParseElementAsync_ContinueWithSetElement(Task<(int, int)> task)
override Task< int > ReadElementContentAsBase64Async(byte[] buffer, int index, int count)
async Task< bool > PushExternalEntityAsync(IDtdEntityInfo entity)
override int ReadElementContentAsBinHex(byte[] buffer, int index, int count)
readonly StringBuilder _stringBuilder
Task InitStreamInputAsync(Uri baseUri, Stream stream, Encoding encoding)
XmlTextReaderImpl(TextReader input, XmlReaderSettings settings, string baseUriStr, XmlParserContext context)
async Task PushExternalEntityOrSubsetAsync(string publicId, string systemId, Uri baseUri, string entityName)
XmlTextReaderImpl(Stream input)
Task< bool > ParseTextAsync()
IDtdEntityInfo _lastEntity
Task ParseElementAsync_NoAttributes()
void AddNamespace(string prefix, string uri, NodeData attr)
async Task<(int, bool)> ReadDataInNameAsync(int pos)
bool DisableUndeclaredEntityCheck
static void BlockCopy(byte[] src, int srcOffset, byte[] dst, int dstOffset, int count)
async Task< bool > OpenAndPushAsync(Uri uri)
XmlTextReaderImpl(string xmlFragment, XmlParserContext context, XmlReaderSettings settings)
async Task<(int, int, bool)> ParsePIValueAsync()
Task< bool > ParseTextAsync_IgnoreNode()
void InitStreamInput(Uri baseUri, string baseUriStr, Stream stream, byte[] bytes, int byteCount, Encoding encoding)
async Task< int > ParseNameAsync()
readonly long _maxCharactersInDocument
async Task<(int, int, int, bool)> ParseTextAsync_ParseEntity(int outOrChars, char[] chars, int pos, int rcount, int rpos, int orChars, char c)
Task SkipPublicOrSystemIdLiteralAsync()
string IXmlNamespaceResolver. LookupPrefix(string namespaceName)
ParseEndElementParseFunction _parseEndElement_NextFunc
async Task ParseEndElmentAsync_PrepareData()
async Task ParseEntityReferenceAsync()
async Task FinishPartialValueAsync()
void DtdParserProxy_Throw(Exception e)
override bool MoveToAttribute(string localName, string namespaceURI)
async Task FinishInitStreamAsync()
Task< bool > ParseDocumentContentAsync()
LaterInitParam _laterInitParam
async Task ParseDtdFromParserContextAsync()
bool ParseText(out int startPos, out int endPos, ref int outOrChars)
async Task DtdParserProxy_ParsePIAsync(StringBuilder sb)
void DtdParserProxy_OnNewLine(int pos)
int _attributeValueBaseEntityId
OnDefaultAttributeUseDelegate _onDefaultAttributeUse
XmlTextReaderImpl(string url, TextReader input, XmlNameTable nt)
int ParseNamedCharRefInline(int startPos, bool expand, StringBuilder internalSubsetBuilder)
@ ReadContentAsBinary_End
@ ReadContentAsBinary_OnCachedValue
@ ReadContentAsBinary_OnPartialValue
@ ReadValueChunk_OnCachedValue
@ ReadValueChunk_OnPartialValue
void SkipUntil(char stopChar, bool recognizeLiterals)
override bool MoveToFirstAttribute()
async Task<(int, int, bool)> ParseCDataOrCommentTupleAsync(XmlNodeType type)
void ParseDtdFromParserContext()
Task<(int, int, int, bool)> ParseTextAsync(int outOrChars, char[] chars, int pos, int rcount, int rpos, int orChars, char c)
async Task< string > ParseEntityNameAsync()
XmlTextReaderImpl(string url, TextReader input)
readonly long _maxCharactersFromEntities
async Task ParseCDataOrCommentAsync(XmlNodeType type)
bool ParsePIValue(out int outStartPos, out int outEndPos)
void OnDefaultNamespaceDecl(NodeData attr)
void OnNamespaceDecl(NodeData attr)
void FinishReadContentAsBinary()
void PushExternalEntityOrSubset(string publicId, string systemId, Uri baseUri, string entityName)
async Task ParseEndElementAsync_ReadData()
DtdProcessing _dtdProcessing
string LookupNamespace(NodeData node)
async Task SkipPartialTextValueAsync()
bool UriEqual(Uri uri1, string uri1Str, string uri2Str, XmlResolver resolver)
async Task< bool > ParsePIAsync(StringBuilder piInDtdStringBuilder)
XmlTextReaderImpl(string uriStr, XmlReaderSettings settings, XmlParserContext context, XmlResolver uriResolver)
async Task FinishInitUriStringAsync()
void AddAttributeChunkToList(NodeData attr, NodeData chunk, ref NodeData lastChunk)
void Close(bool closeInput)
void ThrowUnexpectedToken(string expectedToken1)
override string ReadString()
readonly bool _checkCharacters
async Task FinishReadContentAsBinaryAsync()
async Task< bool > _ParseTextAsync(Task<(int, int, int, bool)> parseTask)
async Task< int > ReadDataAsync()
XmlResolver GetResolver()
Task SwitchEncodingAsync(Encoding newEncoding)
static string StripSpaces(string value)
bool ParseAttributeValueChunk()
NodeData AddAttribute(int endNamePos, int colonPos)
void SetupEndEntityNodeInContent()
void SkipPublicOrSystemIdLiteral()
void InitTextReaderInput(string baseUriStr, TextReader input)
Task ProcessDtdFromParserContextAsync(XmlParserContext context)
void SetupEndEntityNodeInAttribute()
ParsingFunction _nextParsingFunction
NodeData AllocNode(int nodeIndex, int nodeDepth)
Encoding CheckEncoding(string newEncodingName)
override bool MoveToAttribute(string name)
async Task< EntityType > HandleGeneralEntityReferenceAsync(string name, bool isInAttributeValue, bool pushFakeEntityIfNullResolver, int entityStartLinePos)
Task< bool > ParseElementContentAsync()
IDictionary< string, string > IXmlNamespaceResolver. GetNamespacesInScope(XmlNamespaceScope scope)
void InitStreamInput(Stream stream, Encoding encoding)
object InternalTypedValue
void ChangeCurrentNodeType(XmlNodeType newNodeType)
int ParseQName(bool isQName, int startOffset, out int colonPos)
override int ReadContentAsBase64(byte[] buffer, int index, int count)
readonly int _lineNumberOffset
static void AdjustLineInfo(char[] chars, int startPos, int endPos, bool isNormalized, ref LineInfo lineInfo)
XmlNodeType _fragmentType
string ParseUnexpectedToken()
ParseEndElementParseFunction
void FinishAttributeValueIterator()
async Task< bool > ParseDocumentContentAsync_ParseEntity()
void ReThrow(Exception e, int lineNo, int linePos)
async Task<(EntityType, int)> ParseNumericCharRefAsync(bool expand, StringBuilder internalSubsetBuilder)
int ReadBinHex(byte[] array, int offset, int len)
void ParseEntityReference()
string LookupPrefix(string namespaceName)
void InitStreamInput(string baseUriStr, Stream stream, Encoding encoding)
XmlTextReaderImpl(XmlResolver resolver, XmlReaderSettings settings, XmlParserContext context)
int IncrementalRead(Array array, int index, int count)
async Task<(int, EntityType)> HandleEntityReferenceAsync(bool isInAttributeValue, EntityExpandType expandType)
void SendValidationEvent(XmlSeverityType severity, string code, string arg, int lineNo, int linePos)
void InvalidCharRecovery(ref int bytesCount, out int charsCount)
XmlTextReaderImpl(string xmlFragment, XmlNodeType fragType, XmlParserContext context)
void Throw(string res, string arg, Exception innerException)
async Task< bool > MoveToNextContentNodeAsync(bool moveIfOnContentNode)
readonly bool _closeInput
void FinishReadValueChunk()
readonly bool _ignoreComments
void ParseAttributeValueSlow(int curPos, char quoteChar, NodeData attr)
void FinishOtherValueIterator()
int DtdParserProxy_ParseNumericCharRef(StringBuilder internalSubsetBuilder)
ParsingFunction _parsingFunction
WhitespaceHandling _whitespaceHandling
async Task< bool > ParseCommentAsync()
XmlNodeType GetTextNodeType(int orChars)
bool DtdParserProxy_PushExternalSubset(string systemId, string publicId)
XmlTextReaderImpl(TextReader input)
NodeData AddAttributeNoChecks(string name, int attrDepth)
void ThrowWithoutLineInfo(string res)
Task ParseEndElementAsync_Finish(int nameLen, NodeData startTagNode, LineInfo endTagLineInfo)
EntityType HandleEntityReference(bool isInAttributeValue, EntityExpandType expandType, out int charRefEndPos)
Task<(int, int)> ParseQNameAsync()
override void MoveToAttribute(int i)
int EatWhitespaces(StringBuilder sb)
bool ParseElementContent()
override XmlReaderSettings Settings
XmlTextReaderImpl(Stream xmlFragment, XmlNodeType fragType, XmlParserContext context)
Encoding DetectEncoding()
void AddDefaultAttributesAndNormalize()
XmlTextReaderImpl(string url, Stream input)
bool MoveToNextContentNode(bool moveIfOnContentNode)
bool ParseXmlDeclaration(bool isTextDecl)
void Throw(string res, int lineNo, int linePos)
bool ParseRootLevelWhitespace()
void Throw(int pos, string res)
XmlTextReaderImpl(TextReader input, XmlNameTable nt)
int GetChars(int maxCharsCount)
bool ParseCDataOrComment(XmlNodeType type, out int outStartPos, out int outEndPos)
void FinishReadElementContentAsBinary()
void SkipPartialTextValue()
bool ParseText_PartialValue(int pos, int rcount, int rpos, int orChars, char c)
void ThrowUnexpectedToken(string expectedToken1, string expectedToken2)
async Task _ParseEndElmentAsync()
bool InitReadElementContentAsBinary()
void FinishInitUriString()
override string GetAttribute(int i)
bool InitReadContentAsBinary()
ConformanceLevel V1ComformanceLevel
override async Task SkipAsync()
XmlTextReaderImpl(Stream stream, byte[] bytes, int byteCount, XmlReaderSettings settings, Uri baseUri, string baseUriStr, XmlParserContext context, bool closeInput)
Task InitTextReaderInputAsync(string baseUriStr, TextReader input)
bool HandleEntityEnd(bool checkEntityNesting)
XmlTextReaderImpl(string url)
async Task< int > ReadElementContentAsBase64Async_Helper(Task< bool > task, byte[] buffer, int index, int count)
Task SwitchEncodingToUTF8Async()
async Task< int > ParseNamedCharRefAsync(bool expand, StringBuilder internalSubsetBuilder)
ParseTextFunction _parseText_NextFunction
bool ParsePI(StringBuilder piInDtdStringBuilder)
async Task< int > DtdParserProxy_ParseNumericCharRefAsync(StringBuilder internalSubsetBuilder)
EntityHandling _entityHandling
async Task DtdParserProxy_ParseCommentAsync(StringBuilder sb)
Dictionary< IDtdEntityInfo, IDtdEntityInfo > _currentEntities
int DtdParserProxy_ReadData()
void SetDtdInfo(IDtdInfo newDtdInfo)
async Task< bool > ParseXmlDeclarationAsync(bool isTextDecl)
int ParseNumericCharRef(bool expand, StringBuilder internalSubsetBuilder, out EntityType entityType)
void DtdParserProxy_PushInternalDtd(string baseUri, string internalDtd)
IncrementalReadCharsDecoder _readCharsDecoder
override bool MoveToNextAttribute()
Base64Decoder _base64Decoder
async Task< bool > InitReadContentAsBinaryAsync()
void DtdParserProxy_ParsePI(StringBuilder sb)
void Throw(string res, string arg)
int ReadChars(char[] buffer, int index, int count)
XmlTextReaderImpl(string url, XmlNameTable nt)
void InitFragmentReader(XmlNodeType fragmentType, XmlParserContext parserContext, bool allowXmlDeclFragment)
void RegisterConsumedCharacters(long characters, bool inEntityReference)
async Task SkipUntilAsync(char stopChar, bool recognizeLiterals)
async Task _ParseElementAsync_ContinueWithSetElement(Task<(int, int)> task)
void FinishPartialValue()
async Task ParseElementAsync_ReadData(int pos)
async Task< bool > ParseDocumentContentAsync_ReadData(bool needMoreChars)
void SetupReadContentAsBinaryState(ParsingFunction inReadBinaryFunction)
void SwitchEncoding(Encoding newEncoding)
async Task ThrowTagMismatchAsync(NodeData startTag)
override bool IsEmptyElement
override async Task< int > ReadContentAsBinHexAsync(byte[] buffer, int index, int count)
bool ParseFragmentAttribute()
XmlResolver GetTempResolver()
override XmlNamespaceManager NamespaceManager
XmlNodeType GetWhitespaceType()
async Task< int > EatWhitespacesAsync(StringBuilder sb)
async Task< bool > _ReadAsync_SwitchToInteractiveXmlDecl(Task< bool > task)
void FinishInitTextReader()
static UTF8Encoding UTF8BomThrowing
Encoding _reportedEncoding
override async Task< int > ReadValueChunkAsync(char[] buffer, int index, int count)
override Task< int > ReadContentAsBase64Async(byte[] buffer, int index, int count)
NodeData AddNode(int nodeIndex, int nodeDepth)
override int ReadElementContentAsBase64(byte[] buffer, int index, int count)
void Throw(string res, string[] args)
bool OpenAndPush(Uri uri)
void Throw(int pos, string res, string arg)
void ParseXmlDeclarationFragment()
async Task<(int, int)> ParseQNameAsync(bool isQName, int startOffset)
void DtdParserProxy_OnPublicId(string publicId, LineInfo keywordLineInfo, LineInfo publicLiteralLineInfo)
void InitStringInput(string baseUriStr, Encoding originalEncoding, string str)
async Task< bool > ParseElementContent_ReadData()
void SetupEncoding(Encoding encoding)
bool _attrNeedNamespaceLookup
void ShiftBuffer(int sourcePos, int destPos, int count)
static void AdjustLineInfo(string str, int startPos, int endPos, bool isNormalized, ref LineInfo lineInfo)
bool DtdParserProxy_PopEntity(out IDtdEntityInfo oldEntity, out int newEntityId)
override Task< bool > ReadAsync()
int ParseNumericCharRefInline(int startPos, bool expand, StringBuilder internalSubsetBuilder, out int charCount, out EntityType entityType)
readonly int _linePositionOffset
EntityType HandleGeneralEntityReference(string name, bool isInAttributeValue, bool pushFakeEntityIfNullResolver, int entityStartLinePos)
void AttributeDuplCheck()
string ParseUnexpectedToken(int pos)
static void AdjustLineInfo(ReadOnlySpan< char > chars, bool isNormalized, ref LineInfo lineInfo)
static void BlockCopyChars(char[] src, int srcOffset, char[] dst, int dstOffset, int count)
override int ReadValueChunk(char[] buffer, int index, int count)
delegate void OnDefaultAttributeUseDelegate(IDtdDefaultAttributeInfo defaultAttribute, XmlTextReaderImpl coreReader)
XmlTextReaderImpl(string url, Stream input, XmlNameTable nt)
void FullAttributeCleanup()
Task< bool > ParseDocumentContentAsync_CData()
void ThrowUnexpectedToken(int pos, string expectedToken)
bool AddDefaultAttributeNonDtd(SchemaAttDef attrDef)
int ReadBase64(byte[] array, int offset, int len)
override bool MoveToElement()
async Task ParseAttributesAsync()
int DtdParserProxy_ParseNamedCharRef(bool expand, StringBuilder internalSubsetBuilder)
long _charactersInDocument
object InternalSchemaType
async Task FinishReadElementContentAsBinaryAsync()
async Task< bool > InitReadElementContentAsBinaryAsync()
IValidationEventHandling _validationEventHandling
bool ParseText_NoValue(int outOrChars, int pos)
void ThrowWithoutLineInfo(string res, string arg)
override string LookupNamespace(string prefix)
async Task< int > ReadContentAsBinaryAsync(byte[] buffer, int index, int count)
NodeData AddAttribute(string localName, string prefix, string nameWPrefix)
void RegisterEntity(IDtdEntityInfo entity)
async Task<(int, int, int, bool)> ParseTextAsync_ReadData(int outOrChars, char[] chars, int pos, int rcount, int rpos, int orChars, char c)
async Task<(int, bool)> DtdParserProxy_PushEntityAsync(IDtdEntityInfo entity)
void SwitchEncodingToUTF8()
Task< bool > ReadAsync_SwitchToInteractiveXmlDecl()
async Task InitStreamInputAsync(Uri baseUri, string baseUriStr, Stream stream, byte[] bytes, int byteCount, Encoding encoding)
int _documentStartBytePos
async Task FinishOtherValueIteratorAsync()
override string NamespaceURI
int ReadElementContentAsBinary(byte[] buffer, int index, int count)
int GetIndexOfAttributeWithPrefix(string name)
void ProcessDtdFromParserContext(XmlParserContext context)
async Task< int > ReadElementContentAsBinaryAsync(byte[] buffer, int index, int count)
int ParseCharRefInline(int startPos, out int charCount, out EntityType entityType)
void FinishIncrementalRead()
bool PushExternalEntity(IDtdEntityInfo entity)
ParsingFunction _nextNextParsingFunction
void InitIncrementalRead(IncrementalReadDecoder decoder)
bool DtdParserProxy_PushEntity(IDtdEntityInfo entity, out int entityId)
int ParseQName(out int colonPos)
void InitStreamInput(Uri baseUri, Stream stream, Encoding encoding)
void DtdParserProxy_ParseComment(StringBuilder sb)
int ReadContentAsBinary(byte[] buffer, int index, int count)
static UTF8Encoding s_utf8BomThrowing
override int ReadContentAsBinHex(byte[] buffer, int index, int count)
Task InitTextReaderInputAsync(string baseUriStr, Uri baseUri, TextReader input)
int _parsingStatesStackTop
Task< int > DtdParserProxy_ParseNamedCharRefAsync(bool expand, StringBuilder internalSubsetBuilder)
async Task SkipDtdAsync()
Task FinishReadValueChunkAsync()
Task ParseEndElementAsync_CheckNameAndParse()
BinHexDecoder _binHexDecoder
bool ZeroEndingStream(int pos)
IDictionary< string, string > GetNamespacesInScope(XmlNamespaceScope scope)
LineInfo _incReadLineInfo
override Task< string > GetValueAsync()
async Task ParseEndElementAsync_Finish(Task task, int nameLen, NodeData startTagNode, LineInfo endTagLineInfo)
override XmlNodeType NodeType
void ThrowUnclosedElements()
bool ReadDataInName(ref int pos)
bool _disableUndeclaredEntityCheck
void AttributeNamespaceLookup()
XmlTextReaderImpl(XmlNameTable nt)
override string GetAttribute(string name)
async Task< bool > ParseRootLevelWhitespaceAsync()
IncrementalReadDecoder _incReadDecoder
XmlTextReaderImpl(Stream input, XmlNameTable nt)
Task< int > DtdParserProxy_ReadDataAsync()
Task< bool > ParsePIAsync()
void DtdParserProxy_OnSystemId(string systemId, LineInfo keywordLineInfo, LineInfo systemLiteralLineInfo)
long _charactersFromEntities
int ParseNamedCharRef(bool expand, StringBuilder internalSubsetBuilder)
NodeData AddDefaultAttributeInternal(string localName, string ns, string prefix, string value, int lineNo, int linePos, int valueLineNo, int valueLinePos, bool isXmlAttribute)
XmlTextReaderImpl(string xmlFragment, XmlParserContext context)
void ThrowUnexpectedToken(int pos, string expectedToken1, string expectedToken2)
ParsingState[] _parsingStatesStack
void SetupFromParserContext(XmlParserContext context, XmlReaderSettings settings)
async Task ParseDtdAsync()
bool AddDefaultAttributeDtd(IDtdDefaultAttributeInfo defAttrInfo, bool definedInDtd, NodeData[] nameSortedNodeData)
IncrementalReadState _incReadState
void MoveOffEntityReference()
bool _emptyEntityInAttributeResolved
override bool ReadAttributeValue()
int CompareTo(object? obj)
bool IsDeclaredInExternal
IDtdEntityInfo LookupEntity(string name)
bool HasNonCDataAttributes
IDtdAttributeListInfo LookupAttributeList(string prefix, string localName)
bool HasDefaultAttributes
bool PushExternalSubset(string systemId, string publicId)
void ParsePI(StringBuilder sb)
Task ParsePIAsync(StringBuilder sb)
Task< int > ParseNumericCharRefAsync(StringBuilder internalSubsetBuilder)
Task< int > ParseNamedCharRefAsync(bool expand, StringBuilder internalSubsetBuilder)
void OnSystemId(string systemId, LineInfo keywordLineInfo, LineInfo systemLiteralLineInfo)
bool PopEntity(out IDtdEntityInfo oldEntity, out int newEntityId)
Task ParseCommentAsync(StringBuilder sb)
void OnPublicId(string publicId, LineInfo keywordLineInfo, LineInfo publicLiteralLineInfo)
void PushInternalDtd(string baseUri, string internalDtd)
Task<(int, bool)> PushEntityAsync(IDtdEntityInfo entity)
Task< bool > PushExternalSubsetAsync(string systemId, string publicId)
int ParseNamedCharRef(bool expand, StringBuilder internalSubsetBuilder)
void ParseComment(StringBuilder sb)
bool PushEntity(IDtdEntityInfo entity, out int entityId)
int ParseNumericCharRef(StringBuilder internalSubsetBuilder)
Task< int > ReadDataAsync()
void SendEvent(Exception exception, XmlSeverityType severity)
IDictionary< string, string > GetNamespacesInScope(XmlNamespaceScope scope)
string? LookupPrefix(string namespaceName)
string? LookupNamespace(string prefix)
void Set(int lineNo, int linePos)
ParseTextState(int outOrChars, char[] chars, int pos, int rcount, int rpos, int orChars, char c)
void Close(bool closeInput)
bool entityResolvedManually