XSD 和元素存在要求,或其他选项
在 XSD 级别,我可以根据文档中另一个元素的存在来定义元素要求吗?
例如,我想要求每当
元素也存在时提供元素
,否则名字是可选的。
如果这不能在 XSD 级别强制执行,那么我是否应该将这两个元素设为可选并通过不同级别的检查强制执行要求?
欢迎选择。
At the XSD level, can I define an element requirement based on presence of another element in the document?
For example, I want to require the element <firstname />
be provided whenever the <id />
element is also present, otherwise first name is optional.
If this cannot be enforced at the XSD level, then should I make both elements optional and enforce the requirement through a different level of checking?
Options welcome.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
这不能在 XSD 级别强制执行。
对我来说,将这两个元素设为可选并在应用程序架构的不同级别强制执行要求听起来是一个不错的选择。
This cannot be enforced at the XSD level.
Making both elements optional and enforcing the requirement at a different level in the application architecture sounds like a good option to me.
下面是在 DTD 中完成此操作的示例。 (注意:测试实例是使用 oXygen XML Editor(使用 Xerces)进行验证的。)
DTD (test.dtd)
以下是一些示例 XML 实例(有效和无效):
有效< /strong>
无效
有效
Here's an example of this being done in a DTD. (Note: The test instances were validated using oXygen XML Editor (which is using Xerces).)
DTD (test.dtd)
Here are some example XML instances (valid and invalid):
Valid
Invalid
Valid