模式文档和实例文档 Schemaxmlns=http://www.w3.org/2001/xmlschena xmlns:po=http://www.examplecom/po1 targetnamespace=http://www.examplecom/pol element FormDe fault= unqualified attributeFormDefault= unqualified> Element name=purchaseOrder type= po: PurchaseOrder Type"/> Element name- comment i type=string /> <complexType name= PurchaseOrder Type> <sequence> Element name- shipTo type=po: USAddress/> <element name=billTo type=po: USAddress/> Element ref=po: comment minOccurs=O/> etc </sequence> etc </complexType> <complexType name= USAddress> <sequence> Element name=name type=string"/> Element name=street type= string </sequence> </complexType> tr </schema>
模式文档和实例文档
模式文档和实例文档 <?xm version=1.0?> <apo: purchaseorder xmins:apo="http://www.example.com/po1 xmins:xsi=http://www.w3.org/2001/xmlschema -instance schema1-withtargetNamespace.sample. com/Pc xsischemalocation=http://www.exa <shipTo> <name>Alice smith </name> <street> 123 Maple street</street> <!- eTC </shipTo> billTo> <name> Robert smith</name <street>8 Oak Avenue</street> etc /bil。> <apo: comment> Hurry, my lawn is going wild! </apo: comment> < 七c </apo: purchaseorder>
模式文档和实例文档
模式文档和实例文档 模式文档只是一个XML文档,它的预定义的元素和属性描述另 个XML文档的结构 模式文档由一个 schema元素和一系列子元素组成,大多数子元素 为 element, complexType和 simpleType,这些决定了在实 例文档中的元素的表现方式和内容 通过出现在 schema元素中的命名空间声明 xmins:xsd=hTtp://www.w3.org/2001/xmlschema,, 在模式文档中的每一个元素都有一个与 XML Schema命名空间相 联系的命名空间前缀“ⅹsd。前缀“ⅹsdε被约定用于表示XML Schema命名空间,而不是模式文档作者自己的词汇表
模式文档和实例文档 ◼ 模式文档只是一个 XML 文档,它的预定义的元素和属性描述另一 个 XML 文档的结构 ◼ 模式文档由一个schema元素和一系列子元素组成,大多数子元素 为element, complexType, 和simpleType,这些决定了在实 例文档中的元素的表现方式和内容 ◼ 通过出现在schema元素中的命名空间声明 xmlns:xsd=“http://www.w3.org/2001/XMLSchema” , 在模式文档中的每一个元素都有一个与XML Schema命名空间相 联系的命名空间前缀“xsd:” 。前缀“xsd:”被约定用于表示XML Schema命名空间,而不是模式文档作者自己的词汇表
模式文档元素定义 n在一个模式文档中定义元素就是给这个元素命名并给它分配一个 类型,类型可以分为复合类型和简单类型。 复合类型元素如果包含子元素或者是带有属性则被称为复 合类型 筒单类型元素如果仅仅包含数字、字符串或者其他数据等, 但不包含任何子元素则称为简单类型。属性值通常是简单类 型,因为属性值不能包含任何结构 在实例文档中复合类型(通过<xsd: complexType>)和 些简单类型(通过< xsd: simpleType>)在模式文档中定义。 而其他一些标准的简单类型则是作为 XML Schema内置的 简单类型的指令表的一部分定义的
模式文档元素定义 ◼ 在一个模式文档中定义元素就是给这个元素命名并给它分配一个 类型,类型可以分为复合类型和简单类型。 ◼ 复合类型:元素如果包含子元素或者是带有属性则被称为复 合类型 ◼ 简单类型: 元素如果仅仅包含数字、字符串或者其他数据等, 但不包含任何子元素则称为简单类型。属性值通常是简单类 型,因为属性值不能包含任何结构 ◼ 在实例文档中复合类型(通过<xsd:complexType>)和一 些简单类型(通过<xsd:simpleType>) 在模式文档中定义。 而其他一些标准的简单类型则是作为XML Schema内置的 简单类型的指令表的一部分定义的
模式文档元素定义-内建简单类型 内建简单类型 W3 CXML Schema建议书中包括了42种简单类型的定义, 其中包括 string、int、date、 decimal、 boolean、 time duration 和 uriReference等。为了在 XML Schema和XML10DTD之间保 持兼容,简单类型ID、 IDREF、 IDREFS、 ENTITY、 ENTITIES、 NOTATION、 NMTOKEN、 NMTOKENS只能用在属性定义中 使用模式内建的这些类型时,必须在前面加上W3C模式前缀,通常 是 xsd <Xsd: element name="subdate"type="sd: date"7> <xsd: element name="donor" type="xsd: string/> <Xsd: element name=subject" type="sd: string"/> <Xsd: element name="description"type=xsd: string"/> <Xsd: element name="place type=Xsd: string"/>
模式文档元素定义-内建简单类型 ◼ 内建简单类型 ◼ W3C XML Schema 建议书中包括了 42 种简单类型的定义, 其中包括 string、int、date、decimal、boolean、timeDuration 和 uriReference等。为了在XML Schema和XML 1.0 DTD之间保 持兼容,简单类型ID、IDREF、IDREFS、ENTITY、ENTITIES、 NOTATION、NMTOKEN、NMTOKENS只能用在属性定义中 ◼ 使用模式内建的这些类型时,必须在前面加上W3C模式前缀,通常 是“xsd:” <xsd:element name="subdate" type="xsd:date"/> <xsd:element name="donor" type="xsd:string"/> <xsd:element name="subject" type="xsd:string"/> <xsd:element name="description" type="xsd:string" /> <xsd:element name="place" type="xsd:string" />