问题标签 [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 回答
74 浏览

c# - 针对整个模式验证单个 XML 节点

我正在开发一个序列化程序,它应该与一个已经存在的、大的和定义明确的模式兼容。为了对我的序列化和属性(定义如何序列化)进行单元测试,我想使用单元测试。

问题是我想逐个元素地进行单元测试。

例如:这个 Schema 有一个叫做 的元素ide,这个元素里面还有另一个元素。在我的项目中,我有一个代表这个ide元素的对象。

在我的测试方法中,我创建了该对象的一个​​实例并生成了一个以该ide元素为根的 xml。我希望能够使用整个xsd.

我该怎么做呢?

唯一想到并且似乎太麻烦的是动态修改模式,因此它只有在给定时刻我感兴趣的元素。我测试并证实这可以工作,但不利于维护。

实现这一目标的正确方法是什么?

0 投票
1 回答
59 浏览

xml - XSD 元素数据重复

我有一个 XSD 和 XML 文件,可以工作 90% 并且几乎完成。例如,如果我有这个 XML 文档。

是否可以操纵 XSD(XML 模式)以确保ClientIDin 贷款与clientID上述 in相同Family_Client

另外,如果有多个Family_Clients,我希望Family_ClientinLoan也相同。所以这方面的例子是:

0 投票
1 回答
1030 浏览

c# - 枚举类型的正确 XSD

我有一个枚举类,例如,

我正在为这些创建 xsd,如下所示

  1. 这是为类创建xsd类型的正确方法吗Enum
  2. 如何在不使用的情况下验证 XML 元素xs:assert

    如果TCodea那么TValue1

    如果TCodeb那么TValue2

XML 将是,

有任何想法吗?

0 投票
1 回答
325 浏览

xml - Require元素基于位置和属性值

我有以下 XSD(XSD 的一部分)

在我的 XML 中,我有:

我想以这样一种方式更改我的 XSD,即当 sourceValue 与 label="nrA" 是强制性的,但 label="nrB" 是可选的。但我无法弄清楚如何做到这一点。

0 投票
0 回答
97 浏览

xml - xsd validate 根据父值选择

我有以下 xsd schema:-

现在它验证来自ImageAudio的任何选项Video。但我希望它根据ContentTypeParent 例如它的1唯一图像标签是否应该存在于xml文件中进行验证,如果它是2那么Audio3'视频'。我是 xsd 的新手,我尝试过但找不到任何方法让它工作。

0 投票
1 回答
309 浏览

xml - 具有无序必需、可选和任意标记的 XSD 架构

我正在尝试提出具有以下约束的 XSD 1.0 架构:

  1. 没有订单
  2. 有些元素必须只出现一次
  3. 某些元素可能出现零次或无限次
  4. 允许无法识别的元素(不验证它们)

3. 的原因是如果元素存在,我想验证类型。

例如,一个人必须只有一个姓名、一个可选的年龄(最多一个)、可选的电话号码(无限制)和任何其他标签。这些应该验证:

鉴于,这些不应该验证

这是无效的 XSD,它以人类可以理解的方式捕获我正在尝试做的事情:

此 XSD 无效,因为您不能在<any>下拥有<all>,并且因为 XSD 1.0 不允许您maxOccurs="unbounded"<all>元素中拥有。有谁知道如何做到这一点?

0 投票
1 回答
133 浏览

xml - XML 验证:XSD 中的并发无序和出现要求

在 XML Schema (XSD 1.0) 中,我对四个元素有以下要求:

  1. element1总是首先出现,minOccurs = 0 和 maxOccurs = 1
  2. element2将出现 minOccurs = 0 和 maxOccurs = 1
  3. element3将出现 minOccurs = 0 和 maxOccurs = unbounded
  4. element2element3将按任意顺序出现(在 element1 之后和 element4 之前)
  5. element4将始终以 minOccurs = 0 和 maxOccurs = unbounded 出现在最后
  6. 所有这些元素都是parent_element的子元素,并且它们的 minOccurs = 0,但至少有 1 个元素应该存在于父元素中。

我创建了一个满足除#2#6之外的所有要求的方案。在我的架构中 element2 和 element3 可以以任何顺序出现,但我无法限制 element2 只出现一次。此外,我无法确保parent_element中至少存在 1 个元素。

在下面查看我的架构并建议更新以满足上述所有要求。

为了满足要求#2,我尝试了一个maxOccurs="1"与 element2 一起使用(内部选择)的技巧,但它不起作用,并且 element2 仍然能够以任何顺序与 element3 重复多次。

0 投票
0 回答
66 浏览

xml - 限制检查 XML 节点中的元素对

我有如下的 XML 文件

关键是我想检查是否有成对的MyAttribute元素(每对中的 CLASS 和 CODE),例如

在这种情况下:

XML 不正确

是否可以在 XML Schema 1.0 中定义这样的约束(在 XSD 文件中进行验证)?也许改变 XML 的层次结构可以解决问题,但我不能改变 xml 结构。

0 投票
1 回答
1018 浏览

java - 在一个里面XSD 1.0 解决方法?

在我的 Java (Maven) 项目中,我使用JAXB 2.2.11从我们的服务器接收到的 XML 有效负载重建类的实例。我有一个.xsd定义类的模式,它与 JAXB 结合使用可以很好地重建我想要的类型的实例。我遇到的问题是这些有效载荷可以(没有任何通知或警告)具有我并不真正关心的额外元素。

这些额外元素可以出现的地方之一是xs:all标签内。我确实喜欢具有所述xs:all标签的功能:

all 元素指定子元素可以以任何顺序出现,并且每个子元素可以出现零次或一次。

但是,我不想在处理包含额外属性的 XML 有效负载时出现解析错误。里面的xs:any标签xs:all会很好用,但在 XSD 1.0 中是不允许的(根据w3schools和其他SO 答案),显然,JAXB 不支持 XSD 1.1。此外,JAXB处理 theany或 the的anyAttribute方式非常有趣,因为它将所有未知节点放入地图中,所以我可以记录它说“嘿!我们正在接收一个我们现在并不真正关心的属性,但是也许你会发现它在未来有些用处?”

我读过支持 XSD 1.1 的Xsom,但显然,它不会返回您想要的类的实例,而是更通用的哈希映射和列表集,因此失去了我的类型检查,这是我不做的不想。

所以......有没有办法假装在一个xs:anyxs:all

0 投票
1 回答
648 浏览

php - 一个或多个元素,至少一个具有给定属性值的元素

我需要在 XML 模式中描述以下内容:一个元素必须出现 1 次或多次,但该元素的恰好一次出现必须将属性“properties”设置为值“nav”

例子:

我的“最佳”尝试是:

不好的尝试,因为验证器给了我以下错误:

本地复杂类型:内容模型不是确定性的。

很明显,这个模式不是确定性的,因为验证器无法决定他是否应该使用该item元素的 2 个定义中的第一个或第二个来检查遇到的元素
......但我怎样才能实现这个?这可能吗?