Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches

◆ GetToken()

Token System.Xml.DtdParser.GetToken ( bool needWhiteSpace)
inlineprivate

Definition at line 1318 of file DtdParser.cs.

1319 {
1320 _whitespaceSeen = false;
1321 while (true)
1322 {
1323 switch (_chars[_curPos])
1324 {
1325 case '\0':
1326 if (_curPos != _charsUsed)
1327 {
1329 }
1330 break;
1331 case '\n':
1332 _whitespaceSeen = true;
1333 _curPos++;
1335 continue;
1336 case '\r':
1337 _whitespaceSeen = true;
1338 if (_chars[_curPos + 1] == '\n')
1339 {
1340 if (Normalize)
1341 {
1344 }
1345 _curPos += 2;
1346 }
1347 else
1348 {
1349 if (_curPos + 1 >= _charsUsed && !_readerAdapter.IsEof)
1350 {
1351 break;
1352 }
1353 _chars[_curPos] = '\n';
1354 _curPos++;
1355 }
1357 continue;
1358 case '\t':
1359 case ' ':
1360 _whitespaceSeen = true;
1361 _curPos++;
1362 continue;
1363 case '%':
1364 if (_charsUsed - _curPos < 2)
1365 {
1366 break;
1367 }
1368 if (!XmlCharType.IsWhiteSpace(_chars[_curPos + 1]))
1369 {
1371 {
1372 _curPos++;
1373 }
1374 else
1375 {
1377 }
1378 continue;
1379 }
1380 goto default;
1381 default:
1382 if (needWhiteSpace && !_whitespaceSeen && _scanningFunction != ScanningFunction.ParamEntitySpace)
1383 {
1385 }
1387 while (true)
1388 {
1389 switch (_scanningFunction)
1390 {
1391 case ScanningFunction.Name:
1392 return ScanNameExpected();
1393 case ScanningFunction.QName:
1394 return ScanQNameExpected();
1395 case ScanningFunction.Nmtoken:
1396 return ScanNmtokenExpected();
1397 case ScanningFunction.SubsetContent:
1398 return ScanSubsetContent();
1399 case ScanningFunction.Doctype1:
1400 return ScanDoctype1();
1401 case ScanningFunction.Doctype2:
1402 return ScanDoctype2();
1403 case ScanningFunction.Element1:
1404 return ScanElement1();
1405 case ScanningFunction.Element2:
1406 return ScanElement2();
1407 case ScanningFunction.Element3:
1408 return ScanElement3();
1409 case ScanningFunction.Element4:
1410 return ScanElement4();
1411 case ScanningFunction.Element5:
1412 return ScanElement5();
1413 case ScanningFunction.Element6:
1414 return ScanElement6();
1415 case ScanningFunction.Element7:
1416 return ScanElement7();
1417 case ScanningFunction.Attlist1:
1418 return ScanAttlist1();
1419 case ScanningFunction.Attlist2:
1420 return ScanAttlist2();
1421 case ScanningFunction.Attlist3:
1422 return ScanAttlist3();
1423 case ScanningFunction.Attlist4:
1424 return ScanAttlist4();
1425 case ScanningFunction.Attlist5:
1426 return ScanAttlist5();
1427 case ScanningFunction.Attlist6:
1428 return ScanAttlist6();
1429 case ScanningFunction.Attlist7:
1430 return ScanAttlist7();
1431 case ScanningFunction.Notation1:
1432 return ScanNotation1();
1433 case ScanningFunction.SystemId:
1434 return ScanSystemId();
1435 case ScanningFunction.PublicId1:
1436 return ScanPublicId1();
1437 case ScanningFunction.PublicId2:
1438 return ScanPublicId2();
1439 case ScanningFunction.Entity1:
1440 return ScanEntity1();
1441 case ScanningFunction.Entity2:
1442 return ScanEntity2();
1443 case ScanningFunction.Entity3:
1444 return ScanEntity3();
1445 case ScanningFunction.CondSection1:
1446 return ScanCondSection1();
1447 case ScanningFunction.CondSection2:
1448 return ScanCondSection2();
1449 case ScanningFunction.CondSection3:
1450 return ScanCondSection3();
1451 case ScanningFunction.ClosingTag:
1452 return ScanClosingTag();
1453 case ScanningFunction.ParamEntitySpace:
1454 break;
1455 default:
1456 return Token.None;
1457 }
1458 _whitespaceSeen = true;
1460 }
1461 }
1463 {
1464 if (_scanningFunction == ScanningFunction.SubsetContent)
1465 {
1466 break;
1467 }
1469 }
1470 }
1471 return Token.Eof;
1472 }
static string Xml_IncompleteDtdContent
Definition SR.cs:246
static string Xml_ExpectingWhiteSpace
Definition SR.cs:66
Definition SR.cs:7
Token ScanNmtokenExpected()
void Throw(int curPos, string res)
bool HandleEntityEnd(bool inLiteral)
ScanningFunction _savedScanningFunction
Definition DtdParser.cs:170
IDtdParserAdapter _readerAdapter
Definition DtdParser.cs:140
string ParseUnexpectedToken(int startPos)
bool HandleEntityReference(bool paramEntity, bool inLiteral, bool inAttribute)
ScanningFunction _scanningFunction
Definition DtdParser.cs:166
void ThrowInvalidChar(int pos, string data, int invCharPos)

