xsd和xsi有什么区别?

时间:2016-12-08 08:43:11

标签: xml xsd xsi xsitype

XML架构文档 XML架构实例之间究竟有什么区别?

  • xmlns:xsd="http://www.w3.org/2001/XMLSchema"
  • xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

请详细说明。

2 个答案:

答案 0 :(得分:15)

xsdxsi相似之处

  • 两者都是XML namespace prefixes,缩写为 XML namespace
  • 两者都是,所有名称空间前缀都是任意命名的;其他名称空间前缀缩写 同样可以使用。但是,两个前缀都是conventional因此 推荐的。 (xsd的另一种常规替代方法是xs。)

xsdxsi差异

另见

答案 1 :(得分:4)

<强> http://www.w3.org/2001/XMLSchema

简单版本:这是XML Schema(XSD)中使用的命名空间。 XML模式用于描述XML实例文档中的有效内容。

不太简单的版本:这是描述XML Schema结构的XML Schema的命名空间。换句话说,描述自己的模式。

必须使用此架构中定义的类型编写XML架构(XSD)。

例如。

<xs:schema elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
    <xs:element name="MyElement" type="xs:string" />
</xs:schema>

http://www.w3.org/2001/XMLSchema-instance

这是XML实例文档中使用的命名空间,用于向正在处理它的XML Parser提供其他数据。它描述了xsi:schemalocation,xsi:noSchemalocation,xsi:type和xsi:nil这些属性,XML解析器可以使用它来帮助验证。

例如。

<MyElement xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
           xsi:noNamespaceSchemaLocation="MySchema.xsd">
    string
</MyElement>