允许在当前架构中重新定义从外部架构文件中获取的简单和复杂类型、组和属性组。
<redefine
id = ID
schemaLocation = anyURI
{any attributes with non-schema Namespace}...>
Content: (annotation | (simpleType | complexType | group |
attributeGroup))*
</redefine>
特性
id
该元素的 ID。 id 值必须属于类型 ID 并且在包含该元素的文档中是唯一的。可选。
schemaLocation
对架构文档位置的 URI 引用。必选。
元素信息
出现次数 |
无限制 |
父元素 |
|
内容 |
备注
redefine 元素要求外部元素存在于和重新定义的架构相同的目标命名空间中。 还可以使用 redefine 元素重新定义没有命名空间的架构并且重新定义的组件成为该架构的目标命名空间的一部分。
redefine 元素自身内的定义必须使用其当前定义作为基类型定义。 属性组定义和模型组定义必须恰好包括一个对其自身的引用。 不是重新定义的架构文档的所有定义都必须重新定义。
重新定义元素可能在基于重新定义的定义的其他类型定义上导致意外的结果,例如定义格式错误。
示例
以下示例说明架构 v2.xsd,它具有由 v1.xsd 指定的元素。 personName 类型被重新定义。 根据该架构,由 personName 类型约束的元素可以 generation 元素结束。
其他资源
有关更多信息,请参见“W3C XML Schema Part 1: Structures Recommendation”(W3C XML 架构第 1 部分:结构建议),网址为:www.w3.org/TR/2001/REC-xmlschema-1-20010502/#element-all。