问题标签 [schematron]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
xsd - XSD - 如何确保具有给定属性的特定元素的存在?
我正在尝试使用 XSD 向jdpl流程定义文件添加额外的验证。
我们有几个要添加的规则;但是给我带来问题的一个是必须存在一个“节点”元素,它的“名称”属性=“问题”。
所以这是有效的:
这不是
所以,总而言之,我需要执行的规则是
- 具有值“问题”的节点属性
- 存在 1 个名称为“问题”的节点
- 允许任意数量的具有其他名称的节点
有什么想法吗?
c# - 在 C# 中使用 Schematron/XSD 进行 XML 验证
我一直在寻找一种方法来对 XML 文档进行一些更高级的业务规则验证。到目前为止,Schematron 似乎能够做到,我需要什么。
我一直在环顾四周,我发现的几个库很旧,似乎不再受支持。Schematron 在 2002 年只是“热”吗?是否有任何库可以在 C# 中进行验证 - 或者我该怎么做?
或者是否还有其他可以进行高级验证并拥有 C# 库并进行标准化的?
java - 如何根据 Java 中的 Schematron 模式验证文档?
据我所知,JAXP 默认支持来自 Java 6 的 W3C XML Schema 和 RelaxNG。
我可以在schematron.com 链接页面上看到一些 API,大部分是实验性的或不完整的。
是否有一种在 Java 中验证 schematron 的方法是完整的、高效的并且可以与 JAXP API 一起使用?
perl - 为什么 XML::Schematron::XPath 找不到 XML::XPath?
从 CPAN 安装 XML::Schematron::XPath 模块后,我收到“无法在 @INC 中找到 XML/XPath.pm”消息。
有 Schematron 目录,里面是 XPath.pm。
当我在我的 perl 脚本中明确说明时,它为什么要寻找 XML/XPath.pm:
@INC:/usr/lib/perl5/site_perl/5.10.0/x86_64-linux-thread-multi /usr/lib/perl5/site_perl/5.10.0 /usr/lib/perl5/vendor_perl/5.10.0/x86_64- linux-thread-multi /usr/lib/perl5/vendor_perl/5.10.0 /usr/lib/perl5/5.10.0/x86_64-linux-thread-multi /usr/lib/perl5/5.10.0 /usr/lib/ perl5/site_perl /usr/lib/perl5/vendor_perl/5.8.8 /usr/lib/perl5/vendor_perl 。
xml - Schematron 的教程和其他支持资源
我有兴趣学习 Schematron。请推荐一个我可以用来练习的教程。我期待一个完整的教程,我可以用它来很好地发展我的技能。我已经了解 DTD、XSD 和 XSLT 的基础知识。
我尝试过使用Zvon 教程和Schematron.com。
另外,我一直在努力寻找一个 Schematron 编辑器来练习。如果是 Visual Studio,那么我会觉得很美妙。是否可以按照我们实现 XSD 和 XSLT 文档的方式来实现 Schematron?是否同样容易?
xml - 使用 schematron 进行 xsd 验证
我正在尝试将 schematron 验证添加到我的 xsd。这是我的新 xsd :
这是我的测试 xml:
使用我提供的 xml 我没有收到验证错误。
我以为我会收到消息“每本借出的书都必须有归还日期”,并且 xml 将无效。关于为什么的建议?
更新 我确实设法通过在 oXygen xml 编辑器中使用 schematron 验证使其工作。但是,我应该如何在我的代码中使用?我需要安装一些特殊的东西吗?链接到另一个图书馆?
Update2 显然在“处理”部分中,所有需要的步骤都详细说明了。
java - 在 Eclipse XML 编辑器中通过 XSLT 或 Schematron 进行 XML 验证?
我们如何在 Eclipse xml 编辑器中通过 schematron 或 xslt 验证 xml 文档?这个想法是使用一些基于规则的验证方法在 eclipse xml 编辑器中扩展 xml 文档实时验证。
xml - Schematron 验证和唯一性
我正在尝试编写一些 Schematron 规则,其中一个应该检查元素是否在父元素的范围内是唯一的。所以我有一个示例 xml 结构:
我的规则应该检查每个元素的“a”元素是否是唯一的。在这个特定示例中,对于id="qw1"的elem, 有两个元素 "a" 的值为 "3"。这不应该被允许。
到目前为止,我已经得出了这种规则:
但这不起作用,因为它会查看整个文档,而不仅仅是elem的直接子代。
php - 使用 PHP 针对 Schematron 验证 XML
有很多关于 Schematron 的资源......但是我找不到任何相关内容或关于如何针对 Schematront .sch 文件验证 xml 的示例。
任何人?
我已经发现 1 或 2 个返回错误的非常古老的类......所以如果有人知道如何做到这一点,请帮忙。
xml - Can this XML structure be expressed with XSD? Other validation options?
I have the following XML document structure that is already in production and cannot be changed:
Here are the restrictions I'm trying to express in XSD:
- XML elements can appear in any order.
- "optionalStringX" and "optionalDependeeX" may or may not be present in a given file.
- If "optionalDependeeX" IS present, then "dependentX_1" and "dependentX_2" are REQUIRED to be present. Otherwise, if "optionalDependeeX" IS NOT present, neither "dependentX_1" nor "dependentX_2" will be present.
I've tried several varations using 'complexType' and 'group' but they aren't valid XSD (at least according to VS2010). My 'group' implementation is like this:
I'm new to schemas for validating XML and have always assumed until now that XSD was flexible enough to represent the structure of all valid XML. If I could rewrite the structure of the XML files, I'd make dependentX_1 and dependentX_2 either attributes or subelements of optionalDependeeX since those would express a dependent relationship.
- Can these restrictions be represented in an XSD schema? We're trying to stick with XSD if possible since it is my understanding that tools and support for it are alot more widespread than other validation solutions.
- If not, what other XML validator has good support in Python, Perl, and either C or C++ and can handle more complicated document structures than XSD? Would RelaxNG or Schematron be a good fit? Pros and cons? I've never used anything besides XSD.