我的要求是我需要在xsd标签元素/属性名称中加一个分号。
例如:
< xs:attribute name="some:name" type="xs:string" fixed="somevalue"/>
有没有办法逃避属性名称中的':'
字符?
此致
答案 0 :(得分:5)
首先,冒号和分号是完全不同的东西:你想要的是什么?冒号在XML名称中是合法的,分号不是。
XML名称中的冒号表示名称空间。
您需要在架构文档中定义元素和属性,其目标命名空间是元素或属性名称的命名空间部分。
在该架构文档(比如Doc-S)中,您只使用名称的本地部分声明元素或属性。因此,如果“some”是绑定到URI http://some.uri的名称空间前缀,则使用targetNamespace="http://some.uri"
创建一个模式文档,并在其中声明<xs:attribute name="name"/>
。
然后在原始架构文档中添加引用Doc-S的xs:import
,其中包含名称空间声明xmlns:some="http://some.uri"
,并使用<xs:attribute ref="some:uri"/>
引用该属性