本文整理汇总了C#中TidyNet.Lexer.CheckDocTypeKeyWords方法的典型用法代码示例。如果您正苦于以下问题:C# Lexer.CheckDocTypeKeyWords方法的具体用法?C# Lexer.CheckDocTypeKeyWords怎么用?C# Lexer.CheckDocTypeKeyWords使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类TidyNet.Lexer
的用法示例。
在下文中一共展示了Lexer.CheckDocTypeKeyWords方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: parseXMLDocument
public static Node parseXMLDocument(Lexer lexer)
{
Node node, document, doctype;
document = lexer.NewNode();
document.Type = Node.RootNode;
doctype = null;
lexer.Options.XmlTags = true;
while (true)
{
node = lexer.GetToken(Lexer.IgnoreWhitespace);
if (node == null)
{
break;
}
/* discard unexpected end tags */
if (node.Type == Node.EndTag)
{
Report.Warning(lexer, null, node, Report.UNEXPECTED_ENDTAG);
continue;
}
/* deal with comments etc. */
if (Node.InsertMisc(document, node))
{
continue;
}
if (node.Type == Node.DocTypeTag)
{
if (doctype == null)
{
Node.InsertNodeAtEnd(document, node);
doctype = node;
}
else
{
Report.Warning(lexer, document, node, Report.DISCARDING_UNEXPECTED);
}
// TODO
continue;
}
/* if start tag then parse element's content */
if (node.Type == Node.StartTag)
{
Node.InsertNodeAtEnd(document, node);
parseXMLElement(lexer, node, Lexer.IgnoreWhitespace);
}
}
if (doctype != null && !lexer.CheckDocTypeKeyWords(doctype))
{
Report.Warning(lexer, doctype, null, Report.DTYPE_NOT_UPPER_CASE);
}
/* ensure presence of initial <?XML version="1.0"?> */
if (lexer.Options.XmlPi)
{
lexer.FixXmlPI(document);
}
return document;
}