在XSD中,可选属性通过use="optional"(显式推荐)或省略use属性(默认)定义;use="prohibited"禁止属性出现;default和fixed需配合use="optional"或省略use,不可与use="required"共存。

在XSD中,定义一个可选的属性只需将该属性的 use 属性设为 optional(默认值),并确保不设置为 required。
使用 use="optional" 显式声明(推荐)
虽然 use="optional" 是默认行为,但显式写出更清晰、可读性更强,也避免因省略而引发误解:
不写 use 属性即默认可选
如果完全省略 use 属性,XSD处理器会按规范将其视为 optional:
该写法合法且等效,但建议显式标注以增强意图表达。
注意:use="prohibited" 表示禁止出现
若想明确禁止某个属性出现在实例文档中,可设为 prohibited:
此时,即使XML中包含该属性,验证也会失败。
不可与 default 或 fixed 混淆
-
default表示属性未出现时,取指定默认值(隐式提供值,仍属可选) -
fixed表示属性若出现,必须等于指定值;若不出现,则按default处理(若同时存在) - 二者均要求
use="optional"或省略use,不能和use="required"共存










