Explanation/example 正确使用 XML 架构?
Explanation/example of the proper use of an XML Schema?
我对 XML 模式感到困惑。我相信它们用于定义要用作模板的自定义元素。
假设我有以下架构:
<?xml version="1.0" encoding="UTF-8" ?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<!-- definition of simple elements -->
<xs:element name="text" type="xs:string"/>
<!-- definition of attributes -->
<xs:attribute name="choice_value" type="xs:int"/>
<!-- definition of complex elements -->
<xs:element name="choice">
<xs:complexType>
<xs:sequence>
<xs:element ref="text" minOccurs="1"/>
</xs:sequence>
<xs:attribute ref="choice_value" use="required"/>
</xs:complexType>
</xs:element>
</xs:schema>
谁能提供一个详细的例子,一个完整的元素 XML 文件,说明我如何使用和导入这个模式?我可以导入或包含它,当我尝试声明我的元素时,它说找不到。 Google 结果仅显示了如何导入,但并未实际应用。
一个 XML 模式定义了一个 XML 词汇表(可以使用什么元素和属性名称)和语法(元素和属性如何组成)。
根据您的 XSD,以下 XML 文档将是有效的:
<text/>
<text>asdf</text>
<choice choice_value="1"><text/></choice>
<choice choice_value="1"><text>asdf</text></choice>
XML 文档与 XML 架构的关联通常通过根元素上的 xsi:noNamespaceSchemaLocation
或 xsi:schemaLocation
属性来完成。下面是一个示例,说明如何向 XML 处理器提示用于验证上面的 XML 文档 #4 的 XML 模式是 try.xsd
:
<choice choice_value="1"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="try.xsd">
<text>asdf</text>
</choice>
请注意,还有其他机制可以将 XSD 与 XML 文档相关联,例如 XML Catalogs,或者特定于任何给定 [=] 的命令行或 GUI 设置首选项39=]处理器。
我对 XML 模式感到困惑。我相信它们用于定义要用作模板的自定义元素。
假设我有以下架构:
<?xml version="1.0" encoding="UTF-8" ?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<!-- definition of simple elements -->
<xs:element name="text" type="xs:string"/>
<!-- definition of attributes -->
<xs:attribute name="choice_value" type="xs:int"/>
<!-- definition of complex elements -->
<xs:element name="choice">
<xs:complexType>
<xs:sequence>
<xs:element ref="text" minOccurs="1"/>
</xs:sequence>
<xs:attribute ref="choice_value" use="required"/>
</xs:complexType>
</xs:element>
</xs:schema>
谁能提供一个详细的例子,一个完整的元素 XML 文件,说明我如何使用和导入这个模式?我可以导入或包含它,当我尝试声明我的元素时,它说找不到。 Google 结果仅显示了如何导入,但并未实际应用。
一个 XML 模式定义了一个 XML 词汇表(可以使用什么元素和属性名称)和语法(元素和属性如何组成)。
根据您的 XSD,以下 XML 文档将是有效的:
<text/>
<text>asdf</text>
<choice choice_value="1"><text/></choice>
<choice choice_value="1"><text>asdf</text></choice>
XML 文档与 XML 架构的关联通常通过根元素上的 xsi:noNamespaceSchemaLocation
或 xsi:schemaLocation
属性来完成。下面是一个示例,说明如何向 XML 处理器提示用于验证上面的 XML 文档 #4 的 XML 模式是 try.xsd
:
<choice choice_value="1"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="try.xsd">
<text>asdf</text>
</choice>
请注意,还有其他机制可以将 XSD 与 XML 文档相关联,例如 XML Catalogs,或者特定于任何给定 [=] 的命令行或 GUI 设置首选项39=]处理器。