问题标签 [xsd-1.0]

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 投票
1 回答
28 浏览

xml - 需要特定的元素值,具体取决于 Parent's Sibling's Children 的值

我正在尝试制定模式,要求元素实例的值是连续的,没有任何间隙(尽管顺序无关紧要)。

有效的:

有效的:

无效:

是否可以使用 XSD 1.0 强制执行此操作?如果是这样,那么有人可以指出我正确的方向吗?

0 投票
1 回答
82 浏览

xml - 如何使用 XSD 验证两个 XML 属性具有不同的值?

假设我有以下 XML:

是否可以编写一个 XSD 来检查每个元素的源和目标是否不同?两个不同的元素可以指定相同的源或相同的目标,但特定元素的源和目标不能相同。

我需要使用 XSD 1.0,所以我不能使用断言。

0 投票
0 回答
1758 浏览

xml - XSD Assert equivalent in Version 1.0

I got really excited when I spotted the assertion capability of XML/XSD, then I noticed it is version 1.1, which unfortunately we cannot use.

Is there a way of achieving assertions with 1.0?

Example, we would like for an XSD restriction to be limited to values specified in a separate element within the XML document, not the XSD schema.

With a simple restriction, it might look like:

We would have liked that the tag restrictions be specified in the XML, which assertions seemed the way to create validation of these values. Given the below change, an xs:assert element would have gone in on the recordset type comparing the contents of tag from the record to those of the tagDefinitions.

Is this still possible in XML 1.0?

0 投票
2 回答
373 浏览

xml - 根据属性值限制元素的出现次数

我有一个如下所示的 XML:

我正在寻找一种方法来强制s 中Artifact包含的元素数量Artifact应等于使用 XSD 模式的“count”属性的值。

尽管我找到了通过使用 XSD 1.1 规范来实现这一点的可能方法,但我想知道如果没有它是否有可能,即基于 XSD 1.0 规范。


编辑:为了更准确,我将尝试为问题提供更多背景信息。
XML 文件将作为输入提供给 C++ 应用程序。问题是开发环境强制使用 Xerces v. 2.8.0 库进行解析。据我了解,此版本不支持 XSD 1.1 标准。

当然,我可以添加额外的代码,以便Artifact在 XSD 验证后检查元素出现的正确次数。我希望有一种方法可以避免额外的代码段并仅基于 XSD 完全验证输入文件。

0 投票
2 回答
4076 浏览

xml - 基于另一个属性值限制 XSD 属性值

我在 XML 中有这个:

现在仅适用于 Name="b" ConstValue必须为 1、2、3 或 4。不允许使用其他值。其他Const可能包含其他值,如图所示。我如何在 XSD 中表达它?

到目前为止,我有这个:

我使用 XSD 1.0,似乎:VS2013 ......所以“替代”对我不起作用......遗憾的是......

0 投票
0 回答
108 浏览

xml - 如何限制 XSD 1.0 中子元素的数量?

我有如下 XML(1.0):

所有子元素和孙元素都有不同的名称。

我的问题是:如何在 XSD 中将相同元素(不是子元素)的总数限制为GrandChildElements小于 5?例如,如果列出Childelement1了 3 ,则最多只能有 2 。GrandChildElementChildElement2GrandChildElements

0 投票
1 回答
974 浏览

xml - XSD 唯一元素 XPath 限制

为了允许一个元素出现多次但将其限制为只允许一次的元素值,我正在应用该unique元素。不过,由于 XSD 1.0 中的 XPath 限制,我只能让它以低效的方式工作。不幸的是,XSD 1.1 不是我的选择。

下面是 XSD 的简化版本:

使用以下 XML:

这按预期工作,并给了我两次包含“DIGITALARCHIVE”的错误。问题是这种方法迫使我将unique元素包含在每个可能的扩展Mailpack类型中。因此,如果我例如引入一个Parcel类型作为扩展,Mailpack那么我必须从新元素中的元素复制相同uniquebatch/letter元素batch/parcel

将元素作为以下元素的unique一部分deliveryMethod不是一个选项,因为..在 XSD XPath 中不允许使用父选择器。

将其作为batch元素的一部分直接导致了同样的问题。

我怎样才能unique只包含一次元素,但让它对所有扩展都计数Mailpack?(如果有的话)

0 投票
2 回答
335 浏览

xml - 将 XSD 1.1 转换为 1.0 - 验证错误

当我尝试验证此 XSD 时:

我收到以下错误:

一个“所有”模型组必须出现在一个粒子中,且 '{'minoccurrence'}' = '{'maxoccurrence'}' = 1,并且该粒子必须是构成 '{'content type'} 的一对' 的复杂类型定义。

我能够让它作为 1.0 XSD 工作的唯一方法是将“全部”更改为“序列”:

但这会强制执行特定的顺序。

有谁知道如何让这个 XSD 与 XSD 1.0 一起工作?

0 投票
2 回答
1063 浏览

xml - 根据子元素属性验证 XML 元素属性值

我在 XML 中有这个:

generator/@Mode只有当它匹配其中一个时才应该是有效的generator/GenMode/@nameXSD 1.0可以吗?

现在我在 xsd 文件中为这个元素使用这个规则:

0 投票
1 回答
652 浏览

xml - 在 XSD 中验证管道分隔的字符串

我有一个用例,我需要验证 XSD 属性值中的管道分隔字符串。

示例:XML 属性

我想编写一个 XSD 模式,其中 Fruits 属性 Name 允许以下和其他有效组合来自上述 3 个值。

我目前写了类似的东西

我想在 C# 中使用它,所以我想我只能使用 XSD 1.0。