References System.Xml.DtdParser._chars, System.Xml.DtdParser._charsUsed, System.Xml.DtdParser._curPos, System.Xml.DtdParser._readerAdapter, System.Xml.DtdParser._savedScanningFunction, System.Xml.DtdParser._scanningFunction, System.Xml.DtdParser._tokenStartPos, System.Xml.DtdParser._whitespaceSeen, System.Xml.IDtdParserAdapter.CurrentPosition, System.Xml.Dictionary, System.Xml.DtdParser.HandleEntityEnd(), System.Xml.DtdParser.HandleEntityReference(), System.Xml.DtdParser.IgnoreEntityReferences, System.Xml.IDtdParserAdapter.IsEof, System.Xml.XmlCharType.IsWhiteSpace(), System.Xml.DtdParser.Normalize, System.Xml.IDtdParserAdapter.OnNewLine(), System.Xml.DtdParser.ParseUnexpectedToken(), System.Xml.DtdParser.ReadData(), System.Xml.DtdParser.SaveParsingBuffer(), System.Xml.DtdParser.ScanAttlist1(), System.Xml.DtdParser.ScanAttlist2(), System.Xml.DtdParser.ScanAttlist3(), System.Xml.DtdParser.ScanAttlist4(), System.Xml.DtdParser.ScanAttlist5(), System.Xml.DtdParser.ScanAttlist6(), System.Xml.DtdParser.ScanAttlist7(), System.Xml.DtdParser.ScanClosingTag(), System.Xml.DtdParser.ScanCondSection1(), System.Xml.DtdParser.ScanCondSection2(), System.Xml.DtdParser.ScanCondSection3(), System.Xml.DtdParser.ScanDoctype1(), System.Xml.DtdParser.ScanDoctype2(), System.Xml.DtdParser.ScanElement1(), System.Xml.DtdParser.ScanElement2(), System.Xml.DtdParser.ScanElement3(), System.Xml.DtdParser.ScanElement4(), System.Xml.DtdParser.ScanElement5(), System.Xml.DtdParser.ScanElement6(), System.Xml.DtdParser.ScanElement7(), System.Xml.DtdParser.ScanEntity1(), System.Xml.DtdParser.ScanEntity2(), System.Xml.DtdParser.ScanEntity3(), System.Xml.DtdParser.ScanNameExpected(), System.Xml.DtdParser.ScanNmtokenExpected(), System.Xml.DtdParser.ScanNotation1(), System.Xml.DtdParser.ScanPublicId1(), System.Xml.DtdParser.ScanPublicId2(), System.Xml.DtdParser.ScanQNameExpected(), System.Xml.DtdParser.ScanSubsetContent(), System.Xml.DtdParser.ScanSystemId(), System.Xml.DtdParser.Throw(), System.Xml.DtdParser.ThrowInvalidChar(), System.SR.Xml_ExpectingWhiteSpace, and System.SR.Xml_IncompleteDtdContent.

Referenced by System.Xml.DtdParser.ParseAttlistDecl(), System.Xml.DtdParser.ParseAttlistDefault(), System.Xml.DtdParser.ParseAttlistType(), System.Xml.DtdParser.ParseCondSection(), System.Xml.DtdParser.ParseElementDecl(), System.Xml.DtdParser.ParseElementMixedContent(), System.Xml.DtdParser.ParseElementOnlyContent(), System.Xml.DtdParser.ParseEntityDecl(), System.Xml.DtdParser.ParseExternalId(), System.Xml.DtdParser.ParseHowMany(), System.Xml.DtdParser.ParseInDocumentDtd(), System.Xml.DtdParser.ParseNotationDecl(), and System.Xml.DtdParser.ParseSubset().