问题标签 [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.
xml - XML Schema 来限制基于另一个字段的字段
我有以下架构,我用它来确保一个人的PhoneNumber
和PhoneNumberType
(家庭、工作等)不超过 10 个字符。但是,我想改进此架构,以便PhoneNumberType
如果PhoneNumber
未提供 a 则不需要,但如果PhoneNumber
提供了则需要。有没有办法在 XML Schema 1.0 中做到这一点?
我知道这可以在 XML Schema 1.1 中使用 来完成<xs:assert/>
,但不幸的是我被 XML Schema 1.0 困住了。
xsd - 不同的子元素取决于属性/元素值
另一个 XSD 问题 - 我如何才能实现以下 XML 元素都有效:
子元素(要么 <a>
或 <b>
)应取决于<type>
(也可以是属性)的内容。在 RelaxNG 中会很简单——但是 RelaxNG 不支持密钥完整性 :(
有没有办法在 XSD 中实现这一点?
注意:XML 模式版本 1.1 支持<xs:alternative>
,这可能是一个解决方案,但 afaik 还没有参考实现(例如 libxml2)支持这个。所以我正在寻找解决方法。我想出的唯一方法是:
xml - XML Schema:基于子元素类型的属性值?
我正在尝试创建一个模式,其中元素的类型由父属性的值确定。特别想我想做的是这个
其中应强制执行参数的值以符合浮点值。这样value元素的类型就是argument
元素的属性所定义的类型。
现在,我发现了一篇关于该主题的旧帖子,其中指出这不能在 XML-Schema 1.0 中完成。
所以我的问题是;有推荐的替代方法吗?我能想到的最接近的是允许类似的东西
让argument
包含该类型的元素,type
然后让float
派生自type
。
xml - 具有多个字段的 XSD 密钥
我有这样的结构:
我想要的是另一个部分,应该对第一部分的值进行验证。以便
或者
应该是有效的,但两者都不是
也不
我正在考虑使用具有多个字段的键
但似乎这种方法永远行不通,因为关键字段应该是唯一的。
是否可以使用 XML Schema 1.0 做到这一点?
xml - 验证 XML Schema 中的多个元素和值组合
我正在尝试创建一个验证多个元素组合的 XML Schema 1.0。
例如,
是否可以在模式中创建可能的元素 - 值组合列表?像,仅在以下情况下有效
A=1 && B=2
A=2 && B=4
通过示例
失败示例
我还不能使用 XML Schema 1.1。有没有什么好方法可以将这些逻辑放在一个模式中?
对不起,我只是再次重写我的问题。
xsd - 对复杂类型的几个元素的限制
我有一个包含多个元素的 XML 模式,每个元素都有两个相同类型的子元素(oldValue 和 newValue)。例如,类型可以是字符串,但我有几个具有不同maxLength
限制的元素。定义它的最简单方法是什么?
我需要定义很多这些元素,每个元素都有不同的限制。有没有比为每个限制定义一个复杂类型更简单的方法?
编辑:我需要使用 XML Schema 1.0
xsd - 具有固定属性的固定元素的 XML 模式?
什么是正确的 XML Schema 1.0 声明
在哪里:
- xml:lang 属性是强制性的
- 值“en”是固定且强制的
- 通知内容为简单的文字。
- 通知的内容是固定的(如上)和强制性的?
我最好的(但错误的)努力是以下片段:
xml - 控制嵌套元素的 maxOccurs,而不强制执行顺序
我希望定义一个强制执行以下规则的 XSD(基于 v1.0)......
我有一个parent1元素,它可以有以下子元素child1 、child2和child3。
- parent1可以有child1的 0-1
- parent1可以有child2的0-1
- parent1可以有 0 - child3的无界
项目的顺序并不重要。例如
我已经接近了,但没有雪茄。我能得到的最接近的是执行最小值和最大值,但执行顺序。
我尝试过使用all
而不是sequence
,但子元素限制maxOccurs
为 1。我也尝试过使用selection和 amaxOccurs
来替换序列,但这并不限制您可以在下面拥有多少个元素child1
或元素。child2
parent1
编辑:这是针对 XSD v1.0
我找到了一个适用于 XSD 1.1的解决方案,但是当您看到它在 Eclipse 之类的支持中有多好时,我会尝试坚持使用1.0。
xml - 以 XML Schema 1.0 中的顶级祖先为条件的后代约束
我希望有一个以顶级祖先类型为条件的后代元素。是否可以在 xml 模式 1.0 中对这种关系进行建模?如果是这样,怎么做?
以下是我想要的结构/验证行为:
似乎 XSD 1.1 断言可以让我做到这一点,但我坚持使用 XML Schema 1.0。
我显然可以创建并行层次结构,并且只允许在一个中使用 d 元素,但这对于我们模式的用户来说会变得冗长和混乱。
并行层次结构可能如下所示:
编辑:使用CM的提示解决上述问题的方案
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 类型)。
W3C 规范或其他规范定义的 ID/IDREF 类型的长度是否有任何限制?
XML 编辑器实现的典型长度限制是什么?
Web 浏览器(用于 HTML)实现的典型长度限制是什么?