25、XML Schema 进化:派生类型与重定义技巧解析

XML Schema 进化:派生类型与重定义技巧解析

1. XML 模式变更概述

在动态的互联网环境中,XML 模式并非一成不变,而是需要不断进化以满足新需求。常见的 XML 模式变更类型有三种:添加新的子节点、删除子节点和进行一般性的结构调整。不过在实际应用里,删除子节点的情况较为少见,所以主要探讨添加子节点和结构调整这两种情况。

1.1 XML 模式变更类型

变更类型 说明
添加新的子节点 可向现有复杂类型定义或组定义中添加子元素,也能在复杂类型定义或属性组定义里添加属性
结构调整 涵盖更改元素或属性类型、重新定义组或属性组等

1.2 模式变更的约束条件

在构建新的模式时,要保证旧模式下有效的实例在新模式下同样有效。这就要求新模式必须是原模式的超类型,具体规则如下:
- 复杂类型扩展规则 :不能引入比原定义更严格的基数约束。
- 元素和属性类型规则 :子元素和属性所使用的类型必须是原类型定义中对应类型的超类型(或相同)。
- 默认和固定值规则 :不能为现有的子元素和属性引入新的默认或固定值,防止现有实例失效。
-

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值