【问题标题】:XSD to create an element with Namespace as prefixXSD 创建一个以命名空间为前缀的元素
【发布时间】:2010-03-05 08:15:50
【问题描述】:

我想创建一个可以生成以下 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 中表示它?

谢谢。

【问题讨论】:

    标签: xml xsd


    【解决方案1】:

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

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

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

    【讨论】:

      【解决方案2】:

      想补充几点,命名 XML 元素遵循与在任何编程语言中声明变量相同的规则,

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-06-15
        • 2020-03-15
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多