XSD元素替换(ElementSubstitution)通过XMLSchema,一个元素可对另一个元素进行替换。元素替换让我们举例说明:我们的用户来自英国和挪威。我们希望有能力让用户选择在XML文档中使用挪威语的元素名称还是英语的元素名称。为了解决这个问题,我们可以在XMLschema中定义一个substitutionGroup。首先,我们声明主元素,然后我们会声明次元素,这些次元素可声明它们能够替换主元素。在上面的例子中,"name"元素是主元素,而"navn"元素可替代"name"元素。请看一个XMLschema的片段: 有效的XML文档类似这样(根据上面的schema): Joh
XSD元素元素使我们有能力通过未被schema规定的属性来扩展XML文档!元素使我们有能力通过未被schema规定的属性来扩展XML文档!下面的例子是来自名为"family.xsd"的XMLschema的一个片段。它为我们展示了针对"person"元素的一个声明。通过使用元素,我们就可以向"person"元素添加任意数量的属性: 现在,我们希望通过"gender"属性来扩展"person"元素。在这种情况下我们就可以这样做,即使这个schema的作者从未声明过任何"gender"属性。请看这个schema文件,名为"attribute.xsd":targ
XSD元素元素使我们有能力通过未被schema规定的属性来扩展XML文档!元素使我们有能力通过未被schema规定的属性来扩展XML文档!下面的例子是来自名为"family.xsd"的XMLschema的一个片段。它为我们展示了针对"person"元素的一个声明。通过使用元素,我们就可以向"person"元素添加任意数量的属性: 现在,我们希望通过"gender"属性来扩展"person"元素。在这种情况下我们就可以这样做,即使这个schema的作者从未声明过任何"gender"属性。请看这个schema文件,名为"attribute.xsd":targ
XSD元素元素使我们有能力通过未被schema规定的元素来拓展XML文档!元素元素使我们有能力通过未被schema规定的元素来拓展XML文档!下面这个例子是从名为"family.xsd"的XMLschema中引用的片段。它展示了一个针对"person"元素的声明。通过使用元素,我们可以通过任何元素(在之后)扩展"person"的内容: 现在,我们希望使用"children"元素来扩展"person"元素。这此种情况下我们就可以这么做,即使以上这个schema的作者没有声明任何"children"元素。请看这个schema文件,名为"children.
XSD元素元素使我们有能力通过未被schema规定的元素来拓展XML文档!元素元素使我们有能力通过未被schema规定的元素来拓展XML文档!下面这个例子是从名为"family.xsd"的XMLschema中引用的片段。它展示了一个针对"person"元素的声明。通过使用元素,我们可以通过任何元素(在之后)扩展"person"的内容: 现在,我们希望使用"children"元素来扩展"person"元素。这此种情况下我们就可以这么做,即使以上这个schema的作者没有声明任何"children"元素。请看这个schema文件,名为"children.
XSD混合内容混合的复合类型可包含属性、元素以及文本。带有混合内容的复合类型XML元素,"letter",含有文本以及其他元素: DearMr.JohnSmith. Yourorder1032 willbeshippedon2001-07-13.下面这个schema声明了这个"letter"元素: 注意:为了使字符数据可以出现在"letter"的子元素之间,mixed属性必须被设置为"true"。标签(name、orderid以及shipdate)意味着被定义的元素必须依次出现在"letter"元素内部。我们也可以为complexType元素起一个名
XSD混合内容混合的复合类型可包含属性、元素以及文本。带有混合内容的复合类型XML元素,"letter",含有文本以及其他元素: DearMr.JohnSmith. Yourorder1032 willbeshippedon2001-07-13.下面这个schema声明了这个"letter"元素: 注意:为了使字符数据可以出现在"letter"的子元素之间,mixed属性必须被设置为"true"。标签(name、orderid以及shipdate)意味着被定义的元素必须依次出现在"letter"元素内部。我们也可以为complexType元素起一个名
XSD仅含文本仅含文本的复合元素可包含文本和属性。仅含文本的复合元素此类型仅包含简易的内容(文本和属性),因此我们要向此内容添加simpleContent元素。当使用简易内容时,我们就必须在simpleContent元素内定义扩展或限定,就像这样: .... .... 或者: .... .... 提示:请使用extension或restriction元素来扩展或限制元素的基本简易类型。这里有一个XML元素的例子,"shoesize",其中仅包含文本:35下面这个例子声明了一个复合
XSD仅含文本仅含文本的复合元素可包含文本和属性。仅含文本的复合元素此类型仅包含简易的内容(文本和属性),因此我们要向此内容添加simpleContent元素。当使用简易内容时,我们就必须在simpleContent元素内定义扩展或限定,就像这样: .... .... 或者: .... .... 提示:请使用extension或restriction元素来扩展或限制元素的基本简易类型。这里有一个XML元素的例子,"shoesize",其中仅包含文本:35下面这个例子声明了一个复合
XSD仅含元素"仅含元素"的复合类型元素是只能包含其他元素的元素。复合类型仅包含元素XML元素,"person",仅包含其他的元素: John Smith您可在schema中这样定义"person"元素: 请留意这个。它意味着被定义的元素必须按上面的次序出现在"person"元素中。或者您可以为complexType元素设定一个名称,并让"person"元素的type属性来引用此名称(如使用此方法,若干元素均可引用相同的复合类型):