我是XML新手并尝试创建架构。 我想限制元素的名称 比如像计算机科学这样的东西 大写字母并继续小写。我试过了 下面的代码,但验证器给出错误。我想 仅存储具有相同格式的名称。有什么建议 请?
<xs:restriction base="xs:string">
<xs:pattern value = "[A-Z][a-z]+"/>
<xs:whiteSpace value = "collapse"/>
</xs:restriction>
答案 0 :(得分:0)
一般来说,XML Schema中的设计假设是您知道允许在源文档中出现的元素名称,并且您希望在其内容上定义约束。您可以使用通配符来允许任何元素名称,但是没有任何内置机制允许任何元素名称满足指定的约束。您可以尝试使用XSD 1.1断言或使用Schematron执行此操作,但是您实际上正在尝试执行此操作。
使用
的设计可能会更好<Subject name="ComputerScience"/>
而不是
<ComputerScience/>
然后可以很容易地使用模式构面限制name属性的内容。