ValidateInvoiceBusinessRulesWithTools
发票、合规
描述
为内嵌发票运行 XML schema 与 Schematron 验证
语法
Delphi
Function TPDFlib.ValidateInvoiceBusinessRulesWithTools(Const EmbeddedFileName, Standard, RulesVersion, RulesProfile, SchemaFile, SchematronStylesheetFile, XMLLintExecutable, JavaExecutable, SaxonClassPath: WideString;
TimeoutMS: Integer): WideString;DLL
Function DLValidateInvoiceBusinessRulesWithTools(InstanceID: Integer;
EmbeddedFileName, Standard, RulesVersion, RulesProfile, SchemaFile, SchematronStylesheetFile, XMLLintExecutable, JavaExecutable, SaxonClassPath: PWideChar; TimeoutMS: Integer): PWideChar; Stdcall;
Function DLValidateInvoiceBusinessRulesWithToolsA(InstanceID: Integer;
EmbeddedFileName, Standard, RulesVersion, RulesProfile, SchemaFile, SchematronStylesheetFile, XMLLintExecutable, JavaExecutable, SaxonClassPath: PAnsiChar; TimeoutMS: Integer): PAnsiChar; Stdcall;ActiveX
Function PDFlib::ValidateInvoiceBusinessRulesWithTools(EmbeddedFileName As String, Standard As String, RulesVersion As String, RulesProfile As String, SchemaFile As String, SchematronStylesheetFile As String, XMLLintExecutable As String, JavaExecutable As String, SaxonClassPath As String, TimeoutMS As Long) As String备注
使用带版本的 XSD 包与编译后的 Schematron XSLT 样式表对选定的内嵌 XML 返回 JSON;这个便捷方法始终要求两个阶段都执行
为 xmllint 与 Java 传入可执行文件路径,并传入包含 SaxonJ 及其依赖的以分号分隔的 SaxonClassPath;请使用编译后的 .xsl 或 .xslt,而不是未编译的 .sch 文件
RulesVersion 标识规则包发布版本,RulesProfile 标识目标发票 Profile;请显式选择匹配的规则,因为 schema 与通用 EN16931 规则不会自动涵盖每个国家或行业 Profile
两个工具都在无 shell、无可见窗口的环境下运行,禁用 DTD 处理,施加有界输出大小与请求的超时;TimeoutMS<=0 选择 30000 毫秒
JSON 包含 standard、version、profile、complete、valid 以及相互独立的 schema 与 schematron 阶段;各阶段包括状态、完成情况、引擎、执行计数、诊断,以及带规则 ID、字段路径、严重级别、行号与消息的问题
阶段状态为 passed、failed、error、unavailable 或 not_checked;规则失败时仍可能 complete=true,而依赖缺失、超时、输出超限、SVRL 无效与规则未执行则不能产生有效结果
内置工具适配器仅支持 Windows;便携应用可以通过带类型的 API 提供自己的 IPDFInvoiceValidationProvider
PDF 容器检查与发票业务验证是相互独立的操作;当还需要检查 PDF/A-3 与混合附件约定时,请同时调用 ValidateFacturXInvoice
DLL 结果归实例所有,必须在下一次字符串结果调用之前复制;A 结果包含 UTF-8 JSON,A 输入字符串使用实例 ANSI 设置
另请参阅
ValidateFacturXInvoice、ValidateInvoiceBusinessRules、ValidateInvoiceBusinessRulesWithTools、ExtractFacturXXMLToString