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