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

◆ ParseElementMixedContentAsync()

async Task System.Xml.DtdParser.ParseElementMixedContentAsync ( ParticleContentValidator pcv,
int startParenEntityId )
inlineprivate

Definition at line 3774 of file DtdParser.cs.

3775 {
3776 bool hasNames = false;
3777 int connectorEntityId = -1;
3779 while (true)
3780 {
3782 {
3783 case Token.RightParen:
3784 pcv.CloseGroup();
3785 if (_validate && _currentEntityId != startParenEntityId)
3786 {
3788 }
3790 {
3791 pcv.AddStar();
3792 }
3793 else if (hasNames)
3794 {
3796 }
3797 return;
3798 case Token.Or:
3799 {
3800 if (!hasNames)
3801 {
3802 hasNames = true;
3803 }
3804 else
3805 {
3806 pcv.AddChoice();
3807 }
3808 if (_validate)
3809 {
3812 {
3814 }
3815 }
3817 {
3818 break;
3819 }
3820 XmlQualifiedName nameQualified = GetNameQualified(canHavePrefix: true);
3821 if (pcv.Exists(nameQualified) && _validate)
3822 {
3824 }
3825 pcv.AddName(nameQualified, null);
3826 if (_validate)
3827 {
3830 {
3832 }
3833 }
3834 continue;
3835 }
3836 }
3838 }
3839 }
static string Sch_ParEntityRefNesting
Definition SR.cs:392
static string Sch_DupElement
Definition SR.cs:480
Definition SR.cs:7
void SendValidationEvent(int pos, XmlSeverityType severity, string code, string arg)
XmlQualifiedName GetNameQualified(bool canHavePrefix)
void ThrowUnexpectedToken(int pos, string expectedToken)
async Task< Token > GetTokenAsync(bool needWhiteSpace)

References System.Xml.DtdParser._curPos, System.Xml.DtdParser._currentEntityId, System.Xml.DtdParser._validate, System.Xml.DtdParser.GetNameQualified(), System.Xml.DtdParser.GetTokenAsync(), System.Xml.DtdParser.OnUnexpectedError(), System.SR.Sch_DupElement, System.SR.Sch_ParEntityRefNesting, System.Xml.DtdParser.SendValidationEvent(), and System.Xml.DtdParser.ThrowUnexpectedToken().

Referenced by System.Xml.DtdParser.ParseElementDeclAsync().