THPDFSchematronSummary 记录
汇总一次 Schematron 运行的规则计数、违规总数与引擎可用性
声明
THPDFSchematronSummary= record
Profile: AnsiString;
TotalRules: Integer; // number of <assert>/<report> entries scanned
Evaluated: Integer; // rules whose contexts and tests were processed
Skipped: Integer; // legacy/stub engines only; zero for XE2+
EvaluationErrors: Integer;// rule expressions that could not be executed
Violations: Integer; // asserts that failed + reports that fired
EngineAvailable: Boolean; // False on Delphi 7 stub
EngineNote: AnsiString; // human-readable availability / error reason
end;
单元
HPDFEInvoiceValidator
字段
| 字段 | 用途 |
|---|---|
Profile | 已加载 Schematron 的 Profile 标识,与发票一致性级别对应 |
TotalRules | 扫描到的 <assert> 与 <report> 条目数量 |
Evaluated | 上下文与测试条件被真正处理过的规则数 |
Skipped | 被旧式或桩引擎跳过的规则数;XE2 及以后为 0 |
EvaluationErrors | 无法执行的规则表达式数量 |
Violations | 失败的断言与触发的报告之和 |
EngineAvailable | 只有 Delphi 7 桩引擎可用时为 False |
EngineNote | 人类可读的可用性或错误原因 |
使用说明
- 通过
IHPDFESchematronEngine.LastSummary或THPDFEInvoiceValidationReport.BusinessSummary读取该汇总 - 各计数已预先算好,调用方无需遍历规则数组即可渲染一行结果
EngineAvailable为 False 表示业务规则没有执行,此时混合发票必须失败即关闭