我如何在规则开始时检测到错误?例如,考虑文档中包含的Mini XML 示例。如果我向解析器提供如下内容:
<element>this is an error<element>
然后我得到:
错误!在这里期待:“”
错误!在这里期待:“”
解析失败。
没关系,但然后考虑喂它:
element>this is an error</element>
而且我得到了非常通用且不太有用的内容:
解析失败。
如何修改规则以提供信息丰富的方式报告错误?
我如何在规则开始时检测到错误?例如,考虑文档中包含的Mini XML 示例。如果我向解析器提供如下内容:
<element>this is an error<element>
然后我得到:
错误!在这里期待:“”
错误!在这里期待:“”
解析失败。
没关系,但然后考虑喂它:
element>this is an error</element>
而且我得到了非常通用且不太有用的内容:
解析失败。
如何修改规则以提供信息丰富的方式报告错误?
您希望在文档根级别需要一个元素。
其他消息是由失败的期望点生成的。一开始你会想要一个额外的期望点。我会这样做:
xml
规则重命名为element
创建一个新xml
规则,其元素位于期望点:
xml = qi::eps > element;
[不要改变任何东西]
利润!
输出变为:
Error! Expecting <element> here: "element>this is a test</element>
"
-------------------------
Parsing failed
-------------------------
在这里看到它