在xsd文件(xml架构)中的元素或属性名称中转义冒号':'

时间:2011-02-10 05:08:41

标签: xml xsd

我的要求是我需要在xsd标签元素/属性名称中加一个分号。

例如:

< xs:attribute name="some:name" type="xs:string" fixed="somevalue"/>

有没有办法逃避属性名称中的':'字符?

此致

1 个答案:

答案 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"/>引用该属性