本文整理匯總了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;
}