249 if (!(baseUri !=
null))
309 if (systemId !=
null && systemId.Length > 0)
318 if (publicId !=
null && publicId.Length > 0)
389 if (token ==
Token.SYSTEM || token ==
Token.PUBLIC)
396 case Token.LeftBracket:
407 case Token.GreaterThan:
459 case Token.AttlistDecl:
462 case Token.ElementDecl:
465 case Token.EntityDecl:
468 case Token.NotationDecl:
477 case Token.CondSectionStart:
485 case Token.CondSectionEnd:
499 case Token.RightBracket:
579 if (
text.Equals(
"preserve") ||
text.Equals(
"default"))
608 case Token.GreaterThan:
660 if (
elementDecl.IsNotationDeclared && !ignoreErrors)
691 case Token.RightParen:
699 else if (token ==
Token.LeftParen)
722 case Token.RightParen:
750 goto case Token.Literal;
756 if (
attrDef.TokenizedType != 0)
799 if (token !=
Token.LeftParen)
801 if (token !=
Token.ANY)
803 if (token !=
Token.EMPTY)
859 if (token !=
Token.QName)
861 if (token !=
Token.LeftParen)
863 if (token !=
Token.GreaterThan)
915 case Token.RightParen:
917 case Token.GreaterThan:
956 case Token.RightParen:
1019 if (token ==
Token.Name)
1023 if (token ==
Token.Percent)
1121 if (token ==
Token.SYSTEM || token ==
Token.PUBLIC)
1268 systemId.Substring(systemId.IndexOf(
'#')),
1491 return Token.RightBracket;
1522 return Token.ElementDecl;
1535 return Token.EntityDecl;
1554 return Token.AttlistDecl;
1567 return Token.NotationDecl;
1573 return Token.CondSectionStart;
1578 return Token.Comment;
1620 return Token.CondSectionEnd;
1641 return Token.Nmtoken;
1655 return Token.PUBLIC;
1663 return Token.SYSTEM;
1667 return Token.LeftBracket;
1671 return Token.GreaterThan;
1685 return Token.LeftBracket;
1689 return Token.GreaterThan;
1704 return Token.GreaterThan;
1746 return Token.LeftParen;
1773 return Token.PCDATA;
1787 return Token.LeftParen;
1791 return Token.GreaterThan;
1806 result =
Token.Star;
1809 result =
Token.QMark;
1812 result =
Token.Plus;
1840 return Token.RightParen;
1844 return Token.GreaterThan;
1858 return Token.RightParen;
1888 return Token.GreaterThan;
1909 return Token.LeftParen;
1940 return Token.ENTITIES;
1943 return Token.ENTITY;
1970 return Token.IDREFS;
1987 return Token.NOTATION;
1997 return Token.NMTOKENS;
2000 return Token.NMTOKEN;
2022 return Token.LeftParen;
2035 return Token.RightParen;
2054 return Token.RightParen;
2076 return Token.Literal;
2093 return Token.REQUIRED;
2105 return Token.IMPLIED;
2135 if (c ==
'"' || c ==
'\'')
2139 return Token.Literal;
2337 return Token.Literal;
2370 return Token.PUBLIC;
2378 return Token.SYSTEM;
2393 return Token.Literal;
2403 return Token.Percent;
2421 return Token.PUBLIC;
2429 return Token.SYSTEM;
2434 return Token.Literal;
2473 return Token.Literal;
2485 return Token.Literal;
2509 return Token.IGNORE;
2524 return Token.INCLUDE;
2544 return Token.LeftBracket;
2615 return Token.CondSectionEnd;
2991 if (!
value.NData.IsEmpty)
3019 if (token >=
Token.CDATA)
3021 return token <=
Token.NOTATION;
3106 return string.Empty;
3110 while (
value[num] ==
' ')
3119 for (i = num; i <
length; i++)
3121 if (
value[i] !=
' ')
3133 return value.Substring(num, i - num);
3213 if (token ==
Token.SYSTEM || token ==
Token.PUBLIC)
3222 case Token.LeftBracket:
3233 case Token.GreaterThan:
3267 if (baseUri !=
null)
3285 case Token.AttlistDecl:
3288 case Token.ElementDecl:
3291 case Token.EntityDecl:
3294 case Token.NotationDecl:
3303 case Token.CondSectionStart:
3311 case Token.CondSectionEnd:
3325 case Token.RightBracket:
3402 if (
attrDef.Name.Name ==
"space")
3406 string text =
attrDef.DefaultValueExpanded.Trim();
3407 if (
text.Equals(
"preserve") ||
text.Equals(
"default"))
3425 else if (
attrDef.Name.Name ==
"lang")
3436 case Token.GreaterThan:
3483 case Token.NOTATION:
3488 if (
elementDecl.IsNotationDeclared && !ignoreErrors)
3519 case Token.RightParen:
3527 else if (token ==
Token.LeftParen)
3550 case Token.RightParen:
3566 case Token.REQUIRED:
3578 goto case Token.Literal;
3584 if (
attrDef.TokenizedType != 0)
3627 if (token !=
Token.LeftParen)
3629 if (token !=
Token.ANY)
3631 if (token !=
Token.EMPTY)
3686 if (token !=
Token.QName)
3688 if (token !=
Token.LeftParen)
3690 if (token !=
Token.GreaterThan)
3742 case Token.RightParen:
3744 case Token.GreaterThan:
3783 case Token.RightParen:
3845 if (token ==
Token.Name)
3849 if (token ==
Token.Percent)
3912 string name = entity.NData.Name;
3951 if (token ==
Token.SYSTEM || token ==
Token.PUBLIC)
4067 string publicId =
null;
4068 string systemId =
null;
4076 if (systemId.Contains(
'#'))
4080 systemId.Substring(systemId.IndexOf(
'#')),
4130 return (publicId, systemId);
4312 return Token.RightBracket;
4343 return Token.ElementDecl;
4356 return Token.EntityDecl;
4375 return Token.AttlistDecl;
4388 return Token.NotationDecl;
4394 return Token.CondSectionStart;
4399 return Token.Comment;
4441 return Token.CondSectionEnd;
4462 return Token.Nmtoken;
4476 return Token.PUBLIC;
4484 return Token.SYSTEM;
4488 return Token.LeftBracket;
4492 return Token.GreaterThan;
4538 return Token.LeftParen;
4565 return Token.PCDATA;
4579 return Token.LeftParen;
4583 return Token.GreaterThan;
4598 return Token.GreaterThan;
4619 return Token.LeftParen;
4650 return Token.ENTITIES;
4653 return Token.ENTITY;
4680 return Token.IDREFS;
4697 return Token.NOTATION;
4707 return Token.NMTOKENS;
4710 return Token.NMTOKEN;
4735 return Token.Literal;
4752 return Token.REQUIRED;
4764 return Token.IMPLIED;
4989 return Token.Literal;
5003 return Token.PUBLIC;
5011 return Token.SYSTEM;
5026 return Token.Literal;
5036 return Token.Percent;
5054 return Token.PUBLIC;
5062 return Token.SYSTEM;
5067 return Token.Literal;
5106 return Token.Literal;
5118 return Token.Literal;
5142 return Token.IGNORE;
5157 return Token.INCLUDE;
5237 return Token.CondSectionEnd;
static unsafe void Copy(Array sourceArray, Array destinationArray, int length)
bool ICollection< TValue >. Contains(TValue item)
bool TryGetValue(TKey key, [MaybeNullWhen(false)] out TValue value)
bool ContainsKey(TKey key)
bool ICollection< KeyValuePair< TKey, TValue > >. Remove(KeyValuePair< TKey, TValue > keyValuePair)
bool ICollection< KeyValuePair< TKey, TValue > >. Contains(KeyValuePair< TKey, TValue > keyValuePair)
void Add(TKey key, TValue value)
static string Xml_BadAttributeChar
static string Xml_ExpectIgnoreOrInclude
static string Xml_UndeclaredParEntity
static string Xml_ExpectDtdMarkup
static string Xml_AttlistDuplNotationValue
static string Xml_InvalidParEntityRef
static string Xml_ExpectSubOrClose
static string Sch_NotationAttributeOnEmptyElement
static string Xml_UnclosedQuote
static string Xml_ExternalEntityInAttValue
static string Xml_ExpectNoWhitespace
static string Xml_BadStartNameChar
static string Xml_ExpectOp
static string Xml_EnumerationRequired
static string Sch_DupElementDecl
static string Xml_UndeclaredEntity
static string Xml_InvalidConditionalSection
static string Xml_FragmentId
static string Xml_IncompleteDtdContent
static string Xml_UnexpectedCDataEnd
static string Sch_DupNotationAttribute
static string Sch_ParEntityRefNesting
static string Xml_AttlistDuplEnumValue
static string Xml_UnparsedEntityRef
static string Xml_RecursiveParEntity
static string Xml_ExpectExternalIdOrEntityValue
static string Xml_InternalError
static string Xml_ColonInLocalName
static string Sch_DupElement
static string Xml_InvalidAttributeType1
static string Xml_UnexpectedTokens2
static string Xml_ExpectAttType
static string Xml_InvalidCharacter
static string Xml_ExpectExternalOrPublicId
static string Xml_UnexpectedTokenEx
static string Xml_InvalidContentModel
static string Sch_AttListPresence
static string Xml_InvalidAttributeType
static string Xml_ExpectingWhiteSpace
static string Xml_ErrorParsingEntityName
static string Xml_BadNameChar
static string Sch_IdAttrDeclared
static string Xml_UnexpectedEOF
static string Xml_ExpectPcData
static string Xml_RecursiveGenEntity
static string Xml_UnclosedConditionalSection
static string Sch_UndeclaredNotation
static string Xml_ExpectExternalOrClose
static string Sch_DupNotation
override string ToString()
StringBuilder Append(char value, int repeatCount)
new ConfiguredTaskAwaitable< TResult > ConfigureAwait(bool continueOnCapturedContext)
override string ToString()
ParseElementOnlyContent_LocalFrame(int startParentEntityIdParam)
UndeclaredNotation(string name, int lineNo, int linePos)
async Task ParseNotationDeclAsync()
Token ScanLiteral(LiteralType literalType)
bool ParsingTopLevelMarkup
async Task< Token > ScanCondSection3Async()
Token ScanQNameExpected()
void ThrowUnexpectedToken(int pos, string expectedToken1, string expectedToken2)
async Task< Token > ScanAttlist1Async()
void ParseHowMany(ParticleContentValidator pcv)
async Task< Token > ScanEntity2Async()
void ParseInDocumentDtd(bool saveInternalSubset)
ScanningFunction _nextScaningFunction
async Task< Token > ScanEntity3Async()
async Task< int > ReadDataAsync()
void ParseAttlistDefault(SchemaAttDef attrDef, bool ignoreErrors)
static IDtdParser Create()
async Task ParseAttlistTypeAsync(SchemaAttDef attrDef, SchemaElementDecl elementDecl, bool ignoreErrors)
void Parse(bool saveInternalSubset)
async Task< Token > ScanElement2Async()
void SendValidationEvent(int pos, XmlSeverityType severity, string code, string arg)
int[] _condSectionEntityIds
async Task ParseElementDeclAsync()
async Task< bool > EatSystemKeywordAsync()
int _externalEntitiesDepth
async Task ParseElementOnlyContentAsync(ParticleContentValidator pcv, int startParenEntityId)
async Task ScanQNameAsync(bool isQName)
void AddUndeclaredNotation(string notationName)
Dictionary< string, UndeclaredNotation > _undeclaredNotations
static string StripSpaces(string value)
async Task ParsePIAsync()
async Task ParseHowManyAsync(ParticleContentValidator pcv)
async Task< Token > ScanSystemIdAsync()
Token ScanNmtokenExpected()
void ParseElementMixedContent(ParticleContentValidator pcv, int startParenEntityId)
async Task< bool > EatPublicKeywordAsync()
bool SaveInternalSubsetValue
async Task ParseSubsetAsync()
void ScanQName(bool isQName)
async Task< Token > ScanElement1Async()
async Task< Token > ScanElement3Async()
async Task ParseAttlistDeclAsync()
async Task< Token > ScanQNameExpectedAsync()
void Throw(int curPos, string res)
bool IsAttributeValueType(Token token)
void ParseExternalSubset()
async Task< Token > ScanNotation1Async()
async Task< bool > HandleEntityReferenceAsync(XmlQualifiedName entityName, bool paramEntity, bool inLiteral, bool inAttribute)
async Task< Token > ScanCondSection1Async()
XmlQualifiedName GetNameQualified(bool canHavePrefix)
async Task ParseCommentAsync()
bool HandleEntityReference(XmlQualifiedName entityName, bool paramEntity, bool inLiteral, bool inAttribute)
bool IgnoreEntityReferences
async Task< Token > ScanPublicId1Async()
void Throw(string res, string arg, int lineNo, int linePos)
XmlQualifiedName ScanEntityName()
async Task ParseElementMixedContentAsync(ParticleContentValidator pcv, int startParenEntityId)
bool HandleEntityEnd(bool inLiteral)
Task ParseInternalSubsetAsync()
async Task< bool > ReadDataInNameAsync()
LineInfo _literalLineInfo
bool ParsingInternalSubset
void Throw(int curPos, string res, string arg)
Token GetToken(bool needWhiteSpace)
void ParseFreeFloatingDtd()
async Task< Token > ScanDoctype1Async()
void InitializeFreeFloatingDtd(string baseUri, string docTypeName, string publicId, string systemId, string internalSubset, IDtdParserAdapter adapter)
async Task ParseCondSectionAsync()
void SaveParsingBuffer(int internalSubsetValueEndPos)
void ThrowUnexpectedToken(int pos, string expectedToken)
void Initialize(IDtdParserAdapter readerAdapter)
ScanningFunction _savedScanningFunction
async Task< Token > ScanAttlist2Async()
async Task< Token > ScanAttlist6Async()
IDtdParserAdapterWithValidation _readerAdapterWithValidation
SchemaEntity VerifyEntityReference(XmlQualifiedName entityName, bool paramEntity, bool mustBeDeclared, bool inAttribute)
string _externalDtdBaseUri
async Task< Token > ScanLiteralAsync(LiteralType literalType)
async Task ParseAttlistDefaultAsync(SchemaAttDef attrDef, bool ignoreErrors)
void ParseElementOnlyContent(ParticleContentValidator pcv, int startParenEntityId)
IDtdParserAdapter _readerAdapter
async Task ParseAsync(bool saveInternalSubset)
StringBuilder _internalSubsetValueSb
string ParseUnexpectedToken(int startPos)
async Task< Token > ScanEntity1Async()
string GetValueWithStrippedSpaces()
Task< bool > HandleEntityReferenceAsync(bool paramEntity, bool inLiteral, bool inAttribute)
Token ScanSubsetContent()
void ThrowInvalidChar(char[] data, int length, int invCharPos)
async Task< Token > ScanNameExpectedAsync()
async Task<(string, string)> ParseExternalIdAsync(Token idTokenType, Token declType)
void ParseExternalId(Token idTokenType, Token declType, out string publicId, out string systemId)
async Task< Token > ScanPublicId2Async()
void SendValidationEvent(XmlSeverityType severity, XmlSchemaException e)
bool HandleEntityReference(bool paramEntity, bool inLiteral, bool inAttribute)
async Task ScanNmtokenAsync()
ScanningFunction _scanningFunction
async Task ParseFreeFloatingDtdAsync()
bool _hasFreeFloatingInternalSubset
string GetNmtokenString()
async Task ParseInDocumentDtdAsync(bool saveInternalSubset)
async Task< Token > GetTokenAsync(bool needWhiteSpace)
async Task< Token > ScanNmtokenExpectedAsync()
async Task ParseEntityDeclAsync()
void ThrowInvalidChar(int pos, string data, int invCharPos)
void SendValidationEvent(XmlSeverityType severity, string code, string arg)
StringBuilder _stringBuilder
async Task ParseExternalSubsetAsync()
void ParseAttlistType(SchemaAttDef attrDef, SchemaElementDecl elementDecl, bool ignoreErrors)
async Task< Token > ScanSubsetContentAsync()
void Throw(int curPos, string res, string[] args)
void ParseInternalSubset()
static readonly ContentValidator Empty
static readonly ContentValidator Any
static void SetDefaultTypedValue(SchemaAttDef attdef, IDtdParserAdapter readerAdapter)
Dictionary< XmlQualifiedName, SchemaEntity > GeneralEntities
Dictionary< string, SchemaNotation > Notations
Dictionary< XmlQualifiedName, SchemaEntity > ParameterEntities
Dictionary< XmlQualifiedName, SchemaElementDecl > ElementDecls
Dictionary< XmlQualifiedName, SchemaElementDecl > UndeclaredElementDecls
static ? XmlSchemaSimpleType GetBuiltInSimpleType(XmlQualifiedName qualifiedName)
static bool IsStartNCNameSingleChar(char ch)
static bool IsAttributeValueChar(char ch)
static int IsOnlyCharData(string str)
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 IsHighSurrogate(int ch)
static int IsPublicId(string str)
static ArgumentException CreateInvalidNameArgumentException(string name, string argumentName)
static string VerifyName(string name)
static string[] BuildCharExceptionArgs(string data, int invCharIndex)
IValidationEventHandling ValidationEventHandling
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)
bool IsEntityEolNormalized
int ParseNamedCharRef(bool expand, StringBuilder internalSubsetBuilder)
void ParseComment(StringBuilder sb)
bool PushEntity(IDtdEntityInfo entity, out int entityId)
int ParseNumericCharRef(StringBuilder internalSubsetBuilder)
Task< int > ReadDataAsync()
IDtdInfo ParseInternalDtd(IDtdParserAdapter adapter, bool saveInternalSubset)
Task< IDtdInfo > ParseInternalDtdAsync(IDtdParserAdapter adapter, bool saveInternalSubset)
IDtdInfo ParseFreeFloatingDtd(string baseUri, string docTypeName, string publicId, string systemId, string internalSubset, IDtdParserAdapter adapter)
Task< IDtdInfo > ParseFreeFloatingDtdAsync(string baseUri, string docTypeName, string publicId, string systemId, string internalSubset, IDtdParserAdapter adapter)
void SendEvent(Exception exception, XmlSeverityType severity)
void Set(int lineNo, int linePos)