XSD创建一个名称空间为前缀的元素

时间:2010-03-05 08:15:51

标签: xml xsd

我想创建一个可以生成以下XML的XSD。

<note>
<email:to>abc@def.com</email:to>
<from>xyz@def.com</from>
</note>

如何为元素编写XSD元素定义。

<xsd:element name="note">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="email:to" type="xsd:string"/>
<xsd:element name="from" type="xsd:string"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>

此处元素名称“email:to”未通过验证。

我如何在XSD中表示这一点?

谢谢。

2 个答案:

答案 0 :(得分:0)

XML中的:符号代表XML namespace syntax,这不符合您要执行的操作。如果没有处理器将其解释为命名空间,则不能在XML中使用该符号。

您可能需要考虑使用以下两种选择之一:

<email to="abc@def.com"/>
<email><to>abc@def.com</to></email>

答案 1 :(得分:0)

想要添加更多点,命名XML元素遵循与在任何编程语言中声明变量所应用的规则相同的规则,

  • 元素名称中出现的字符可以是任何字母数字字符或下划线
  • 名称可以以字母字符[数字或_不允许作为第一个字符]
  • 开头
  • 重要:名称不能是模式[或不能以字母开头) xml XML Xml
  • 也不允许空格

如此持久肯定会导致验证错误。