如果我创建一个需要模式1.1特性的XML模式(特别是微妙的模式,比如删除基类型限制中的可选元素),那么表明该模式不应该与仅理解版本的处理器一起使用的最佳方法是什么1.0?
在XSLT样式表文件中,可以指示使用version属性使用的XSLT规范的版本.
但是在XSD文件中,该version属性没有这个含义 - 它是一个自由格式的属性,它说明了模式的版本,而不是正在使用的规范的版本.
是否需要标记使用1.1功能的架构?
我有一组使用FPML 5.5规范和一些自定义模式的复杂模式,并且无法使用某些模式验证器进行验证,但我不确定这是因为验证器有错误还是因为模式巧妙地使用了xml模式1.1功能.
在我的 XSD 中,我尝试使用alternative标签。由于某些原因,我在 IDE (PHPStorm) 中遇到此错误:
无效内容以元素“xs:alternative”开头...
XSD
<xs:complexType name="tableType">
<xs:sequence>
<xs:element type="columnType" name="column" maxOccurs="unbounded" minOccurs="0"/>
<xs:element type="keyType" name="key" maxOccurs="unbounded" minOccurs="0">
<xs:alternative test="@type='index'" type="keyIndexType"/>
<xs:alternative test="@type='unique'" type="KeyUniqueType"/>
</xs:element>
</xs:sequence>
<xs:attribute type="xs:string" name="name" use="required"/>
</xs:complexType>
Run Code Online (Sandbox Code Playgroud)
我发现我不应该添加更多东西来使用 1.1 xsd 版本,但是我需要一些东西来支持alternative标签吗?