187 writes to _curPos
System.Private.Xml (187)
System\Xml\Schema\DtdParser.cs (104)
1563
_curPos
++;
1575
_curPos
+= 2;
1580
_curPos
++;
1591
_curPos
++;
1602
_curPos
++;
1704
_curPos
+= 9;
1720
_curPos
+= 8;
1745
_curPos
+= 9;
1762
_curPos
+= 10;
1768
_curPos
+= 3;
1774
_curPos
+= 4;
1796
_curPos
+= 2;
1814
_curPos
++;
1824
_curPos
+= 3;
1886
_curPos
++;
1890
_curPos
++;
1904
_curPos
++;
1908
_curPos
++;
1923
_curPos
++;
1936
_curPos
++;
1946
_curPos
+= 5;
1958
_curPos
+= 3;
1989
_curPos
+= 7;
2008
_curPos
++;
2011
_curPos
++;
2044
_curPos
++;
2053
_curPos
++;
2057
_curPos
++;
2061
_curPos
++;
2065
_curPos
++;
2079
_curPos
++;
2083
_curPos
++;
2098
_curPos
++;
2109
_curPos
++;
2130
_curPos
++;
2142
_curPos
+= 5;
2161
_curPos
+= 8;
2164
_curPos
+= 6;
2182
_curPos
+= 2;
2193
_curPos
+= 5;
2198
_curPos
+= 6;
2215
_curPos
+= 8;
2229
_curPos
+= 8;
2234
_curPos
+= 7;
2259
_curPos
++;
2276
_curPos
++;
2280
_curPos
++;
2295
_curPos
++;
2299
_curPos
++;
2335
_curPos
+= 9;
2347
_curPos
+= 8;
2356
_curPos
+= 6;
2401
_curPos
++;
2410
_curPos
++;
2419
_curPos
++;
2436
_curPos
++;
2440
_curPos
++;
2466
_curPos
+= 2;
2474
_curPos
++;
2490
_curPos
++;
2498
_curPos
++;
2504
_curPos
++;
2514
_curPos
++;
2530
_curPos
= endPos;
2547
_curPos
= endPos;
2565
_curPos
= endPos;
2571
_curPos
++;
2596
_curPos
++;
2599
_curPos
++;
2639
_curPos
++;
2687
_curPos
++;
2746
_curPos
+= 5;
2790
_curPos
++;
2813
_curPos
+= 6;
2824
_curPos
+= 5;
2844
_curPos
++;
2858
_curPos
++;
2867
_curPos
++;
2871
_curPos
++;
2877
_curPos
+= 2;
2881
_curPos
++;
2896
_curPos
++;
2900
_curPos
+= 3;
2909
_curPos
++;
2915
_curPos
+= 3;
2920
_curPos
+= 3;
2940
_curPos
++;
2943
_curPos
++;
2985
_curPos
++;
3009
_curPos
++;
3026
_curPos
++;
3031
_curPos
++;
3056
_curPos
= _tokenStartPos;
3059
_curPos
+= offset;
3073
_curPos
++;
3091
_curPos
= _tokenStartPos;
3097
_curPos
+= len;
3103
_curPos
+= len;
3122
_curPos
+= 6;
3141
_curPos
+= 6;
3216
_curPos
= _readerAdapter.CurrentPosition;
3245
_curPos
++;
3459
_curPos
= curPos;
3467
_curPos
= curPos;
System\Xml\Schema\DtdParserAsync.cs (83)
1190
_curPos
++;
1202
_curPos
+= 2;
1207
_curPos
++;
1218
_curPos
++;
1229
_curPos
++;
1331
_curPos
+= 9;
1347
_curPos
+= 8;
1372
_curPos
+= 9;
1389
_curPos
+= 10;
1395
_curPos
+= 3;
1401
_curPos
+= 4;
1423
_curPos
+= 2;
1441
_curPos
++;
1451
_curPos
+= 3;
1513
_curPos
++;
1517
_curPos
++;
1534
_curPos
++;
1544
_curPos
+= 5;
1556
_curPos
+= 3;
1587
_curPos
+= 7;
1606
_curPos
++;
1609
_curPos
++;
1624
_curPos
++;
1645
_curPos
++;
1657
_curPos
+= 5;
1676
_curPos
+= 8;
1679
_curPos
+= 6;
1697
_curPos
+= 2;
1708
_curPos
+= 5;
1713
_curPos
+= 6;
1730
_curPos
+= 8;
1744
_curPos
+= 8;
1749
_curPos
+= 7;
1796
_curPos
+= 9;
1808
_curPos
+= 8;
1817
_curPos
+= 6;
1847
_curPos
++;
1856
_curPos
++;
1865
_curPos
++;
1882
_curPos
++;
1886
_curPos
++;
1912
_curPos
+= 2;
1920
_curPos
++;
1936
_curPos
++;
1944
_curPos
++;
1950
_curPos
++;
1960
_curPos
++;
1976
_curPos
= endPos;
1993
_curPos
= endPos;
2011
_curPos
= endPos;
2017
_curPos
++;
2042
_curPos
++;
2045
_curPos
++;
2112
_curPos
++;
2171
_curPos
+= 5;
2215
_curPos
++;
2238
_curPos
+= 6;
2249
_curPos
+= 5;
2272
_curPos
++;
2281
_curPos
++;
2285
_curPos
++;
2291
_curPos
+= 2;
2295
_curPos
++;
2310
_curPos
++;
2314
_curPos
+= 3;
2323
_curPos
++;
2329
_curPos
+= 3;
2334
_curPos
+= 3;
2354
_curPos
++;
2357
_curPos
++;
2399
_curPos
++;
2422
_curPos
++;
2439
_curPos
++;
2444
_curPos
++;
2469
_curPos
= _tokenStartPos;
2472
_curPos
+= offset;
2486
_curPos
++;
2504
_curPos
= _tokenStartPos;
2510
_curPos
+= len;
2516
_curPos
+= len;
2535
_curPos
+= 6;
2554
_curPos
+= 6;
2575
_curPos
++;
719 references to _curPos
System.Private.Xml (719)
System\Xml\Schema\DtdParser.cs (385)
293
ThrowInvalidChar(
_curPos
, systemId, i);
303
ThrowInvalidChar(
_curPos
, publicId, i);
560
Throw(
_curPos
- 3, SR.Xml_InvalidConditionalSection); // 3==strlen("<![")
571
SendValidationEvent(
_curPos
, XmlSeverityType.Error, SR.Sch_ParEntityRefNesting, string.Empty);
576
Throw(
_curPos
- 3, SR.Xml_UnexpectedCDataEnd);
584
Throw(
_curPos
, SR.Xml_UnclosedConditionalSection);
589
Debug.Assert(
_curPos
> 0 && _chars[
_curPos
- 1] == ']');
590
SaveParsingBuffer(
_curPos
- 1);
597
ThrowUnexpectedToken(
_curPos
, ">");
607
Throw(
_curPos
, SR.Xml_ExpectDtdMarkup);
613
Throw(
_curPos
, SR.Xml_IncompleteDtdContent);
617
Throw(
_curPos
, SR.Xml_UnclosedConditionalSection);
631
SendValidationEvent(
_curPos
, XmlSeverityType.Error, SR.Sch_ParEntityRefNesting, string.Empty);
637
Throw(
_curPos
, SR.Sch_ParEntityRefNesting);
673
attrDef.LinePosition = (int)LinePos - (
_curPos
- _tokenStartPos);
789
SendValidationEvent(
_curPos
- 8, XmlSeverityType.Error, SR.Sch_DupNotationAttribute, elementDecl.Name.ToString()); // 8 == strlen("NOTATION")
797
SendValidationEvent(
_curPos
- 8, XmlSeverityType.Error, SR.Sch_NotationAttributeOnEmptyElement, elementDecl.Name.ToString()); // 8 == strlen("NOTATION")
906
SendValidationEvent(
_curPos
, XmlSeverityType.Error, SR.Sch_AttListPresence, string.Empty);
944
SendValidationEvent(
_curPos
- name.Name.Length, XmlSeverityType.Error, SR.Sch_DupElementDecl, GetNameString());
1007
ThrowUnexpectedToken(
_curPos
, ">");
1059
Throw(
_curPos
, SR.Xml_InvalidContentModel);
1071
Throw(
_curPos
, SR.Xml_InvalidContentModel);
1079
Throw(
_curPos
, SR.Xml_InvalidContentModel);
1088
SendValidationEvent(
_curPos
, XmlSeverityType.Error, SR.Sch_ParEntityRefNesting, string.Empty);
1093
Throw(
_curPos
, SR.Xml_InvalidContentModel);
1150
SendValidationEvent(
_curPos
, XmlSeverityType.Error, SR.Sch_ParEntityRefNesting, string.Empty);
1158
ThrowUnexpectedToken(
_curPos
, "*");
1175
SendValidationEvent(
_curPos
, XmlSeverityType.Error, SR.Sch_ParEntityRefNesting, string.Empty);
1196
SendValidationEvent(
_curPos
, XmlSeverityType.Error, SR.Sch_ParEntityRefNesting, string.Empty);
1263
ThrowUnexpectedToken(
_curPos
- 5, ">"); // 5 == strlen("NDATA")
1267
Throw(
_curPos
- 5, SR.Xml_ExpectingWhiteSpace, "NDATA");
1323
SendValidationEvent(
_curPos
- notationName.Name.Length, XmlSeverityType.Error, SR.Sch_DupNotation, notationName.Name);
1423
SendValidationEvent(
_curPos
, XmlSeverityType.Error, SR.Sch_ParEntityRefNesting, string.Empty);
1448
SendValidationEvent(
_curPos
, XmlSeverityType.Error, SR.Sch_ParEntityRefNesting, string.Empty);
1457
SendValidationEvent(
_curPos
, XmlSeverityType.Error, SR.Sch_ParEntityRefNesting, string.Empty);
1474
ThrowUnexpectedToken(
_curPos
, "\"", "'");
1483
Throw(
_curPos
- systemId.Length - 1, SR.Xml_FragmentId, new string[] { systemId.Substring(systemId.IndexOf('#')), systemId });
1501
ThrowInvalidChar(
_curPos
- 1 - publicId.Length + i, publicId, i);
1521
ThrowUnexpectedToken(
_curPos
, "\"", "'");
1536
ThrowUnexpectedToken(
_curPos
, "\"", "'");
1549
switch (_chars[
_curPos
])
1552
if (
_curPos
== _charsUsed)
1558
ThrowInvalidChar(_chars, _charsUsed,
_curPos
);
1564
_readerAdapter.OnNewLine(
_curPos
);
1568
if (_chars[
_curPos
+ 1] == (char)0xA)
1577
else if (
_curPos
+ 1 < _charsUsed || _readerAdapter.IsEof)
1579
_chars[
_curPos
] = (char)0xA; // EOL normalization of 0xD
1586
_readerAdapter.OnNewLine(
_curPos
);
1594
if (_charsUsed -
_curPos
< 2)
1598
if (!XmlCharType.IsWhiteSpace(_chars[
_curPos
+ 1]))
1614
Throw(
_curPos
, SR.Xml_ExpectingWhiteSpace, ParseUnexpectedToken(
_curPos
));
1616
_tokenStartPos =
_curPos
;
1673
Throw(
_curPos
, SR.Xml_IncompleteDtdContent);
1683
switch (_chars[
_curPos
])
1686
switch (_chars[
_curPos
+ 1])
1689
switch (_chars[
_curPos
+ 2])
1692
if (_chars[
_curPos
+ 3] == 'L')
1694
if (_charsUsed -
_curPos
< 9)
1698
if (_chars[
_curPos
+ 4] != 'E' || _chars[
_curPos
+ 5] != 'M' ||
1699
_chars[
_curPos
+ 6] != 'E' || _chars[
_curPos
+ 7] != 'N' ||
1700
_chars[
_curPos
+ 8] != 'T')
1702
Throw(
_curPos
, SR.Xml_ExpectDtdMarkup);
1709
else if (_chars[
_curPos
+ 3] == 'N')
1711
if (_charsUsed -
_curPos
< 8)
1715
if (_chars[
_curPos
+ 4] != 'T' || _chars[
_curPos
+ 5] != 'I' ||
1716
_chars[
_curPos
+ 6] != 'T' || _chars[
_curPos
+ 7] != 'Y')
1718
Throw(
_curPos
, SR.Xml_ExpectDtdMarkup);
1726
if (_charsUsed -
_curPos
< 4)
1730
Throw(
_curPos
, SR.Xml_ExpectDtdMarkup);
1735
if (_charsUsed -
_curPos
< 9)
1739
if (_chars[
_curPos
+ 3] != 'T' || _chars[
_curPos
+ 4] != 'T' ||
1740
_chars[
_curPos
+ 5] != 'L' || _chars[
_curPos
+ 6] != 'I' ||
1741
_chars[
_curPos
+ 7] != 'S' || _chars[
_curPos
+ 8] != 'T')
1743
Throw(
_curPos
, SR.Xml_ExpectDtdMarkup);
1751
if (_charsUsed -
_curPos
< 10)
1755
if (_chars[
_curPos
+ 3] != 'O' || _chars[
_curPos
+ 4] != 'T' ||
1756
_chars[
_curPos
+ 5] != 'A' || _chars[
_curPos
+ 6] != 'T' ||
1757
_chars[
_curPos
+ 7] != 'I' || _chars[
_curPos
+ 8] != 'O' ||
1758
_chars[
_curPos
+ 9] != 'N')
1760
Throw(
_curPos
, SR.Xml_ExpectDtdMarkup);
1772
if (_chars[
_curPos
+ 3] == '-')
1779
if (_charsUsed -
_curPos
< 4)
1783
Throw(
_curPos
, SR.Xml_ExpectDtdMarkup);
1787
if (_charsUsed -
_curPos
< 3)
1791
Throw(
_curPos
+ 2, SR.Xml_ExpectDtdMarkup);
1799
if (_charsUsed -
_curPos
< 2)
1803
Throw(
_curPos
, SR.Xml_ExpectDtdMarkup);
1808
if (_charsUsed -
_curPos
< 2 && !_readerAdapter.IsEof)
1812
if (_chars[
_curPos
+ 1] != ']')
1818
if (_charsUsed -
_curPos
< 3 && !_readerAdapter.IsEof)
1822
if (_chars[
_curPos
+ 1] == ']' && _chars[
_curPos
+ 2] == '>')
1829
if (_charsUsed -
_curPos
== 0)
1833
Throw(
_curPos
, SR.Xml_ExpectDtdMarkup);
1867
switch (_chars[
_curPos
])
1872
Throw(
_curPos
, SR.Xml_ExpectExternalOrClose);
1880
Throw(
_curPos
, SR.Xml_ExpectExternalOrClose);
1894
Throw(
_curPos
, SR.Xml_ExpectExternalOrClose);
1901
switch (_chars[
_curPos
])
1912
Throw(
_curPos
, SR.Xml_ExpectSubOrClose);
1919
if (_chars[
_curPos
] != '>')
1921
ThrowUnexpectedToken(
_curPos
, ">");
1932
switch (_chars[
_curPos
])
1939
if (_charsUsed -
_curPos
< 5)
1943
if (_chars[
_curPos
+ 1] == 'M' && _chars[
_curPos
+ 2] == 'P' &&
1944
_chars[
_curPos
+ 3] == 'T' && _chars[
_curPos
+ 4] == 'Y')
1952
if (_charsUsed -
_curPos
< 3)
1956
if (_chars[
_curPos
+ 1] == 'N' && _chars[
_curPos
+ 2] == 'Y')
1964
Throw(
_curPos
, SR.Xml_InvalidContentModel);
1970
Throw(
_curPos
, SR.Xml_IncompleteDtdContent);
1977
if (_chars[
_curPos
] == '#')
1979
while (_charsUsed -
_curPos
< 7)
1983
Throw(
_curPos
, SR.Xml_IncompleteDtdContent);
1987
if (_chars.AsSpan(
_curPos
+ 1).StartsWith("PCDATA"))
1995
Throw(
_curPos
+ 1, SR.Xml_ExpectPcData);
2005
switch (_chars[
_curPos
])
2026
switch (_chars[
_curPos
])
2042
Throw(
_curPos
, SR.Xml_ExpectNoWhitespace);
2050
switch (_chars[
_curPos
])
2069
Throw(
_curPos
, SR.Xml_ExpectOp);
2076
switch (_chars[
_curPos
])
2088
ThrowUnexpectedToken(
_curPos
, ")", "|");
2096
if (_chars[
_curPos
] == '*' && !_whitespaceSeen)
2106
switch (_chars[
_curPos
])
2115
Throw(
_curPos
, SR.Xml_ExpectingWhiteSpace, ParseUnexpectedToken(
_curPos
));
2127
switch (_chars[
_curPos
])
2135
if (_charsUsed -
_curPos
< 5)
2137
if (_chars[
_curPos
+ 1] != 'D' || _chars[
_curPos
+ 2] != 'A' ||
2138
_chars[
_curPos
+ 3] != 'T' || _chars[
_curPos
+ 4] != 'A')
2140
Throw(
_curPos
, SR.Xml_InvalidAttributeType1);
2146
if (_charsUsed -
_curPos
< 9)
2149
if (_chars[
_curPos
+ 1] != 'N' || _chars[
_curPos
+ 2] != 'T' ||
2150
_chars[
_curPos
+ 3] != 'I' || _chars[
_curPos
+ 4] != 'T')
2152
Throw(
_curPos
, SR.Xml_InvalidAttributeType);
2154
switch (_chars[
_curPos
+ 5])
2157
if (_chars[
_curPos
+ 6] != 'E' || _chars[
_curPos
+ 7] != 'S')
2159
Throw(
_curPos
, SR.Xml_InvalidAttributeType);
2167
Throw(
_curPos
, SR.Xml_InvalidAttributeType);
2172
if (_charsUsed -
_curPos
< 6)
2175
if (_chars[
_curPos
+ 1] != 'D')
2177
Throw(
_curPos
, SR.Xml_InvalidAttributeType);
2180
if (_chars[
_curPos
+ 2] != 'R')
2186
if (_chars[
_curPos
+ 3] != 'E' || _chars[
_curPos
+ 4] != 'F')
2188
Throw(
_curPos
, SR.Xml_InvalidAttributeType);
2191
if (_chars[
_curPos
+ 5] != 'S')
2202
if (_charsUsed -
_curPos
< 8 && !_readerAdapter.IsEof)
2206
switch (_chars[
_curPos
+ 1])
2209
if (_chars[
_curPos
+ 2] != 'T' || _chars[
_curPos
+ 3] != 'A' ||
2210
_chars[
_curPos
+ 4] != 'T' || _chars[
_curPos
+ 5] != 'I' ||
2211
_chars[
_curPos
+ 6] != 'O' || _chars[
_curPos
+ 7] != 'N')
2213
Throw(
_curPos
, SR.Xml_InvalidAttributeType);
2219
if (_chars[
_curPos
+ 2] != 'T' || _chars[
_curPos
+ 3] != 'O' ||
2220
_chars[
_curPos
+ 4] != 'K' || _chars[
_curPos
+ 5] != 'E' ||
2221
_chars[
_curPos
+ 6] != 'N')
2223
Throw(
_curPos
, SR.Xml_InvalidAttributeType);
2227
if (_chars[
_curPos
+ 7] == 'S')
2238
Throw(
_curPos
, SR.Xml_InvalidAttributeType);
2243
Throw(
_curPos
, SR.Xml_InvalidAttributeType);
2250
Throw(
_curPos
, SR.Xml_IncompleteDtdContent);
2257
if (_chars[
_curPos
] == '(')
2266
ThrowUnexpectedToken(
_curPos
, "(");
2273
switch (_chars[
_curPos
])
2285
ThrowUnexpectedToken(
_curPos
, ")", "|");
2292
switch (_chars[
_curPos
])
2304
ThrowUnexpectedToken(
_curPos
, ")", "|");
2313
switch (_chars[
_curPos
])
2321
if (_charsUsed -
_curPos
< 6)
2323
switch (_chars[
_curPos
+ 1])
2326
if (_charsUsed -
_curPos
< 9)
2328
if (_chars[
_curPos
+ 2] != 'E' || _chars[
_curPos
+ 3] != 'Q' ||
2329
_chars[
_curPos
+ 4] != 'U' || _chars[
_curPos
+ 5] != 'I' ||
2330
_chars[
_curPos
+ 6] != 'R' || _chars[
_curPos
+ 7] != 'E' ||
2331
_chars[
_curPos
+ 8] != 'D')
2333
Throw(
_curPos
, SR.Xml_ExpectAttType);
2339
if (_charsUsed -
_curPos
< 8)
2341
if (_chars[
_curPos
+ 2] != 'M' || _chars[
_curPos
+ 3] != 'P' ||
2342
_chars[
_curPos
+ 4] != 'L' || _chars[
_curPos
+ 5] != 'I' ||
2343
_chars[
_curPos
+ 6] != 'E' || _chars[
_curPos
+ 7] != 'D')
2345
Throw(
_curPos
, SR.Xml_ExpectAttType);
2351
if (_chars[
_curPos
+ 2] != 'I' || _chars[
_curPos
+ 3] != 'X' ||
2352
_chars[
_curPos
+ 4] != 'E' || _chars[
_curPos
+ 5] != 'D')
2354
Throw(
_curPos
, SR.Xml_ExpectAttType);
2360
Throw(
_curPos
, SR.Xml_ExpectAttType);
2365
Throw(
_curPos
, SR.Xml_ExpectAttType);
2371
Throw(
_curPos
, SR.Xml_IncompleteDtdContent);
2378
switch (_chars[
_curPos
])
2386
ThrowUnexpectedToken(
_curPos
, "\"", "'");
2393
Debug.Assert(_chars[
_curPos
] == '"' || _chars[
_curPos
] == '\'');
2395
char quoteChar = _chars[
_curPos
];
2402
_tokenStartPos =
_curPos
;
2408
while (XmlCharType.IsAttributeValueChar(_chars[
_curPos
]) && _chars[
_curPos
] != '%')
2413
if (_chars[
_curPos
] == quoteChar && _currentEntityId == startQuoteEntityId)
2417
_stringBuilder.Append(_chars, _tokenStartPos,
_curPos
- _tokenStartPos);
2424
int tmp1 =
_curPos
- _tokenStartPos;
2428
_tokenStartPos =
_curPos
;
2431
switch (_chars[
_curPos
])
2444
_tokenStartPos =
_curPos
;
2446
_readerAdapter.OnNewLine(
_curPos
);
2449
if (_chars[
_curPos
+ 1] == (char)0xA)
2461
_tokenStartPos =
_curPos
+ 2;
2468
else if (
_curPos
+ 1 == _charsUsed)
2478
_tokenStartPos =
_curPos
; // For entities: EOL normalization of 0xD and 0xD 0xA
2481
_readerAdapter.OnNewLine(
_curPos
);
2496
Throw(
_curPos
, SR.Xml_BadAttributeChar, XmlException.BuildCharExceptionArgs('<', '\0'));
2508
_tokenStartPos =
_curPos
;
2517
if (
_curPos
+ 1 == _charsUsed)
2522
if (_chars[
_curPos
+ 1] == '#')
2527
_stringBuilder.Append(_chars,
_curPos
, endPos -
_curPos
);
2544
_stringBuilder.Append(_chars,
_curPos
, endPos -
_curPos
);
2553
_tokenStartPos =
_curPos
;
2564
_tokenStartPos =
_curPos
;
2572
_tokenStartPos =
_curPos
;
2582
if (
_curPos
== _charsUsed)
2589
char ch = _chars[
_curPos
];
2592
if (
_curPos
+ 1 == _charsUsed)
2597
if (XmlCharType.IsLowSurrogate(_chars[
_curPos
]))
2603
ThrowInvalidChar(_chars, _charsUsed,
_curPos
);
2609
Debug.Assert(
_curPos
- _tokenStartPos == 0);
2616
Throw(
_curPos
, SR.Xml_UnclosedQuote);
2619
_tokenStartPos =
_curPos
;
2634
if (_chars[
_curPos
] != ';')
2636
ThrowUnexpectedToken(
_curPos
, ";");
2646
switch (_chars[
_curPos
])
2651
Throw(
_curPos
, SR.Xml_ExpectExternalOrClose);
2659
Throw(
_curPos
, SR.Xml_ExpectExternalOrClose);
2665
Throw(
_curPos
, SR.Xml_ExpectExternalOrPublicId);
2672
if (_chars[
_curPos
] != '"' && _chars[
_curPos
] != '\'')
2674
ThrowUnexpectedToken(
_curPos
, "\"", "'");
2685
if (_chars[
_curPos
] == '%')
2702
switch (_chars[
_curPos
])
2707
Throw(
_curPos
, SR.Xml_ExpectExternalOrClose);
2715
Throw(
_curPos
, SR.Xml_ExpectExternalOrClose);
2727
Throw(
_curPos
, SR.Xml_ExpectExternalIdOrEntityValue);
2734
if (_chars[
_curPos
] == 'N')
2736
while (_charsUsed -
_curPos
< 5)
2743
if (_chars[
_curPos
+ 1] == 'D' && _chars[
_curPos
+ 2] == 'A' &&
2744
_chars[
_curPos
+ 3] == 'T' && _chars[
_curPos
+ 4] == 'A')
2759
if (_chars[
_curPos
] != '"' && _chars[
_curPos
] != '\'')
2761
ThrowUnexpectedToken(
_curPos
, "\"", "'");
2772
if (_chars[
_curPos
] != '"' && _chars[
_curPos
] != '\'')
2786
if (_chars[
_curPos
] != 'I')
2788
Throw(
_curPos
, SR.Xml_ExpectIgnoreOrInclude);
2794
if (_charsUsed -
_curPos
< 5)
2798
switch (_chars[
_curPos
])
2801
if (_charsUsed -
_curPos
< 6)
2805
if (_chars[
_curPos
+ 1] != 'C' || _chars[
_curPos
+ 2] != 'L' ||
2806
_chars[
_curPos
+ 3] != 'U' || _chars[
_curPos
+ 4] != 'D' ||
2807
_chars[
_curPos
+ 5] != 'E' || XmlCharType.IsNameSingleChar(_chars[
_curPos
+ 6]))
2816
if (_chars[
_curPos
+ 1] != 'N' || _chars[
_curPos
+ 2] != 'O' ||
2817
_chars[
_curPos
+ 3] != 'R' || _chars[
_curPos
+ 4] != 'E' ||
2818
XmlCharType.IsNameSingleChar(_chars[
_curPos
+ 5]))
2827
Throw(
_curPos
- 1, SR.Xml_ExpectIgnoreOrInclude);
2833
Throw(
_curPos
, SR.Xml_IncompleteDtdContent);
2840
if (_chars[
_curPos
] != '[')
2842
ThrowUnexpectedToken(
_curPos
, "[");
2856
while (XmlCharType.IsTextChar(_chars[
_curPos
]) && _chars[
_curPos
] != ']')
2861
switch (_chars[
_curPos
])
2872
_readerAdapter.OnNewLine(
_curPos
);
2875
if (_chars[
_curPos
+ 1] == (char)0xA)
2879
else if (
_curPos
+ 1 < _charsUsed || _readerAdapter.IsEof)
2887
_readerAdapter.OnNewLine(
_curPos
);
2890
if (_charsUsed -
_curPos
< 3)
2894
if (_chars[
_curPos
+ 1] != '!' || _chars[
_curPos
+ 2] != '[')
2903
if (_charsUsed -
_curPos
< 3)
2907
if (_chars[
_curPos
+ 1] != ']' || _chars[
_curPos
+ 2] != '>')
2926
if (
_curPos
== _charsUsed)
2933
char ch = _chars[
_curPos
];
2936
if (
_curPos
+ 1 == _charsUsed)
2941
if (XmlCharType.IsLowSurrogate(_chars[
_curPos
]))
2947
ThrowInvalidChar(_chars, _charsUsed,
_curPos
);
2960
Throw(
_curPos
, SR.Xml_UnclosedConditionalSection);
2962
_tokenStartPos =
_curPos
;
2978
_tokenStartPos =
_curPos
;
2983
if (XmlCharType.IsStartNCNameSingleChar(_chars[
_curPos
]) || _chars[
_curPos
] == ':')
2989
if (
_curPos
+ 1 >= _charsUsed)
2995
Throw(
_curPos
, SR.Xml_UnexpectedEOF, "Name");
2999
Throw(
_curPos
, SR.Xml_BadStartNameChar, XmlException.BuildCharExceptionArgs(_chars, _charsUsed,
_curPos
));
3007
if (XmlCharType.IsNCNameSingleChar(_chars[
_curPos
]))
3017
if (_chars[
_curPos
] == ':')
3023
Throw(
_curPos
, SR.Xml_BadNameChar, XmlException.BuildCharExceptionArgs(':', '\0'));
3025
colonOffset =
_curPos
- _tokenStartPos;
3036
else if (
_curPos
== _charsUsed)
3042
if (_tokenStartPos ==
_curPos
)
3044
Throw(
_curPos
, SR.Xml_UnexpectedEOF, "Name");
3055
int offset =
_curPos
- _tokenStartPos;
3058
_tokenStartPos =
_curPos
;
3065
_tokenStartPos =
_curPos
;
3071
if (XmlCharType.IsNCNameSingleChar(_chars[
_curPos
]) || _chars[
_curPos
] == ':')
3081
if (
_curPos
< _charsUsed)
3083
if (
_curPos
- _tokenStartPos == 0)
3085
Throw(
_curPos
, SR.Xml_BadNameChar, XmlException.BuildCharExceptionArgs(_chars, _charsUsed,
_curPos
));
3090
int len =
_curPos
- _tokenStartPos;
3096
_tokenStartPos =
_curPos
;
3100
Throw(
_curPos
, SR.Xml_UnexpectedEOF, "NmToken");
3102
_tokenStartPos =
_curPos
;
3109
Debug.Assert(_chars[
_curPos
] == 'P');
3110
while (_charsUsed -
_curPos
< 6)
3118
if (!_chars.AsSpan(
_curPos
+ 1).StartsWith("UBLIC"))
3128
Debug.Assert(_chars[
_curPos
] == 'S');
3129
while (_charsUsed -
_curPos
< 6)
3137
if (!_chars.AsSpan(
_curPos
+ 1).StartsWith("YSTEM"))
3150
Debug.Assert(
_curPos
- _tokenStartPos > 0);
3153
return new XmlQualifiedName(_nameTable.Add(_chars, _tokenStartPos,
_curPos
- _tokenStartPos));
3159
return new XmlQualifiedName(_nameTable.Add(_chars, _colonPos + 1,
_curPos
- _colonPos - 1),
3172
Debug.Assert(
_curPos
- _tokenStartPos > 0);
3173
return new string(_chars, _tokenStartPos,
_curPos
- _tokenStartPos);
3185
return new string(_chars, _tokenStartPos,
_curPos
- _tokenStartPos - 1);
3195
Debug.Assert(
_curPos
== 0 || _chars[
_curPos
- 1] == '"' || _chars[
_curPos
- 1] == '\'');
3197
string val = (_stringBuilder.Length == 0) ? new string(_chars, _tokenStartPos,
_curPos
- _tokenStartPos - 1) : _stringBuilder.ToString();
3221
SaveParsingBuffer(
_curPos
);
3236
_readerAdapter.CurrentPosition =
_curPos
;
3244
Debug.Assert(_chars[
_curPos
] == '&' || _chars[
_curPos
] == '%');
3252
Debug.Assert(_chars[
_curPos
- 1] == ';');
3257
Throw(
_curPos
- entityName.Name.Length - 1, SR.Xml_InvalidParEntityRef);
3267
Throw(
_curPos
- entityName.Name.Length - 1, paramEntity ? SR.Xml_RecursiveParEntity : SR.Xml_RecursiveGenEntity, entityName.Name);
3342
Debug.Assert(_chars[
_curPos
- 1] == ';');
3360
SendValidationEvent(
_curPos
- entityName.Name.Length - 1, XmlSeverityType.Error, SR.Xml_UndeclaredParEntity, entityName.Name);
3369
SendValidationEvent(
_curPos
- entityName.Name.Length - 1, XmlSeverityType.Error, SR.Xml_UndeclaredEntity, entityName.Name);
3374
Throw(
_curPos
- entityName.Name.Length - 1, SR.Xml_UndeclaredEntity, entityName.Name);
3382
Throw(
_curPos
- entityName.Name.Length - 1, SR.Xml_UnparsedEntityRef, entityName.Name);
3387
Throw(
_curPos
- entityName.Name.Length - 1, SR.Xml_ExternalEntityInAttValue, entityName.Name);
3399
SendValidationEvent(severity, new XmlSchemaException(code, arg, BaseUriStr, (int)LineNo, (int)LinePos + (pos -
_curPos
)));
3432
return
_curPos
- _readerAdapter.LineStartPosition;
3448
Throw(
_curPos
, SR.Xml_InternalError);
3499
Throw(
_curPos
, SR.Xml_UnexpectedTokens2, new string[3] { unexpectedToken, expectedToken1, expectedToken2 });
3503
Throw(
_curPos
, SR.Xml_UnexpectedTokenEx, new string[2] { unexpectedToken, expectedToken1 });
System\Xml\Schema\DtdParserAsync.cs (334)
204
Throw(
_curPos
- 3, SR.Xml_InvalidConditionalSection); // 3==strlen("<![")
215
SendValidationEvent(
_curPos
, XmlSeverityType.Error, SR.Sch_ParEntityRefNesting, string.Empty);
220
Throw(
_curPos
- 3, SR.Xml_UnexpectedCDataEnd);
228
Throw(
_curPos
, SR.Xml_UnclosedConditionalSection);
233
Debug.Assert(
_curPos
> 0 && _chars[
_curPos
- 1] == ']');
234
SaveParsingBuffer(
_curPos
- 1);
241
ThrowUnexpectedToken(
_curPos
, ">");
251
Throw(
_curPos
, SR.Xml_ExpectDtdMarkup);
257
Throw(
_curPos
, SR.Xml_IncompleteDtdContent);
261
Throw(
_curPos
, SR.Xml_UnclosedConditionalSection);
275
SendValidationEvent(
_curPos
, XmlSeverityType.Error, SR.Sch_ParEntityRefNesting, string.Empty);
281
Throw(
_curPos
, SR.Sch_ParEntityRefNesting);
317
attrDef.LinePosition = (int)LinePos - (
_curPos
- _tokenStartPos);
433
SendValidationEvent(
_curPos
- 8, XmlSeverityType.Error, SR.Sch_DupNotationAttribute, elementDecl.Name.ToString()); // 8 == strlen("NOTATION")
441
SendValidationEvent(
_curPos
- 8, XmlSeverityType.Error, SR.Sch_NotationAttributeOnEmptyElement, elementDecl.Name.ToString()); // 8 == strlen("NOTATION")
550
SendValidationEvent(
_curPos
, XmlSeverityType.Error, SR.Sch_AttListPresence, string.Empty);
588
SendValidationEvent(
_curPos
- name.Name.Length, XmlSeverityType.Error, SR.Sch_DupElementDecl, GetNameString());
651
ThrowUnexpectedToken(
_curPos
, ">");
690
Throw(
_curPos
, SR.Xml_InvalidContentModel);
702
Throw(
_curPos
, SR.Xml_InvalidContentModel);
710
Throw(
_curPos
, SR.Xml_InvalidContentModel);
719
SendValidationEvent(
_curPos
, XmlSeverityType.Error, SR.Sch_ParEntityRefNesting, string.Empty);
724
Throw(
_curPos
, SR.Xml_InvalidContentModel);
781
SendValidationEvent(
_curPos
, XmlSeverityType.Error, SR.Sch_ParEntityRefNesting, string.Empty);
789
ThrowUnexpectedToken(
_curPos
, "*");
806
SendValidationEvent(
_curPos
, XmlSeverityType.Error, SR.Sch_ParEntityRefNesting, string.Empty);
827
SendValidationEvent(
_curPos
, XmlSeverityType.Error, SR.Sch_ParEntityRefNesting, string.Empty);
896
ThrowUnexpectedToken(
_curPos
- 5, ">"); // 5 == strlen("NDATA")
900
Throw(
_curPos
- 5, SR.Xml_ExpectingWhiteSpace, "NDATA");
957
SendValidationEvent(
_curPos
- notationName.Name.Length, XmlSeverityType.Error, SR.Sch_DupNotation, notationName.Name);
1045
SendValidationEvent(
_curPos
, XmlSeverityType.Error, SR.Sch_ParEntityRefNesting, string.Empty);
1070
SendValidationEvent(
_curPos
, XmlSeverityType.Error, SR.Sch_ParEntityRefNesting, string.Empty);
1079
SendValidationEvent(
_curPos
, XmlSeverityType.Error, SR.Sch_ParEntityRefNesting, string.Empty);
1099
ThrowUnexpectedToken(
_curPos
, "\"", "'");
1108
Throw(
_curPos
- systemId.Length - 1, SR.Xml_FragmentId, new string[] { systemId.Substring(systemId.IndexOf('#')), systemId });
1126
ThrowInvalidChar(
_curPos
- 1 - publicId.Length + i, publicId, i);
1146
ThrowUnexpectedToken(
_curPos
, "\"", "'");
1161
ThrowUnexpectedToken(
_curPos
, "\"", "'");
1176
switch (_chars[
_curPos
])
1179
if (
_curPos
== _charsUsed)
1185
ThrowInvalidChar(_chars, _charsUsed,
_curPos
);
1191
_readerAdapter.OnNewLine(
_curPos
);
1195
if (_chars[
_curPos
+ 1] == (char)0xA)
1204
else if (
_curPos
+ 1 < _charsUsed || _readerAdapter.IsEof)
1206
_chars[
_curPos
] = (char)0xA; // EOL normalization of 0xD
1213
_readerAdapter.OnNewLine(
_curPos
);
1221
if (_charsUsed -
_curPos
< 2)
1225
if (!XmlCharType.IsWhiteSpace(_chars[
_curPos
+ 1]))
1241
Throw(
_curPos
, SR.Xml_ExpectingWhiteSpace, ParseUnexpectedToken(
_curPos
));
1243
_tokenStartPos =
_curPos
;
1300
Throw(
_curPos
, SR.Xml_IncompleteDtdContent);
1310
switch (_chars[
_curPos
])
1313
switch (_chars[
_curPos
+ 1])
1316
switch (_chars[
_curPos
+ 2])
1319
if (_chars[
_curPos
+ 3] == 'L')
1321
if (_charsUsed -
_curPos
< 9)
1325
if (_chars[
_curPos
+ 4] != 'E' || _chars[
_curPos
+ 5] != 'M' ||
1326
_chars[
_curPos
+ 6] != 'E' || _chars[
_curPos
+ 7] != 'N' ||
1327
_chars[
_curPos
+ 8] != 'T')
1329
Throw(
_curPos
, SR.Xml_ExpectDtdMarkup);
1336
else if (_chars[
_curPos
+ 3] == 'N')
1338
if (_charsUsed -
_curPos
< 8)
1342
if (_chars[
_curPos
+ 4] != 'T' || _chars[
_curPos
+ 5] != 'I' ||
1343
_chars[
_curPos
+ 6] != 'T' || _chars[
_curPos
+ 7] != 'Y')
1345
Throw(
_curPos
, SR.Xml_ExpectDtdMarkup);
1353
if (_charsUsed -
_curPos
< 4)
1357
Throw(
_curPos
, SR.Xml_ExpectDtdMarkup);
1362
if (_charsUsed -
_curPos
< 9)
1366
if (_chars[
_curPos
+ 3] != 'T' || _chars[
_curPos
+ 4] != 'T' ||
1367
_chars[
_curPos
+ 5] != 'L' || _chars[
_curPos
+ 6] != 'I' ||
1368
_chars[
_curPos
+ 7] != 'S' || _chars[
_curPos
+ 8] != 'T')
1370
Throw(
_curPos
, SR.Xml_ExpectDtdMarkup);
1378
if (_charsUsed -
_curPos
< 10)
1382
if (_chars[
_curPos
+ 3] != 'O' || _chars[
_curPos
+ 4] != 'T' ||
1383
_chars[
_curPos
+ 5] != 'A' || _chars[
_curPos
+ 6] != 'T' ||
1384
_chars[
_curPos
+ 7] != 'I' || _chars[
_curPos
+ 8] != 'O' ||
1385
_chars[
_curPos
+ 9] != 'N')
1387
Throw(
_curPos
, SR.Xml_ExpectDtdMarkup);
1399
if (_chars[
_curPos
+ 3] == '-')
1406
if (_charsUsed -
_curPos
< 4)
1410
Throw(
_curPos
, SR.Xml_ExpectDtdMarkup);
1414
if (_charsUsed -
_curPos
< 3)
1418
Throw(
_curPos
+ 2, SR.Xml_ExpectDtdMarkup);
1426
if (_charsUsed -
_curPos
< 2)
1430
Throw(
_curPos
, SR.Xml_ExpectDtdMarkup);
1435
if (_charsUsed -
_curPos
< 2 && !_readerAdapter.IsEof)
1439
if (_chars[
_curPos
+ 1] != ']')
1445
if (_charsUsed -
_curPos
< 3 && !_readerAdapter.IsEof)
1449
if (_chars[
_curPos
+ 1] == ']' && _chars[
_curPos
+ 2] == '>')
1456
if (_charsUsed -
_curPos
== 0)
1460
Throw(
_curPos
, SR.Xml_ExpectDtdMarkup);
1494
switch (_chars[
_curPos
])
1499
Throw(
_curPos
, SR.Xml_ExpectExternalOrClose);
1507
Throw(
_curPos
, SR.Xml_ExpectExternalOrClose);
1521
Throw(
_curPos
, SR.Xml_ExpectExternalOrClose);
1530
switch (_chars[
_curPos
])
1537
if (_charsUsed -
_curPos
< 5)
1541
if (_chars[
_curPos
+ 1] == 'M' && _chars[
_curPos
+ 2] == 'P' &&
1542
_chars[
_curPos
+ 3] == 'T' && _chars[
_curPos
+ 4] == 'Y')
1550
if (_charsUsed -
_curPos
< 3)
1554
if (_chars[
_curPos
+ 1] == 'N' && _chars[
_curPos
+ 2] == 'Y')
1562
Throw(
_curPos
, SR.Xml_InvalidContentModel);
1568
Throw(
_curPos
, SR.Xml_IncompleteDtdContent);
1575
if (_chars[
_curPos
] == '#')
1577
while (_charsUsed -
_curPos
< 7)
1581
Throw(
_curPos
, SR.Xml_IncompleteDtdContent);
1585
if (_chars.AsSpan(
_curPos
+ 1).StartsWith("PCDATA"))
1593
Throw(
_curPos
+ 1, SR.Xml_ExpectPcData);
1603
switch (_chars[
_curPos
])
1621
switch (_chars[
_curPos
])
1630
Throw(
_curPos
, SR.Xml_ExpectingWhiteSpace, ParseUnexpectedToken(
_curPos
));
1642
switch (_chars[
_curPos
])
1650
if (_charsUsed -
_curPos
< 5)
1652
if (_chars[
_curPos
+ 1] != 'D' || _chars[
_curPos
+ 2] != 'A' ||
1653
_chars[
_curPos
+ 3] != 'T' || _chars[
_curPos
+ 4] != 'A')
1655
Throw(
_curPos
, SR.Xml_InvalidAttributeType1);
1661
if (_charsUsed -
_curPos
< 9)
1664
if (_chars[
_curPos
+ 1] != 'N' || _chars[
_curPos
+ 2] != 'T' ||
1665
_chars[
_curPos
+ 3] != 'I' || _chars[
_curPos
+ 4] != 'T')
1667
Throw(
_curPos
, SR.Xml_InvalidAttributeType);
1669
switch (_chars[
_curPos
+ 5])
1672
if (_chars[
_curPos
+ 6] != 'E' || _chars[
_curPos
+ 7] != 'S')
1674
Throw(
_curPos
, SR.Xml_InvalidAttributeType);
1682
Throw(
_curPos
, SR.Xml_InvalidAttributeType);
1687
if (_charsUsed -
_curPos
< 6)
1690
if (_chars[
_curPos
+ 1] != 'D')
1692
Throw(
_curPos
, SR.Xml_InvalidAttributeType);
1695
if (_chars[
_curPos
+ 2] != 'R')
1701
if (_chars[
_curPos
+ 3] != 'E' || _chars[
_curPos
+ 4] != 'F')
1703
Throw(
_curPos
, SR.Xml_InvalidAttributeType);
1706
if (_chars[
_curPos
+ 5] != 'S')
1717
if (_charsUsed -
_curPos
< 8 && !_readerAdapter.IsEof)
1721
switch (_chars[
_curPos
+ 1])
1724
if (_chars[
_curPos
+ 2] != 'T' || _chars[
_curPos
+ 3] != 'A' ||
1725
_chars[
_curPos
+ 4] != 'T' || _chars[
_curPos
+ 5] != 'I' ||
1726
_chars[
_curPos
+ 6] != 'O' || _chars[
_curPos
+ 7] != 'N')
1728
Throw(
_curPos
, SR.Xml_InvalidAttributeType);
1734
if (_chars[
_curPos
+ 2] != 'T' || _chars[
_curPos
+ 3] != 'O' ||
1735
_chars[
_curPos
+ 4] != 'K' || _chars[
_curPos
+ 5] != 'E' ||
1736
_chars[
_curPos
+ 6] != 'N')
1738
Throw(
_curPos
, SR.Xml_InvalidAttributeType);
1742
if (_chars[
_curPos
+ 7] == 'S')
1753
Throw(
_curPos
, SR.Xml_InvalidAttributeType);
1758
Throw(
_curPos
, SR.Xml_InvalidAttributeType);
1765
Throw(
_curPos
, SR.Xml_IncompleteDtdContent);
1774
switch (_chars[
_curPos
])
1782
if (_charsUsed -
_curPos
< 6)
1784
switch (_chars[
_curPos
+ 1])
1787
if (_charsUsed -
_curPos
< 9)
1789
if (_chars[
_curPos
+ 2] != 'E' || _chars[
_curPos
+ 3] != 'Q' ||
1790
_chars[
_curPos
+ 4] != 'U' || _chars[
_curPos
+ 5] != 'I' ||
1791
_chars[
_curPos
+ 6] != 'R' || _chars[
_curPos
+ 7] != 'E' ||
1792
_chars[
_curPos
+ 8] != 'D')
1794
Throw(
_curPos
, SR.Xml_ExpectAttType);
1800
if (_charsUsed -
_curPos
< 8)
1802
if (_chars[
_curPos
+ 2] != 'M' || _chars[
_curPos
+ 3] != 'P' ||
1803
_chars[
_curPos
+ 4] != 'L' || _chars[
_curPos
+ 5] != 'I' ||
1804
_chars[
_curPos
+ 6] != 'E' || _chars[
_curPos
+ 7] != 'D')
1806
Throw(
_curPos
, SR.Xml_ExpectAttType);
1812
if (_chars[
_curPos
+ 2] != 'I' || _chars[
_curPos
+ 3] != 'X' ||
1813
_chars[
_curPos
+ 4] != 'E' || _chars[
_curPos
+ 5] != 'D')
1815
Throw(
_curPos
, SR.Xml_ExpectAttType);
1821
Throw(
_curPos
, SR.Xml_ExpectAttType);
1826
Throw(
_curPos
, SR.Xml_ExpectAttType);
1832
Throw(
_curPos
, SR.Xml_IncompleteDtdContent);
1839
Debug.Assert(_chars[
_curPos
] == '"' || _chars[
_curPos
] == '\'');
1841
char quoteChar = _chars[
_curPos
];
1848
_tokenStartPos =
_curPos
;
1854
while (XmlCharType.IsAttributeValueChar(_chars[
_curPos
]) && _chars[
_curPos
] != '%')
1859
if (_chars[
_curPos
] == quoteChar && _currentEntityId == startQuoteEntityId)
1863
_stringBuilder.Append(_chars, _tokenStartPos,
_curPos
- _tokenStartPos);
1870
int tmp1 =
_curPos
- _tokenStartPos;
1874
_tokenStartPos =
_curPos
;
1877
switch (_chars[
_curPos
])
1890
_tokenStartPos =
_curPos
;
1892
_readerAdapter.OnNewLine(
_curPos
);
1895
if (_chars[
_curPos
+ 1] == (char)0xA)
1907
_tokenStartPos =
_curPos
+ 2;
1914
else if (
_curPos
+ 1 == _charsUsed)
1924
_tokenStartPos =
_curPos
; // For entities: EOL normalization of 0xD and 0xD 0xA
1927
_readerAdapter.OnNewLine(
_curPos
);
1942
Throw(
_curPos
, SR.Xml_BadAttributeChar, XmlException.BuildCharExceptionArgs('<', '\0'));
1954
_tokenStartPos =
_curPos
;
1963
if (
_curPos
+ 1 == _charsUsed)
1968
if (_chars[
_curPos
+ 1] == '#')
1973
_stringBuilder.Append(_chars,
_curPos
, endPos -
_curPos
);
1990
_stringBuilder.Append(_chars,
_curPos
, endPos -
_curPos
);
1999
_tokenStartPos =
_curPos
;
2010
_tokenStartPos =
_curPos
;
2018
_tokenStartPos =
_curPos
;
2028
if (
_curPos
== _charsUsed)
2035
char ch = _chars[
_curPos
];
2038
if (
_curPos
+ 1 == _charsUsed)
2043
if (XmlCharType.IsLowSurrogate(_chars[
_curPos
]))
2049
ThrowInvalidChar(_chars, _charsUsed,
_curPos
);
2055
Debug.Assert(
_curPos
- _tokenStartPos == 0);
2062
Throw(
_curPos
, SR.Xml_UnclosedQuote);
2065
_tokenStartPos =
_curPos
;
2071
switch (_chars[
_curPos
])
2076
Throw(
_curPos
, SR.Xml_ExpectExternalOrClose);
2084
Throw(
_curPos
, SR.Xml_ExpectExternalOrClose);
2090
Throw(
_curPos
, SR.Xml_ExpectExternalOrPublicId);
2097
if (_chars[
_curPos
] != '"' && _chars[
_curPos
] != '\'')
2099
ThrowUnexpectedToken(
_curPos
, "\"", "'");
2110
if (_chars[
_curPos
] == '%')
2127
switch (_chars[
_curPos
])
2132
Throw(
_curPos
, SR.Xml_ExpectExternalOrClose);
2140
Throw(
_curPos
, SR.Xml_ExpectExternalOrClose);
2152
Throw(
_curPos
, SR.Xml_ExpectExternalIdOrEntityValue);
2159
if (_chars[
_curPos
] == 'N')
2161
while (_charsUsed -
_curPos
< 5)
2169
if (_chars.AsSpan(
_curPos
+ 1).StartsWith("DATA"))
2184
if (_chars[
_curPos
] != '"' && _chars[
_curPos
] != '\'')
2186
ThrowUnexpectedToken(
_curPos
, "\"", "'");
2197
if (_chars[
_curPos
] != '"' && _chars[
_curPos
] != '\'')
2211
if (_chars[
_curPos
] != 'I')
2213
Throw(
_curPos
, SR.Xml_ExpectIgnoreOrInclude);
2219
if (_charsUsed -
_curPos
< 5)
2223
switch (_chars[
_curPos
])
2226
if (_charsUsed -
_curPos
< 6)
2230
if (_chars[
_curPos
+ 1] != 'C' || _chars[
_curPos
+ 2] != 'L' ||
2231
_chars[
_curPos
+ 3] != 'U' || _chars[
_curPos
+ 4] != 'D' ||
2232
_chars[
_curPos
+ 5] != 'E' || XmlCharType.IsNameSingleChar(_chars[
_curPos
+ 6]))
2241
if (_chars[
_curPos
+ 1] != 'N' || _chars[
_curPos
+ 2] != 'O' ||
2242
_chars[
_curPos
+ 3] != 'R' || _chars[
_curPos
+ 4] != 'E' ||
2243
XmlCharType.IsNameSingleChar(_chars[
_curPos
+ 5]))
2252
Throw(
_curPos
- 1, SR.Xml_ExpectIgnoreOrInclude);
2258
Throw(
_curPos
, SR.Xml_IncompleteDtdContent);
2270
while (XmlCharType.IsTextChar(_chars[
_curPos
]) && _chars[
_curPos
] != ']')
2275
switch (_chars[
_curPos
])
2286
_readerAdapter.OnNewLine(
_curPos
);
2289
if (_chars[
_curPos
+ 1] == (char)0xA)
2293
else if (
_curPos
+ 1 < _charsUsed || _readerAdapter.IsEof)
2301
_readerAdapter.OnNewLine(
_curPos
);
2304
if (_charsUsed -
_curPos
< 3)
2308
if (_chars[
_curPos
+ 1] != '!' || _chars[
_curPos
+ 2] != '[')
2317
if (_charsUsed -
_curPos
< 3)
2321
if (_chars[
_curPos
+ 1] != ']' || _chars[
_curPos
+ 2] != '>')
2340
if (
_curPos
== _charsUsed)
2347
char ch = _chars[
_curPos
];
2350
if (
_curPos
+ 1 == _charsUsed)
2355
if (XmlCharType.IsLowSurrogate(_chars[
_curPos
]))
2361
ThrowInvalidChar(_chars, _charsUsed,
_curPos
);
2374
Throw(
_curPos
, SR.Xml_UnclosedConditionalSection);
2376
_tokenStartPos =
_curPos
;
2392
_tokenStartPos =
_curPos
;
2397
if (XmlCharType.IsStartNCNameSingleChar(_chars[
_curPos
]) || _chars[
_curPos
] == ':')
2403
if (
_curPos
+ 1 >= _charsUsed)
2409
Throw(
_curPos
, SR.Xml_UnexpectedEOF, "Name");
2413
Throw(
_curPos
, SR.Xml_BadStartNameChar, XmlException.BuildCharExceptionArgs(_chars, _charsUsed,
_curPos
));
2420
if (XmlCharType.IsNCNameSingleChar(_chars[
_curPos
]))
2430
if (_chars[
_curPos
] == ':')
2436
Throw(
_curPos
, SR.Xml_BadNameChar, XmlException.BuildCharExceptionArgs(':', '\0'));
2438
colonOffset =
_curPos
- _tokenStartPos;
2449
else if (
_curPos
== _charsUsed)
2455
if (_tokenStartPos ==
_curPos
)
2457
Throw(
_curPos
, SR.Xml_UnexpectedEOF, "Name");
2468
int offset =
_curPos
- _tokenStartPos;
2471
_tokenStartPos =
_curPos
;
2478
_tokenStartPos =
_curPos
;
2484
if (XmlCharType.IsNCNameSingleChar(_chars[
_curPos
]) || _chars[
_curPos
] == ':')
2494
if (
_curPos
< _charsUsed)
2496
if (
_curPos
- _tokenStartPos == 0)
2498
Throw(
_curPos
, SR.Xml_BadNameChar, XmlException.BuildCharExceptionArgs(_chars, _charsUsed,
_curPos
));
2503
int len =
_curPos
- _tokenStartPos;
2509
_tokenStartPos =
_curPos
;
2513
Throw(
_curPos
, SR.Xml_UnexpectedEOF, "NmToken");
2515
_tokenStartPos =
_curPos
;
2522
Debug.Assert(_chars[
_curPos
] == 'P');
2523
while (_charsUsed -
_curPos
< 6)
2531
if (!_chars.AsSpan(
_curPos
+ 1).StartsWith("UBLIC"))
2541
Debug.Assert(_chars[
_curPos
] == 'S');
2542
while (_charsUsed -
_curPos
< 6)
2550
if (!_chars.AsSpan(
_curPos
+ 1).StartsWith("YSTEM"))
2574
Debug.Assert(_chars[
_curPos
] == '&' || _chars[
_curPos
] == '%');
2582
Debug.Assert(_chars[
_curPos
- 1] == ';');
2587
Throw(
_curPos
- entityName.Name.Length - 1, SR.Xml_InvalidParEntityRef);
2597
Throw(
_curPos
- entityName.Name.Length - 1, paramEntity ? SR.Xml_RecursiveParEntity : SR.Xml_RecursiveGenEntity, entityName.Name);