/// <summary> /// More http://www.w3.org/TR/REC-xml/#NT-SDDecl. /// </summary> /// <param name="decl">The current declaration token.</param> private XmlToken DeclarationStandaloneBeforeValue(XmlDeclarationToken decl) { var c = SkipSpaces(); if (c != Symbols.DoubleQuote && c != Symbols.SingleQuote) { throw XmlParseError.XmlDeclarationInvalid.At(GetCurrentPosition()); } return(DeclarationStandaloneValue(decl, c)); }
/// <summary> /// More http://www.w3.org/TR/REC-xml/#NT-SDDecl. /// </summary> /// <param name="decl">The current declaration token.</param> private XmlToken DeclarationStandaloneAfterName(XmlDeclarationToken decl) { var c = SkipSpaces(); if (c != Symbols.Equality) { throw XmlParseError.XmlDeclarationInvalid.At(GetCurrentPosition()); } return(DeclarationStandaloneBeforeValue(decl)); }
/// <summary> /// More http://www.w3.org/TR/REC-xml/#NT-SDDecl. /// </summary> /// <param name="decl">The current declaration token.</param> private XmlToken DeclarationAfterEncoding(XmlDeclarationToken decl) { var c = SkipSpaces(); if (ContinuesWithSensitive(AttributeNames.Standalone)) { Advance(9); return(DeclarationStandaloneAfterName(decl)); } return(DeclarationEnd(c, decl)); }
/// <summary> /// More http://www.w3.org/TR/REC-xml/#NT-XMLDecl. /// </summary> /// <param name="c">The next input character.</param> /// <param name="decl">The current declaration token.</param> private XmlDeclarationToken DeclarationEnd(Char c, XmlDeclarationToken decl) { while (c.IsSpaceCharacter()) { c = GetNext(); } if (c != Symbols.QuestionMark || GetNext() != Symbols.GreaterThan) { throw XmlParseError.XmlDeclarationInvalid.At(GetCurrentPosition()); } return(decl); }
/// <summary> /// More http://www.w3.org/TR/REC-xml/#NT-EncodingDecl. /// </summary> /// <param name="decl">The current declaration token.</param> private XmlToken DeclarationEncodingBeforeValue(XmlDeclarationToken decl) { var c = SkipSpaces(); if (c == Symbols.DoubleQuote || c == Symbols.SingleQuote) { var q = c; c = GetNext(); if (c.IsLetter()) { StringBuffer.Append(c); return(DeclarationEncodingValue(decl, q)); } } throw XmlParseError.XmlDeclarationInvalid.At(GetCurrentPosition()); }