xml - XSD 要求 XML 文档中存在特定的根元素?
问题描述
我想验证一个 XML 文件并确保它有一个这样的根元素speak
:
<speak>
<!--other node here...-->
</speak>
该speak
元素必须存在于 XML 中并且只能出现一次。我尝试在我的 XSD 文件中添加以下代码:
<xsd:element name="speak" type="speak" minOccurs="1" maxOccurs="1"/>
但它不起作用。
解决方案
在架构本身中,您不能对根元素必须是什么施加约束。(这是设计使然,尽管不是每个人都认为这是一个好的设计。)任何全局元素声明都可以匹配根元素。
一些用于调用验证的 API 可能允许您约束根元素。例如,如果您使用 Saxon 模式验证器并从命令行运行它,您可以指定-top:speak
要求顶级元素命名为speak
。
推荐阅读
- ios - 如何在 Combine 中对任意数量的 Bool Publisher 执行“全部”操作?
- html - 滚动时如何在 CSS 中转换图像
- matlab - 加载 MIT-BIH 心律失常数据库 (mitdb) ECG INTO MATLAB
- c# - 我如何在 C# 中拆分数组
- javascript - 如何添加数组VueJS?
- c++ - 如果我有两个函数 copyij() 和 copyji(),复制一个 2048x2048 整数数组,哪个更快,为什么?
- python - 在 Google AppEngine 上使用 eventlet 部署 Flask Socket.io 应用程序
- php - 如何编写一个 mySQL 查询以便在前端组成一个表?
- vb.net - 使用 Bass.net 同时播放多种声音
- python - 如何使用 SQL Alchemy 将图像添加到数据库中?