问题标签 [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 投票
3 回答
3686 浏览

xml - XML Schema 来限制基于另一个字段的字段

我有以下架构,我用它来确保一个人的PhoneNumberPhoneNumberType(家庭、工作等)不超过 10 个字符。但是,我想改进此架构,以便PhoneNumberType如果PhoneNumber未提供 a 则不需要,但如果PhoneNumber提供了则需要。有没有办法在 XML Schema 1.0 中做到这一点?

我知道这可以在 XML Schema 1.1 中使用 来完成<xs:assert/>,但不幸的是我被 XML Schema 1.0 困住了。

0 投票
2 回答
3652 浏览

xsd - 不同的子元素取决于属性/元素值

另一个 XSD 问题 - 我如何才能实现以下 XML 元素都有效:

子元素(要么 <a> <b>)应取决于<type>(也可以是属性)的内容。在 RelaxNG 中会很简单——但是 RelaxNG 不支持密钥完整性 :(

有没有办法在 XSD 中实现这一点?

注意:XML 模式版本 1.1 支持<xs:alternative>,这可能是一个解决方案,但 afaik 还没有参考实现(例如 libxml2)支持这个。所以我正在寻找解决方法。我想出的唯一方法是:

0 投票
1 回答
707 浏览

xml - XML Schema:基于子元素类型的属性值?

我正在尝试创建一个模式,其中元素的类型由父属性的值确定。特别想我想做的是这个

其中应强制执行参数的值以符合浮点值。这样value元素的类型就是argument 元素的属性所定义的类型。

现在,我发现了一篇关于该主题的旧帖子,其中指出这不能在 XML-Schema 1.0 中完成。

所以我的问题是;有推荐的替代方法吗?我能想到的最接近的是允许类似的东西

argument包含该类型的元素,type然后让float派生自type

0 投票
1 回答
1833 浏览

xml - 具有多个字段的 XSD 密钥

我有这样的结构:

我想要的是另一个部分,应该对第一部分的值进行验证。以便

或者

应该是有效的,但两者都不是

也不

我正在考虑使用具有多个字段的键

但似乎这种方法永远行不通,因为关键字段应该是唯一的。

是否可以使用 XML Schema 1.0 做到这一点?

0 投票
1 回答
492 浏览

xml - 验证 XML Schema 中的多个元素和值组合

我正在尝试创建一个验证多个元素组合的 XML Schema 1.0。

例如,

是否可以在模式中创建可能的元素 - 值组合列表?像,仅在以下情况下有效

  1. A=1 && B=2

  2. A=2 && B=4

通过示例

失败示例

我还不能使用 XML Schema 1.1。有没有什么好方法可以将这些逻辑放在一个模式中?

对不起,我只是再次重写我的问题。

0 投票
1 回答
1352 浏览

xsd - 对复杂类型的几个元素的限制

我有一个包含多个元素的 XML 模式,每个元素都有两个相同类型的子元素(oldValue 和 newValue)。例如,类型可以是字符串,但我有几个具有不同maxLength限制的元素。定义它的最简单方法是什么?

我需要定义很多这些元素,每个元素都有不同的限制。有没有比为每个限制定义一个复杂类型更简单的方法?

编辑:我需要使用 XML Schema 1.0

0 投票
1 回答
8179 浏览

xsd - 具有固定属性的固定元素的 XML 模式?

什么是正确的 XML Schema 1.0 声明

在哪里:

  1. xml:lang 属性是强制性的
  2. 值“en”是固定且强制的
  3. 通知内容为简单的文字。
  4. 通知的内容是固定的(如上)和强制性的?

我最好的(但错误的)努力是以下片段:

0 投票
3 回答
676 浏览

xml - 控制嵌套元素的 maxOccurs,而不强制执行顺序

我希望定义一个强制执行以下规则的 XSD(基于 v1.0)......

我有一个parent1元素,它可以有以下子元素child1 child2child3

  • parent1可以有child1的 0-1
  • parent1可以有child2的0-1
  • parent1可以有 0 - child3的无界

项目的顺序并不重要。例如

我已经接近了,但没有雪茄。我能得到的最接近的是执行最小值和最大值,但执行顺序。

我尝试过使用all而不是sequence,但子元素限制maxOccurs为 1。我也尝试过使用selection和 amaxOccurs来替换序列,但这并不限制您可以在下面拥有多少个元素child1或元素。child2parent1

编辑:这是针对 XSD v1.0

我找到了一个适用于 XSD 1.1的解决方案,但是当您看到它在 Eclipse 之类的支持中有多好时,我会尝试坚持使用1.0

0 投票
1 回答
486 浏览

xml - 以 XML Schema 1.0 中的顶级祖先为条件的后代约束

我希望有一个以顶级祖先类型为条件的后代元素。是否可以在 xml 模式 1.0 中对这种关系进行建模?如果是这样,怎么做?

以下是我想要的结构/验证行为:

似乎 XSD 1.1 断言可以让我做到这一点,但我坚持使用 XML Schema 1.0。

我显然可以创建并行层次结构,并且只允许在一个中使用 d 元素,但这对于我们模式的用户来说会变得冗长和混乱。

并行层次结构可能如下所示:

编辑:使用CM的提示解决上述问题的方案

0 投票
1 回答
1531 浏览

html - XML/XSD ID/IDREF 类型的典型值的最大长度是多少?

W3C XSD 1.0 第 2 部分:数据类型规范参考了用于定义 ID 和 IDREF 类型的W3C XML 1.0规范,但是这些文档都没有定义对这些类型的值长度的任何约束。

但是,似乎某些 XML 编辑器对这些类型实施了长度限制。

此外,一些 Web 浏览器似乎实现了长度限制,例如 HTML Hx 元素的“id”属性(在 HTML 4 和 XHTML 1.1 中定义为 XML ID 类型)。

  1. W3C 规范或其他规范定义的 ID/IDREF 类型的长度是否有任何限制?

  2. XML 编辑器实现的典型长度限制是什么?

  3. Web 浏览器(用于 HTML)实现的典型长度限制是什么?