问题标签 [xsd-validation]

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.

0 投票
2 回答
256 浏览

xml - 如何指定一个元素以具有一个属性,该属性说明它在 XML 模式中包含多少个子项?

甚至可能吗?

  • 我知道可以根据正则表达式进行限制,但事实并非如此
  • 我知道可以将属性声明为由 XPath 计算的外键,但它似乎必须是唯一的

示例:

0 投票
0 回答
622 浏览

xml - 从其他项目导入 XSD

我正在使用 SpringSource Tool Suite 2.7.0.M2,即 Eclipse 3.6.2。我在 Mac OS X 10.6.7 上,但这个问题不是特定于操作系统的,所以无论什么值得......

我有一个导入另一个 XSD 的 XSD。在我们现有的结构中,这是在文件夹系统中的构建结构中,由命令行构建(ant、maven 1 和 maven 2 的混合物)引用。出于显而易见的原因,我们将在接下来的几个月中从该流程转向基于 Maven 和插件的架构。这将意味着很多小项目引用回我们的主要项目,包括 XSD 引用。

所以目前这些 XSD 看起来像这样:

就像我说的那样,这在我们当前的结构中有效,因为确实有一个 xnat 文件夹位于与导入该 xnat.xsd 的自定义模式相同的级别。

但是我们的新插件架构将打破这一点,因为自定义类型的插件将引用我们的基础项目:

  • 同一 STS 工作区中的另一个项目
  • 插件的 pom.xml 引用的 Maven 管理的 jar 文件

这会导致 import 语句生成警告,因为它找不到引用的 XSD 文件,并导致对已定义名称空间的引用生成错误,因为它找不到用于验证引用元素的名称空间的定义.

我尝试在 STS 中设置委托目录,将要匹配的密钥类型设置为 URI,将导入路径(即 ../xnat/xnat.xsd)作为匹配起始字符串,并将此 XML 目录文件委托给xnat.xsd 通过工作区定位。

我还设置了一个将 URI 映射到 xsd 文件的 XML 目录元素。我同时考虑了这两个操作,考虑到 URI 相同,委托可能会推送到 XML 目录元素,但没有这样的运气。

那么实现这一目标的最佳方法是什么?我可以关闭 XML 验证,但我真的希望有一个很好的过程来传递给我们的用户群,以便他们可以在他们的插件上工作时验证他们的 XML 和 XSD。如果这对项目和 Maven 依赖项引用都有效,那就更好了!

请注意,虽然我在 STS 中工作,但这些不是 Spring 配置文件,因此它们不会使用 spring.handler/schema/etc 进行验证过程。配置文件...

感谢您在此问题上提供的任何帮助!

0 投票
1 回答
1017 浏览

xml - 使用 Nokogiri 从 Sinatra File Upload 解析 tempfile

我在这个线程上找到了文件上传的代码

我尝试修改它以使用 Nokogiri 解析临时文件并根据 xsd 模式对其进行验证,但它总是返回 false。

我还将github上的整个项目上传到了这个网站

我的.xml

我的.xsd

配置.ru

用户上传.rb

尝试在命令行上针对 xsd 架构验证 xml 文件没有问题。

xmlreader.rb(ruby 脚本,非 sinatra)

0 投票
2 回答
31361 浏览

xml - XSD 属性 NILLABLE 不起作用

我正在获取一个 xml 文件以针对 XSD 架构进行验证,但我在验证时遇到了问题。每次我验证我都会收到错误消息

“架构有效性错误:元素 '{http://services.website.com/ProgramResponse}Population': '' 不是原子类型 'xs:double' 的有效值。”

我相信发生此错误是因为我在该字段中有一个空字符,显示如下:
<HarvPop></HarvPop>

所以,为了解决这个问题,我尝试对元素使用 nillable="true" 属性,这样它们就可以为空,但仍显示为空。这似乎是唯一的解决方案,但它根本不起作用。我仍然得到错误。

我目前正在使用 XMLMate 进行验证,并且我已经再次检查了几个在线验证器。错误仍然存​​在。任何建议都会很棒。

0 投票
2 回答
8032 浏览

xml - XML 元素序列能否以属性为条件?

第一个问题(善良!) 解释:如果一个属性是真的,我需要这个类型有元素。因此,如果某个属性为真,则 XML 输出可能是:

如果未获批准,则 XML 输出可能是

是否可以在 XSD 中指定类似的内容?

0 投票
0 回答
585 浏览

xml - 使用 xerces-c++ 针对 xsd 验证 xml 字符串

如何使用 xerces-c++ 库验证 xml 字符串 adainst xsd 文件?xercesDomParser 可以吗?如果可能,请举个例子。我的 xml 字符串如下 [cook]

0 投票
1 回答
106 浏览

xml - XSD 元素和枚举

考虑具有属性的元素。此属性只能具有来自枚举的值。

是否可以通过 enumeration 的值来限定这些元素的儿子?

有一个例子,因为我的英语不是很好:)

如果我选择“choice1”,我会要求 element1,禁止 element2 / element3。如果我选择“choice2”,我将需要元素 2,等等......

你知道这是否可能吗?

感谢你的回答

0 投票
4 回答
27036 浏览

spring - 应用程序上下文中 Spring Beans Schema 的验证错误

在设置了一个新的基于 Spring 的应用程序后,我在应用程序上下文中遇到了引用模式 (http://www.springframework.org/schema/beans/spring-beans-3.0.xsd) 的问题。

appContext.xml

错误

即使我将配置降低到最低版本(没有任何 bean 定义),我也会收到此错误。有人暗示这里出了什么问题吗?提前致谢!

顺便说一句:我正在使用 STS 2.7.1

0 投票
1 回答
1853 浏览

xml - 使用 XSD 约束 XML 键值列表中的值

我有一个 XML 文档(基本上)看起来像这样:

我想根据参数键限制可用值,例如年龄应该是 [0, 150] 中的整数,智能应该是真或假。

现在,如果 XML 不同(例如,如下例所示),那将非常简单:

但是,此时 XML 结构不会改变,我不确定它是否应该改变。有没有办法用当前的 XML 结构来实现这些类型的约束,如果有,怎么做?

更新:

从(完全没有)反馈来看,我想说这很可能使用 XSD 是不可能的。有人可以确认吗?

0 投票
1 回答
168 浏览

xml - 对 ID 的引用

为了验证 XML 文档,我想知道是否可以对属性值进行引用。

我在 ID 属性中有带有数值的状态。在这些州,一个儿子在这里是为了过渡到另一个州。我想在这里放一个参考,以确保这个儿子中指定的 ID 是一个状态中的现有 ID。

主要目标是仅在文档中指定了所有 ID 时才验证文档。

有我的 XSD 文档:

所以我想 NEXTSTATE 节点的值是对节点状态 id 属性值的引用。

有效文档示例(两种状态,一种转换为现有 ID):

无效文档示例(两种状态,一种转换为不存在的 ID):

你知道这是否可能吗?

感谢您的回答:)