问题标签 [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.
c# - 针对整个模式验证单个 XML 节点
我正在开发一个序列化程序,它应该与一个已经存在的、大的和定义明确的模式兼容。为了对我的序列化和属性(定义如何序列化)进行单元测试,我想使用单元测试。
问题是我想逐个元素地进行单元测试。
例如:这个 Schema 有一个叫做 的元素ide
,这个元素里面还有另一个元素。在我的项目中,我有一个代表这个ide
元素的对象。
在我的测试方法中,我创建了该对象的一个实例并生成了一个以该ide
元素为根的 xml。我希望能够使用整个xsd
.
我该怎么做呢?
唯一想到并且似乎太麻烦的是动态修改模式,因此它只有在给定时刻我感兴趣的元素。我测试并证实这可以工作,但不利于维护。
实现这一目标的正确方法是什么?
xml - XSD 元素数据重复
我有一个 XSD 和 XML 文件,可以工作 90% 并且几乎完成。例如,如果我有这个 XML 文档。
是否可以操纵 XSD(XML 模式)以确保ClientID
in 贷款与clientID
上述 in相同Family_Client
?
另外,如果有多个Family_Clients
,我希望Family_Client
inLoan
也相同。所以这方面的例子是:
c# - 枚举类型的正确 XSD
我有一个枚举类,例如,
我正在为这些创建 xsd,如下所示
- 这是为类创建
xsd
类型的正确方法吗Enum
如何在不使用的情况下验证 XML 元素
xs:assert
?如果
TCode
是a
那么TValue
是1
如果
TCode
是b
那么TValue
是2
XML 将是,
有任何想法吗?
xml - Require元素基于位置和属性值
我有以下 XSD(XSD 的一部分)
在我的 XML 中,我有:
我想以这样一种方式更改我的 XSD,即当 sourceValue 与 label="nrA" 是强制性的,但 label="nrB" 是可选的。但我无法弄清楚如何做到这一点。
xml - xsd validate 根据父值选择
我有以下 xsd schema
:-
现在它验证来自Image
和Audio
的任何选项Video
。但我希望它根据ContentTypeParent
例如它的1
唯一图像标签是否应该存在于xml文件中进行验证,如果它是2
那么Audio
和3
'视频'。我是 xsd 的新手,我尝试过但找不到任何方法让它工作。
xml - 具有无序必需、可选和任意标记的 XSD 架构
我正在尝试提出具有以下约束的 XSD 1.0 架构:
- 没有订单
- 有些元素必须只出现一次
- 某些元素可能出现零次或无限次
- 允许无法识别的元素(不验证它们)
3. 的原因是如果元素存在,我想验证类型。
例如,一个人必须只有一个姓名、一个可选的年龄(最多一个)、可选的电话号码(无限制)和任何其他标签。这些应该验证:
鉴于,这些不应该验证:
这是无效的 XSD,它以人类可以理解的方式捕获我正在尝试做的事情:
此 XSD 无效,因为您不能在<any>
下拥有<all>
,并且因为 XSD 1.0 不允许您maxOccurs="unbounded"
在<all>
元素中拥有。有谁知道如何做到这一点?
xml - XML 验证:XSD 中的并发无序和出现要求
在 XML Schema (XSD 1.0) 中,我对四个元素有以下要求:
- element1总是首先出现,minOccurs = 0 和 maxOccurs = 1
- element2将出现 minOccurs = 0 和 maxOccurs = 1
- element3将出现 minOccurs = 0 和 maxOccurs = unbounded
- element2和element3将按任意顺序出现(在 element1 之后和 element4 之前)
- element4将始终以 minOccurs = 0 和 maxOccurs = unbounded 出现在最后
- 所有这些元素都是parent_element的子元素,并且它们的 minOccurs = 0,但至少有 1 个元素应该存在于父元素中。
我创建了一个满足除#2和#6之外的所有要求的方案。在我的架构中 element2 和 element3 可以以任何顺序出现,但我无法限制 element2 只出现一次。此外,我无法确保parent_element中至少存在 1 个元素。
在下面查看我的架构并建议更新以满足上述所有要求。
为了满足要求#2,我尝试了一个maxOccurs="1"
与 element2 一起使用(内部选择)的技巧,但它不起作用,并且 element2 仍然能够以任何顺序与 element3 重复多次。
xml - 限制检查 XML 节点中的元素对
我有如下的 XML 文件
关键是我想检查是否有成对的MyAttribute
元素(每对中的 CLASS 和 CODE),例如
在这种情况下:
XML 不正确
是否可以在 XML Schema 1.0 中定义这样的约束(在 XSD 文件中进行验证)?也许改变 XML 的层次结构可以解决问题,但我不能改变 xml 结构。
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:any
内xs:all
?
php - 一个或多个元素,至少一个具有给定属性值的元素
我需要在 XML 模式中描述以下内容:一个元素必须出现 1 次或多次,但该元素的恰好一次出现必须将属性“properties”设置为值“nav”
例子:
我的“最佳”尝试是:
不好的尝试,因为验证器给了我以下错误:
本地复杂类型:内容模型不是确定性的。
很明显,这个模式不是确定性的,因为验证器无法决定他是否应该使用该item
元素的 2 个定义中的第一个或第二个来检查遇到的元素
......但我怎样才能实现这个?这可能吗?