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

◆ ReadTextNodes()

int System.Xml.Xsl.Xslt.XsltInput.ReadTextNodes ( )
inlineprivate

Definition at line 507 of file XsltInput.cs.

508 {
509 bool flag = _reader.XmlSpace == XmlSpace.Preserve;
510 bool flag2 = true;
511 int num = 0;
512 while (true)
513 {
514 XmlNodeType nodeType = _reader.NodeType;
515 if (nodeType <= XmlNodeType.EntityReference)
516 {
517 if ((uint)(nodeType - 3) > 1u)
518 {
519 if (nodeType != XmlNodeType.EntityReference)
520 {
521 break;
522 }
523 string localName = _reader.LocalName;
524 if (localName.Length > 0)
525 {
526 if (localName[0] != '#')
527 {
528 switch (localName)
529 {
530 case "lt":
531 case "gt":
532 case "quot":
533 case "apos":
534 break;
535 default:
536 goto IL_0121;
537 }
538 }
541 if (flag2 && !XmlCharType.IsOnlyWhitespace(_records[num].value))
542 {
543 flag2 = false;
544 }
545 num++;
546 continue;
547 }
548 goto IL_0121;
549 }
550 if (flag2 && !XmlCharType.IsOnlyWhitespace(_reader.Value))
551 {
552 flag2 = false;
553 }
554 }
555 else if ((uint)(nodeType - 13) > 1u)
556 {
557 if (nodeType != XmlNodeType.EndEntity)
558 {
559 break;
560 }
561 _reader.Read();
562 continue;
563 }
566 _reader.Read();
567 num++;
568 continue;
569 IL_0121:
571 _reader.Read();
572 }
573 _nodeType = ((!flag2) ? XmlNodeType.Text : (flag ? XmlNodeType.SignificantWhitespace : XmlNodeType.Whitespace));
574 return num;
575 }
XmlNodeType NodeType
Definition XmlReader.cs:62
readonly XmlReader _reader
Definition XsltInput.cs:140
void FillupTextRecord(ref Record rec)
Definition XsltInput.cs:350
void FillupCharacterEntityRecord(ref Record rec)
Definition XsltInput.cs:389
void ExtendRecordBuffer(int position)
Definition XsltInput.cs:260

References System.Xml.Xsl.Xslt.XsltInput._nodeType, System.Xml.Xsl.Xslt.XsltInput._reader, System.Xml.Xsl.Xslt.XsltInput._records, System.Xml.Dictionary, System.Xml.Xsl.Xslt.XsltInput.ExtendRecordBuffer(), System.Xml.Xsl.Xslt.XsltInput.FillupCharacterEntityRecord(), System.Xml.Xsl.Xslt.XsltInput.FillupTextRecord(), System.Xml.XmlCharType.IsOnlyWhitespace(), System.Xml.XmlReader.LocalName, System.Xml.XmlReader.NodeType, System.Xml.XmlReader.Read(), System.Xml.XmlReader.ResolveEntity(), System.Xml.Xsl.Xslt.XsltInput.Record.value, and System.Xml.XmlReader.Value.

Referenced by System.Xml.Xsl.Xslt.XsltInput.ReadNextSibling().