久久精品国产精品国产精品污,男人扒开添女人下部免费视频,一级国产69式性姿势免费视频,夜鲁夜鲁很鲁在线视频 视频,欧美丰满少妇一区二区三区,国产偷国产偷亚洲高清人乐享,中文 在线 日韩 亚洲 欧美,熟妇人妻无乱码中文字幕真矢织江,一区二区三区人妻制服国产

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

XSD(Schema)教程

發布時間:2024/4/17 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 XSD(Schema)教程 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

http://www.cnblogs.com/caoxch/archive/2006/11/17/563856.html

XSD(Schema)教程 [轉]

schema教程

XML Schema是以XML語言為基礎的,它用于可替代DTD。
一份XML schema文件描述了XML文檔的結構
XML Schema語言也被稱為XML Schema Definition (XSD)(XML Schema定義).
在本章教程你將學習如何讀取和建立XML Schemas,以及為什么XML Schemas比DTDs的功能更為強大,還有如何在你的程序中使用XML Schema語言

XML Schema 參考資料

你可以找到完整的有效的XML Schema元素

XML Schema 參考

Schema 介紹
w3pop.com / 2006-09-19

為何使用 XML Schemas?

XML Schema is an XML-based alternative to DTD.
XML Schema是以XML語言為基礎的,它用于可替代DTD。

An XML schema describes the structure of an XML document.
一份XML schema文件描述了XML文檔的結構。

The XML Schema language is also referred to as XML Schema Definition (XSD).
XML Schema語言也被稱為XML Schema Definition (XSD)(XML Schema定義).


What You Should Already Know
你應該已經掌握的知識

Before you continue you should have a basic understanding of the following:
在繼續之前你應對以下內容有基本了解:

  • HTML / XHTML
  • XML and XML Namespaces
    XML 和 XML 名稱空間
  • A basic understanding of DTD
    對DTD有基本的了解

If you want to study these subjects first, find the tutorials on our Home page.
如果你想先學這些內容,請看我們主頁上的的學習教程


What is an XML Schema?
什么是XML Schema?

The purpose of an XML Schema is to define the legal building blocks of an XML document, just like a DTD.
XML Schema的作用是定義一份XML文檔的合法組件群,就像DTD的作用一樣

An XML Schema:
一份XML Schema

  • defines elements that can appear in a document
    定義了可以出現在文檔里的元素
  • defines attributes that can appear in a document
    定義了可以出現在文檔里的屬性
  • defines which elements are child elements
    定義了哪些元素是子元素
  • defines the order of child elements
    定義了子元素的順序
  • defines the number of child elements
    定義了子元素的數量
  • defines whether an element is empty or can include text
    定義了一個元素應是否能包含文本,或應該是空的
  • defines data types for elements and attributes
    定義了元素和屬性的數據類型
  • defines default and fixed values for elements and attributes
    定義了元素和屬性的默認值和固定值

XML Schemas are the Successors of DTDs
XML Schema 是DTD的“接任者”

We think that very soon XML Schemas will be used in most Web applications as a replacement for DTDs. Here are some reasons:
我們認為XML Schema很快就會替代DTD在大多數的網絡應用程序中被廣泛使用。

  • XML Schemas are extensible to future additions
    XML Schema針對將來的額外內容是可擴展的
  • XML Schemas are richer and more powerful than DTDs
    XML Schema內容比DTD豐富,作用也更大
  • XML Schemas are written in XML?
    XML Schema是以XML語言編寫而成的
  • XML Schemas support data types
    XML Schema支持數據類型
  • XML Schemas support namespaces?
    XML Schema支持名稱空間(namespaces)

XML Schema is a W3C Standard
XML Schema是W3C定義的標準

XML Schema became a W3C Recommendation 02. May 2001.
XML Schema于2001年5月2日成為W3C推薦使用的標準

You can read more about the XML Schema standard in our W3C tutorial.
在W3C 教程中你能閱讀到更多關于XML Schema標準。

為何使用 XML Schemas?
w3pop.com / 2006-09-21

Schema 介紹 如何制定 XSD

XML Schemas are much more powerful than DTDs.
XML Schema比DTD作用更加強大。


XML Schemas Support Data Types
XML Schema支持數據類型

One of the greatest strength of XML Schemas is the support for data types.
XML Schema的最好用的地方之一就是它支持數據類型

With support for data types:
支持數據類型所帶來的好處:

  • It is easier to describe allowable document content
    更易于描述被允許的文檔內容
  • It is easier to validate the correctness of data
    更易于檢驗數據的正確性
  • It is easier to work with data from a database
    更易于與數據庫中的數據一起協同工作
  • It is easier to define data facets (restrictions on data)
    更易于定義數據的使用面(關于數據的限制)
  • It is easier to define data patterns (data formats)
    更易于定義數據樣式(數據格式)
  • It is easier to convert data between different data types
    更易于把數據轉換成不同的數據類型

XML Schemas use XML Syntax
XML Schema使用XML的語法

Another great strength about XML Schemas is that they are written in XML.
XML Schema另一個好處就是他們是用XML編寫成的。

Some benefits of that XML Schemas are written in XML:
用XML編寫的好處是:

  • You don't have to learn a new language
    可以不需要再學一種新語言
  • You can use your XML editor to edit your Schema files
    可以用XML編輯器來編輯Schema文件
  • You can use your XML parser to parse your Schema files
    可以用XML解析器解析Schema文件
  • You can manipulate your Schema with the XML DOM
    可以用XML DOM 處理Schema
  • You can transform your Schema with XSLT
    可以用XSLT轉換Schema

XML Schemas Secure Data Communication
XML Schema安全數據通訊

When sending data from a sender to a receiver, it is essential that both parts have the same "expectations" about the content.
當數據由發送者被傳向接受者時,雙方對“數據內容理解的一致性”就顯得非常重要了

With XML Schemas, the sender can describe the data in a way that the receiver will understand.
在XML Schema里,發送者可以用接受者能夠理解的方式描述數據。

A date like: "03-11-2004" will, in some countries, be interpreted as 3.November and in other countries as 11.March.
像這樣格式的日期:"03-11-2004",一些國家會解釋成11月3日,而別的國家會解釋成3月11日

However, an XML element with a data type like this:
<date type="date">2004-03-11</date>
ensures a mutual understanding of the content, because the XML data type "date" requires the format "YYYY-MM-DD".
然而,一個有著像這樣的數據種類的XML元素:<date type="date">2004-03-11</date>,就確保了雙方都能理解其內容,因為XML數據類型的"date"要求規定為"YYYY-MM-DD"的格式。


XML Schemas are Extensible
XML Schema是可擴展的

XML Schemas are extensible, because they are written in XML.
因為XML Schema文件是由XML編寫的,所以它們是可擴展的。

With an extensible Schema definition you can:
Schema可擴展意味著你可以:

  • Reuse your Schema in other Schemas
    在別的Schema文件里再次用到你的Schema
  • Create your own data types derived from the standard types
    從標準的數據類型中派生出你自己的數據類型
  • Reference multiple schemas in the same document
    在相同的文檔中參考多種Schema。

Well-Formed is not Enough
光有“規范”仍然是不夠的

A well-formed XML document is a document that conforms to the XML syntax rules, like:
規范的XML文檔是符合XML語法規則的文檔,就像這樣:

  • it must begin with the XML declaration
    ? 開頭必須有XML聲明
  • it must have one unique root element
    ? 必須有一個獨特的根目錄元素
  • start-tags must have matching end-tags
    ? 開始標簽(start-tag)必須和結束標簽(end-tag)匹配
  • elements are case sensitive
    ? 元素是有大小寫區分的
  • all elements must be closed
    ? 元素必須有結束
  • all elements must be properly nested
    ? 所有的元素必須被合理嵌套
  • all attribute values must be quoted
    ? 所有屬性值必須寫在引號里
  • entities must be used for special characters
    ? 用特殊字符時必須用到實體

Even if documents are well-formed they can still contain errors, and those errors can have serious consequences.
即使文檔是規范的,它們也可能包含錯誤。這些錯誤可能會引起嚴重的后果。

Think of the following situation: you order 5 gross of laser printers, instead of 5 laser printers. With XML Schemas, most of these errors can be caught by your validating software.
試想下面的情況:你預定了 5羅(1羅=12打=144臺)激光打印機,而不是5臺打印機。在XML Schema文件里,大多數像這樣的錯誤會由檢驗軟件產生。

如何制定 XSD
w3pop.com / 2006-09-21

為何使用 XML Schemas? XSD - <schema> 元素

XML documents can have a reference to a DTD or to an XML Schema.
XML文檔能和一份DTD或XML Schema文件相關聯。


A Simple XML Document
一份簡單的XML文檔

Look at this simple XML document called "note.xml":
請看下面名為"note.xml"的一份簡易的XML文檔

<?xml version="1.0"?> <note><to>Tove</to> <from>Jani</from> <heading>Reminder</heading> <body>Don't forget me this weekend!</body> </note>


A DTD File
一份DTD文件

The following example is a DTD file called "note.dtd" that defines the elements of the XML document above ("note.xml"):
下面的例子是名為"note.dtd"的DTD文件,它定義了上述XML文檔("note.xml")的元素。

<!ELEMENT note (to, from, heading, body)> <!ELEMENT to (#PCDATA)> <!ELEMENT from (#PCDATA)> <!ELEMENT heading (#PCDATA)> <!ELEMENT body (#PCDATA)>

The first line defines the note element to have four child elements: "to, from, heading, body".
第一行定義了含有"to, from, heading, body".四個子元素的“note”元素。

Line 2-5 defines the to, from, heading, body elements to be of type "#PCDATA".
第2到5行定義了"#PCDATA". 類型的“to, from, heading, body”四個元素


An XML Schema
?一份XML Schema

The following example is an XML Schema file called "note.xsd" that defines the elements of the XML document above ("note.xml"):
下面的例子當中,一個名為"note.xsd"的XML Schema文件定義了上述XML文檔("note.xml")中的元素

<?xml version="1.0"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.w3schools.com"xmlns="http://www.w3schools.com" elementFormDefault="qualified"> <xs:element name="note"><xs:complexType><xs:sequence><xs:element name="to" type="xs:string"/><xs:element name="from" type="xs:string"/><xs:element name="heading" type="xs:string"/><xs:element name="body" type="xs:string"/></xs:sequence></xs:complexType> </xs:element> </xs:schema>

The note element is a complex type because it contains other elements. The other elements (to, from, heading, body) are simple types because they do not contain other elements. You will learn more about simple and complex types in the following chapters.
Note元素是復合類型(complex type)因為它包含了其他元素,其他元素(to, from, heading, body)屬于簡單類型(simple type),因為它不包含其他元素。在下面幾章里你會學到更多關于簡單類型和復合類型的相關知識。


A Reference to a DTD
和DTD相關

This XML document has a reference to a DTD:
XML文檔和DTD相關:

<?xml version="1.0"?> <!DOCTYPE note SYSTEM "http://www.w3schools.com/dtd/note.dtd"> <note> <to>Tove</to> <from>Jani</from><heading>Reminder</heading> <body>Don't forget me this weekend!</body> </note>


A Reference to an XML Schema
和XML Schema相關

This XML document has a reference to an XML Schema:
下面的XML文檔和XML Schema相關:

<?xml version="1.0"?> <note xmlns="http://www.w3schools.com" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.w3schools.com note.xsd"><to>Tove</to> <from>Jani</from> <heading>Reminder</heading> <body>Don't forget me this weekend!</body></note>

XSD - <schema> 元素
w3pop.com / 2006-09-21

如何制定 XSD XSD Simple 元素

The <schema> element is the root element of every XML Schema.
<schema>元素是每個XML Schema文件的根元素。


The <schema> Element
<schema>元素

The <schema> element is the root element of every XML Schema:
<schema>元素是每份XML Schema文件的根元素。

<?xml version="1.0"?> <xs:schema> ... ... </xs:schema>

The <schema> element may contain some attributes. A schema declaration often looks something like this:
<schema>元素也可以含有一些屬性,一個schema聲明經常寫成這樣:

<?xml version="1.0"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.w3schools.com" xmlns="http://www.w3schools.com"elementFormDefault="qualified"> ... ... </xs:schema>

The following fragment:
看下面的片段:

xmlns:xs="http://www.w3.org/2001/XMLSchema"

indicates that the elements and data types used in the schema come from the "http://www.w3.org/2001/XMLSchema" namespace. It also specifies that the elements and data types that come from the "http://www.w3.org/2001/XMLSchema" namespace should be prefixed with xs:
指明了在schema中使用的元素和數據種類來自http://www.w3.org/2001/XMLSchema名稱空間(namespace)。它也指定了來自"http://www.w3.org/2001/XMLSchema"名稱空間(namespace)的元素和數據種類必須帶前綴“xs:”

This fragment:
這個片段:

targetNamespace="http://www.w3schools.com"

indicates that the elements defined by this schema (note, to, from, heading, body.) come from the "http://www.w3schools.com" namespace.
暗示了由這份schema(note, to, from, heading, body.)定義的元素來自"http://www.w3schools.com"名稱空間(namespace)

This fragment:
這個片段:

xmlns="http://www.w3schools.com"

indicates that the default namespace is http://www.w3schools.com.
指明了默認名稱空間(namespace)是http://www.w3schools.com.

This fragment:
這個片段

elementFormDefault="qualified"

indicates that any elements used by the XML instance document which were declared in this schema must be namespace qualified.
指明了由這份schema聲明的XML實例文檔里用到的任何元素,都必須是有效的名稱空間(namespace qualified)。


Referencing a Schema in an XML Document
在一份XML文檔里提到Schema

This XML document has a reference to an XML Schema:
一份XML文檔里提提到XML? Schiema

<?xml version="1.0"?> <note xmlns="http://www.w3schools.com" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://www.w3schools.com note.xsd"> <to>Tove</to> <from>Jani</from> <heading>Reminder</heading> <body>Don't forget me this weekend!</body></note>

The following fragment:
下面的片段:

xmlns="http://www.w3schools.com"

specifies the default namespace declaration. This declaration tells the schema-validator that all the elements used in this XML document are declared in the "http://www.w3schools.com" namespace.
指定了默認的名稱空間(default namespace)聲明。這個聲明告訴schema-檢驗器:這份XML文檔里用到的所有元素都在http://www.w3schools.com的名稱空間(namespace)中聲明過。

Once you have the XML Schema Instance namespace available:
一旦你有了可以利用的XML Schema Instance的名稱空間(namespace):

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

you can use the schemaLocation attribute. This attribute has two values. The first value is the namespace to use. The second value is the location of the XML schema to use for that namespace:
你可以用到SchemaLocation屬性。這個屬性有兩個值。第一個值是要用到的名稱空間(namespace)。第二個值是為名稱空間(namespace)指定了需要使用的XML schema的位置。

xsi:schemaLocation="http://www.w3schools.com note.xsd"

XSD Simple 元素
w3pop.com / 2006-09-21

XSD - <schema> 元素 XSD 屬性

XML Schemas define the elements of your XML files.
XML Schemas(XML公式)定義了XML文件的元素

A simple element is an XML element that contains only text. It cannot contain any other elements or attributes.
簡單元素是只含有文本的XML元素。它不可以含有其他元素或屬性


What is a Simple Element?
什么是簡單元素?

A simple element is an XML element that can contain only text. It cannot contain any other elements or attributes.
簡單元素是只含有文本的XML元素。它不可以含有其他元件或屬性

However, the "only text" restriction is quite misleading. The text can be of many different types. It can be one of the types included in the XML Schema definition (boolean, string, date, etc.), or it can be a custom type that you can define yourself.
但是,“只含文本”這個限定條件是非常容易引起誤解的,文本可以有很多的不同類型。它可以是XML Schema定義里的文本類型之一(邏輯值,字符串,日期,等等),也可以是自定義文本類型。

You can also add restrictions (facets) to a data type in order to limit its content, or you can require the data to match a specific pattern.
你可以通過給數據類型添加限定條件來限制它的內容,或者你可以要求數據與指定的式樣相匹配。


Defining a Simple Element
定義一個簡明元素

The syntax for defining a simple element is:
定義簡明元素的語法為:

<xs:element name="xxx" type="yyy"/>

where xxx is the name of the element and yyy is the data type of the element.
在這里, xxx是元素名稱,yyy是元素的數據類型

XML Schema has a lot of built-in data types. The most common types are:
XML Schema本身有很多數據種類。最常見的種類有:

  • xs:string
    xs:字符
  • xs:decimal
    xs: 小數
  • xs:integer
    xs:整數
  • xs:boolean
    xs:邏輯值
  • xs:date
    xs:日期
  • xs:time
    xs:時間

Example
例子

Here are some XML elements:
這里是一些XML元素

<lastname>Refsnes</lastname> <age>36</age> <dateborn>1970-03-27</dateborn>

And here are the corresponding simple element definitions:
下面是相應的簡單元素定義

<xs:element name="lastname" type="xs:string"/><xs:element name="age" type="xs:integer"/> <xs:element name="dateborn" type="xs:date"/>


Default and Fixed Values for Simple Elements
簡單元素的默認值和固定值

Simple elements may have a default value OR a fixed value specified.
簡單元素也許會有指定的默認值或固定值

A default value is automatically assigned to the element when no other value is specified.
值沒有被指定時,屬性自動會設置成默認值

In the following example the default value is "red":
下面例子里默認值是"red":

<xs:element name="color" type="xs:string" default="red"/>

A fixed value is also automatically assigned to the element, and you cannot specify another value.
固定值是也是自動分派給屬性的,并且,一旦有了固定值,你就不能指定其他值了。

In the following example the fixed value is "red":
下面例子里固定值是"red":

<xs:element name="color" type="xs:string" fixed="red"/>

XSD 屬性
w3pop.com / 2006-09-21

XSD Simple 元素 XSD Restrictions/Facets

All attributes are declared as simple types.
所有屬性都是以簡單類型來聲明的。


What is an Attribute?
屬性是什么?

Simple elements cannot have attributes. If an element has attributes, it is considered to be of a complex type. But the attribute itself is always declared as a simple type.
簡單的元素沒有屬性。當元素含有屬性時,它會被認為是復合元素。但屬性本身總是被聲明為簡單類型。


How to Define an Attribute?
怎么樣定義屬性?

The syntax for defining an attribute is:
定義一項屬性的語法是:

<xs:attribute name="xxx" type="yyy"/>

where xxx is the name of the attribute and yyy specifies the data type of the attribute.
其中,xxx是屬性的名稱,yyy指定了屬性的數據類型

XML Schema has a lot of built-in data types. The most common types are:
XML Schema本身有很多數據類型。最常見的數據類型有:

  • xs:string
    xs:字符串
  • xs:decimal
    xs:小數
  • xs:integer
    xs:整數
  • xs:boolean
    xs:邏輯值
  • xs:date
    xs:日期
  • xs:time
    xs:時間

Example
例子

Here is an XML element with an attribute:
這是一個有屬性的XML元素:

<lastname lang="EN">Smith</lastname>

And here is the corresponding attribute definition:
而這個相應的屬性定義:

<xs:attribute name="lang" type="xs:string"/>
?

Default and Fixed Values for Attributes
屬性的默認值和固定值

Attributes may have a default value OR a fixed value specified.
屬性也許有指定的默認值或固定值

A default value is automatically assigned to the attribute when no other value is specified.
值沒有被指定時,屬性自動會設成默認值

In the following example the default value is "EN":
下面例子里默認值是"EN":

<xs:attribute name="lang" type="xs:string" default="EN"/>

A fixed value is also automatically assigned to the attribute, and you cannot specify another value.
固定值是也是自動分派給屬性的,并且,一旦有了固定值,你就不能指定其他值了。

In the following example the fixed value is "EN":
下面例子里固定值是"EN":

<xs:attribute name="lang" type="xs:string" fixed="EN"/>


Optional and Required Attributes
任意屬性和必需屬性

Attributes are optional by default. To specify that the attribute is required, use the "use" attribute:
默認時屬性是任意的,要指明屬性是必需的,須用到"use"屬性

<xs:attribute name="lang" type="xs:string" use="required"/>


Restrictions on Content
對內容的約束

When an XML element or attribute has a data type defined, it puts restrictions on the element's or attribute's content.
當XML元素或屬性有了已定義的數據類型,元素或屬性的內容會有約束

If an XML element is of type "xs:date" and contains a string like "Hello World", the element will not validate.
如果一個XML元素是"xs:date"類型,并包含著象"Hello World"的字符串,元素就不會進行檢驗

With XML Schemas, you can also add your own restrictions to your XML elements and attributes. These restrictions are called facets.?You can read more about facets in the next chapter.
你也可以用XML Schema給XML元素和屬性添加約束限制。這些約束稱為“面(facet)”。在下章里你可以讀到更多關于“面”的內容

XSD Restrictions/Facets
w3pop.com / 2006-09-21

XSD 屬性 XSD Complex 元素

Restrictions are used to define acceptable values for XML elements or attributes. Restrictions on XML elements are called facets.
約束用于給XML元素或屬性定義可接受的值,關于對XML元素的約束稱之為“面(facet)”


Restrictions on Values
對單個值的約束

The following example defines an element called "age" with a restriction. The value of age cannot be lower than 0 or greater than 120:
下面的例子給叫做"age"的元件定義了一個“約束(restriction)”。“age”的值要大等于0,小等于120:

<xs:element name="age"> <xs:simpleType><xs:restriction base="xs:integer"><xs:minInclusive value="0"/><xs:maxInclusive value="120"/></xs:restriction> </xs:simpleType> </xs:element>


Restrictions on a Set of Values
對一組值的約束

To limit the content of an XML element to a set of acceptable values, we would use the enumeration constraint.
為了限制XML元素的內容得到一組符合條件的值,我們會用到“列舉約束(enumeration constraint)”。

The example below defines an element called "car" with a restriction. The only acceptable values are: Audi, Golf, BMW:
下面的例子給叫做"car"的元素定義了約束條件,符合條件的值有:Audi, Golf, BMW:

<xs:element name="car"> <xs:simpleType><xs:restriction base="xs:string"><xs:enumeration value="Audi"/><xs:enumeration value="Golf"/><xs:enumeration value="BMW"/></xs:restriction> </xs:simpleType> </xs:element>

The example above could also have been written like this:
上面的例子也可以寫成這樣:

<xs:element name="car" type="carType"/> <xs:simpleType name="carType"><xs:restriction base="xs:string"><xs:enumeration value="Audi"/><xs:enumeration value="Golf"/><xs:enumeration value="BMW"/></xs:restriction></xs:simpleType>

Note: In this case the type "carType" can be used by other elements because it is not a part of the "car" element.
注意:在這種情況下"carType"類型可以被其他元件所使用,因為它不是"car"元素的一部分


Restrictions on a Series of Values
對一系列值的約束

To limit the content of an XML element to define a series of numbers or letters that can be used, we would use the pattern constraint.
為了限制XML元件的內容以定義一系列可被使用的數字或字母,我們可以用“式樣約束(pattern constraints)”。

The example below defines an element called "letter" with a restriction. The only acceptable value is ONE of the LOWERCASE letters from a to z:
下面的例子給叫做"letter"的元素定義可約束。唯一符合條件的值是 a到z之間的一個小寫字母:

<xs:element name="letter"> <xs:simpleType><xs:restriction base="xs:string"><xs:pattern value="[a-z]"/></xs:restriction> </xs:simpleType> </xs:element>

The next example defines an element called "initials" with a restriction. The only acceptable value is THREE of the UPPERCASE letters from a to z:
接下來的例子給叫做"initials"的元素定義了一個約束。唯一符合條件的值是a到z之間的3個大寫字母

<xs:element name="initials"> <xs:simpleType><xs:restriction base="xs:string"><xs:pattern value="[A-Z][A-Z][A-Z]"/></xs:restriction> </xs:simpleType> </xs:element>

The next example also defines an element called "initials" with a restriction. The only acceptable value is THREE of the LOWERCASE OR UPPERCASE letters from a to z:
下面的例子給叫做"initials"的元素定義了一個約束。唯一符合條件的值是 a到z之間的三個大寫或小寫字母

<xs:element name="initials"> <xs:simpleType><xs:restriction base="xs:string"><xs:pattern value="[a-zA-Z][a-zA-Z][a-zA-Z]"/></xs:restriction> </xs:simpleType> </xs:element>

The next example defines an element called "choice" with a restriction. The only acceptable value is ONE of the following letters: x, y, OR z:
下面的例子給叫做"choice"的元素定義了一個約束,唯一符合條件的值是x,y,z三個字母中的任意一個

<xs:element name="choice"> <xs:simpleType><xs:restriction base="xs:string"><xs:pattern value="[xyz]"/></xs:restriction> </xs:simpleType> </xs:element>

The next example defines an element called "prodid" with a restriction. The only acceptable value is FIVE digits in a sequence, and each digit must be in a range from 0 to 9:
下面的例子給叫做"prodid"的元素定義了一個約束,唯一符合條件的值是0到9的5個阿拉伯數字的排列,

<xs:element name="prodid"> <xs:simpleType><xs:restriction base="xs:integer"><xs:pattern value="[0-9][0-9][0-9][0-9][0-9]"/></xs:restriction> </xs:simpleType> </xs:element>


Other Restrictions on a Series of Values
對一系列值的其他約束

The example below defines an element called "letter" with a restriction. The acceptable value is zero or more occurrences of lowercase letters from a to z:
下面的例子給叫做"letter"的元素定義了一個約束。唯一符合條件的值是a 到z的小寫字母(可以有多個)或0

<xs:element name="letter"> <xs:simpleType><xs:restriction base="xs:string"><xs:pattern value="([a-z])*"/></xs:restriction> </xs:simpleType> </xs:element>

The next example also defines an element called "letter" with a restriction. The acceptable value is one or more pairs of letters, each pair consisting of a lower case letter followed by an upper case letter. For example, "sToP" will be validated by this pattern, but not "Stop" or "STOP" or "stop":
下面的例子也給叫做"letter"的元素定義了一個約束。唯一符合條件的值是一對或多對字母,每對都是一個小寫字母后跟一個大寫字母組成。舉個例子,"sToP"在這種式樣里是有效正確的,但"Stop" ,"STOP" 或 "stop"就都不是了。

<xs:element name="letter"> <xs:simpleType><xs:restriction base="xs:string"><xs:pattern value="([a-z][A-Z])+"/></xs:restriction> </xs:simpleType> </xs:element>

The next example defines an element called "gender" with a restriction. The only acceptable value is male OR female:
下面的例子也給叫做"gender"的元素定義了一個約束。唯一符合的值是male (男性)或female(女性):

<xs:element name="gender"> <xs:simpleType><xs:restriction base="xs:string"><xs:pattern value="male|female"/></xs:restriction> </xs:simpleType> </xs:element>

The next example defines an element called "password" with a restriction. There must be exactly eight characters in a row and those characters must be lowercase or uppercase letters from a to z, or a number from 0 to 9:
下面的例子也給叫做"password"的元素定義了一個約束。一行里必須有8個字符,字符必須是a到z大或小寫字母,或者是0到9的數字

<xs:element name="password"> <xs:simpleType><xs:restriction base="xs:string"><xs:pattern value="[a-zA-Z0-9]{8}"/></xs:restriction> </xs:simpleType> </xs:element>


Restrictions on Whitespace Characters
對空白符的約束

To specify how whitespace characters should be handled, we would use the whiteSpace constraint.
為了指定空白符該怎樣被處理,我們可以用空白符約束

This example defines an element called "address" with a restriction. The whiteSpace constraint is set to "preserve", which means that the XML processor WILL NOT remove any white space characters:
下面的例子給叫做"address"的元素定義了一個約束。空白符設為"preserve"(保留),這意味著XML處理器不會刪除任何空白字符:

<xs:element name="address"> <xs:simpleType><xs:restriction base="xs:string"><xs:whiteSpace value="preserve"/></xs:restriction> </xs:simpleType> </xs:element>

This example also defines an element called "address" with a restriction. The whiteSpace constraint is set to "replace", which means that the XML processor WILL REPLACE all white space characters (line feeds, tabs, spaces, and carriage returns) with spaces:
下面的例子也給叫做"address"的元素定義了一個約束。空白符設為" replace "(替代),這意味著XML處理器會用空格替代所有的空白字符(換行符, 制表符, 空格符, 回車符))

<xs:element name="address"> <xs:simpleType><xs:restriction base="xs:string"><xs:whiteSpace value="replace"/></xs:restriction> </xs:simpleType> </xs:element>

This example also defines an element called "address" with a restriction. The whiteSpace constraint is set to "collapse", which means that the XML processor WILL REMOVE all white space characters (line feeds, tabs, spaces, carriage returns are replaced with spaces, leading and trailing spaces are removed, and multiple spaces are reduced to a single space):
下面的例子也給叫做"address"的元素定義了一個約束。空白符設為"collapse"(消除),這意味著XML處理器會清除所有的空白字符(換行符, 制表符, 空格符以及回車符都被空格符代替。頭尾空格會被清除,多個空格也會減少為一個)

<xs:element name="address"> <xs:simpleType><xs:restriction base="xs:string"><xs:whiteSpace value="collapse"/></xs:restriction> </xs:simpleType> </xs:element>


Restrictions on Length
對長度的約束

To limit the length of a value in an element, we would use the length, maxLength, and minLength constraints.
為了限制元素的長度值,我們會用length, maxLength, 和 minLength 約束。

This example defines an element called "password" with a restriction. The value must be exactly eight characters:
下面的例子給叫做"password"的元素定義了一個約束。值必須正好有8個字符:

<xs:element name="password"> <xs:simpleType><xs:restriction base="xs:string"><xs:length value="8"/></xs:restriction> </xs:simpleType> </xs:element>

This example defines another element called "password" with a restriction. The value must be minimum five characters and maximum eight characters:
下面的例子給叫做"password"的元素定義了一個約束。值最少要有5個字符,最多有8個字符。

<xs:element name="password"> <xs:simpleType><xs:restriction base="xs:string"><xs:minLength value="5"/><xs:maxLength value="8"/></xs:restriction> </xs:simpleType> </xs:element>


Restrictions for Datatypes
對數據類型的約束

Constraint
約束Description
說明
enumerationDefines a list of acceptable values
定義了一系列的有效值
fractionDigitsSpecifies the maximum number of decimal places allowed. Must be equal to or greater than zero
指定了允許的小數位數的最多位數。必須大于等于0
lengthSpecifies the exact number of characters or list items allowed. Must be equal to or greater than zero
指定了允許的字符或列表項的個數。必須大于等于0
maxExclusiveSpecifies the upper bounds for numeric values (the value must be less than this value)
指定了數值的上限(數值要比這個值小)
maxInclusiveSpecifies the upper bounds for numeric values (the value must be less than or equal to this value)
指定了數值上限(數值必須小于等于這個值)
maxLengthSpecifies the maximum number of characters or list items allowed. Must be equal to or greater than zero
指定了所允許的字符或列表項的最多個數。必須大于等于0
minExclusiveSpecifies the lower bounds for numeric values (the value must be greater than this value)
指定了數值的下限 (數值要比這個值小)
minInclusiveSpecifies the lower bounds for numeric values (the value must be greater than or equal to this value)
指定了數值的下限(數值必須大于等于這個值)
minLengthSpecifies the minimum number of characters or list items allowed. Must be equal to or greater than zero
指定了所允許的字符或列表的最少個數。必須等于大于0個
patternDefines the exact sequence of characters that are acceptable
定義了符合要求的字符的確切排列順序
totalDigitsSpecifies the exact number of digits allowed. Must be greater than zero
指定了所允許的字符的確切個數。必須大于0
whiteSpaceSpecifies how white space (line feeds, tabs, spaces, and carriage returns) is handled
指定了空白該怎樣被處理(換行符,制表符,空格符和回車符)

XSD Complex 元素
w3pop.com / 2006-09-21

XSD Restrictions/Facets XSD Complex 空元素

A complex element contains other elements and/or attributes.
一個復合元素(Complex Elements)包含其他元素和/或屬性


What is a Complex Element?
什么是復合元素(Complex Elements)?

A complex element is an XML element that contains other elements and/or attributes.
復合元素(Complex Elements)是含有其他元素和/或屬性的XML元素

There are four kinds of complex elements:
有四種復合元素(Complex Elements):

  • empty elements
    空元素
  • elements that contain only other elements
    只含有其他元素的元素
  • elements that contain only text
    只含有文本的元素
  • elements that contain both other elements and text
    含有文本和其他元素的元素

Note: Each of these elements may contain attributes as well!
注意:這些元素中的每一個也許還含有屬性!


Examples of Complex Elements
復合元素(Complex Elements)的例子

A complex XML element, "product", which is empty:
一個空的復合XML元素"product":

<product pid="1345"/>

A complex XML element, "employee", which contains only other elements:
只含有其他元素的復合XML元素, "employee"

<employee> <firstname>John</firstname> <lastname>Smith</lastname> </employee>

A complex XML element, "food", which contains only text:
只含有文本的復合XML元素, "food":

<food type="dessert">Ice cream</food>

A complex XML element, "description", which contains both elements and text:
含有元素和文本的復合XML元素, "description":

<description>It happened on <date lang="norwegian">03.03.99</date> .... </description>


How to Define a Complex Element
怎樣定義一個復合元素(Complex Elements)?

Look at this complex XML element, "employee", which contains only other elements:
看這個只含有其他元素的復合XML元素,"employee":

<employee> <firstname>John</firstname> <lastname>Smith</lastname></employee>

We can define a complex element in an XML Schema two different ways:
我們有兩種方法可以在一篇XML Schema里定義一個復合元素(Complex Elements):

1. The "employee" element can be declared directly by naming the element, like this:
1. "employee"元素可以直接通過命名元素的方式被聲明,像這樣:

<xs:element name="employee"><xs:complexType><xs:sequence><xs:element name="firstname" type="xs:string"/><xs:element name="lastname" type="xs:string"/></xs:sequence></xs:complexType> </xs:element>

If you use the method described above, only the "employee" element can use the specified complex type. Note that the child elements, "firstname" and "lastname", are surrounded by the <sequence> indicator. This means that the child elements must appear in the same order as they are declared. You will learn more about indicators in the XSD Indicators chapter.
如果你用了上面的方法,那么只有"employee"元素才可以用指定的復合類型。注意子元素"firstname" 和 "lastname",它們是被包圍在<sequence>“指示器”元素里的。這意味著子元素必須以它們被聲明的順序出現。在XSD指示器這章里你可以學到關于指示器更多內容。

2. The "employee" element can have a type attribute that refers to the name of the complex type to use:
2. "employee"元素可以有個類型屬性,其所指的是要用的復合類型的名稱

<xs:element name="employee" type="personinfo"/> <xs:complexType name="personinfo"><xs:sequence><xs:element name="firstname" type="xs:string"/><xs:element name="lastname" type="xs:string"/></xs:sequence> </xs:complexType>

If you use the method described above, several elements can refer to the same complex type, like this:
如果你用上述方法,幾個元素指的可以是相同的復合類型,就像這樣:

<xs:element name="employee" type="personinfo"/> <xs:element name="student" type="personinfo"/> <xs:element name="member" type="personinfo"/> <xs:complexType name="personinfo"><xs:sequence><xs:element name="firstname" type="xs:string"/><xs:element name="lastname" type="xs:string"/></xs:sequence> </xs:complexType>

You can also base a complex element on an existing complex element and add some elements, like this:
你也可以在現存的復合元素(Complex Elements)上再加上一個復合元素(Complex Elements),并添加一些元素,就像這樣:

<xs:element name="employee" type="fullpersoninfo"/> <xs:complexType name="personinfo"><xs:sequence><xs:element name="firstname" type="xs:string"/><xs:element name="lastname" type="xs:string"/></xs:sequence> </xs:complexType> <xs:complexType name="fullpersoninfo"><xs:complexContent><xs:extension base="personinfo"><xs:sequence><xs:element name="address" type="xs:string"/><xs:element name="city" type="xs:string"/><xs:element name="country" type="xs:string"/></xs:sequence></xs:extension></xs:complexContent> </xs:complexType>

XSD Complex 空元素
w3pop.com / 2006-09-21

XSD Complex 元素 XSD 復合類型 - 純元素

An empty complex element cannot have contents, only attributes.
一個空的復合元素不能含有內容,只能含有屬性。


Complex Empty Elements
復合空元素(Complex Empty Elements)

An empty XML element:
一個空的XML元素:

<product prodid="1345" />

The "product" element above has no content at all. To define a type with no content, we must define a type that allows only elements in its content, but we do not actually declare any elements, like this:
上述"product"元素完全不含內容。為定義不含內容的類型,我們必須定義一個內容中只允許出現元素的類型,但我們不需要聲明任何元素,就像這樣:

<xs:element name="product"><xs:complexType><xs:complexContent><xs:restriction base="xs:integer"><xs:attribute name="prodid" type="xs:positiveInteger"/></xs:restriction></xs:complexContent></xs:complexType> </xs:element>

In the example above, we define a complex type with a complex content. The complexContent element signals that we intend to restrict or extend the content model of a complex type, and the restriction of integer declares one attribute but does not introduce any element content.
上述例子中,我們定義了一個有復合內容的復合類型。復合內容的元素表示了我們想要約束或擴充的復合類型的內容模式。對整數的約束聲明了一個屬性,但并沒有介紹任何元素內容。

However, it is possible to declare the "product" element more compactly, like this:
但是,可以更加簡潔地聲明"product"元素,就像這樣:

<xs:element name="product"><xs:complexType><xs:attribute name="prodid" type="xs:positiveInteger"/></xs:complexType> </xs:element>

Or you can give the complexType element a name, and let the "product" element have a type attribute that refers to the name of the complexType (if you use this method, several elements can refer to the same complex type):
或者你可以給complexType元素起個名稱,并讓"product"元素有個類型屬性,而且類型屬性引用的是complexType的名稱(如果你用這個方法,幾個元素可以引用相同的復合類型):

<xs:element name="product" type="prodtype"/> <xs:complexType name="prodtype"><xs:attribute name="prodid" type="xs:positiveInteger"/> </xs:complexType>

XSD 復合類型 - 純元素
w3pop.com / 2006-09-21

XSD Complex 空元素 XSD 復合文字 - 純元素

An "elements-only" complex type contains an element that contains only other elements.
“只有元素(Elements-only)”復合類型含有一個只包含其他元素的元素


Complex Types Containing Elements Only
復合類型只含有元素

An XML element, "person", that contains only other elements:
一個XML元素, "person",只含有其他元素:

<person> <firstname>John</firstname> <lastname>Smith</lastname> </person>

You can define the "person" element in a schema, like this:
你可以在一篇schema里定義"person"元素,就像這樣

<xs:element name="person"><xs:complexType><xs:sequence><xs:element name="firstname" type="xs:string"/><xs:element name="lastname" type="xs:string"/></xs:sequence></xs:complexType> </xs:element>

Notice the <xs:sequence> tag. It means that the elements defined ("firstname" and "lastname") must appear in that order inside a "person" element.
注意<xs:sequence>標簽。這表示所定義的元素("firstname" 和 "lastname")必須在"person"元素里以那樣的次序出現。

Or you can give the complexType element a name, and let the "person" element have a type attribute that refers to the name of the complexType (if you use this method, several elements can refer to the same complex type):
或者你可以給complexType元素取個名字,讓"person"元素有個類型屬性,這個類型屬性的名字可以參考使用complexType元素的名字(如果你用這個方法,幾個元素可以同時參考使用相同的復合類型)。

<xs:element name="person" type="persontype"/> <xs:complexType name="persontype"><xs:sequence><xs:element name="firstname" type="xs:string"/><xs:element name="lastname" type="xs:string"/></xs:sequence> </xs:complexType>

XSD 復合文字 - 純元素
w3pop.com / 2006-09-21

XSD 復合類型 - 純元素 XSD 混合內容的復合類型

A complex text-only element can contain text and attributes.
一個復合只含文本元素(Complex Text-Only Elements)可以含有文本和屬性。


Complex Text-Only Elements
復合只含文本元素(Complex Text-Only Elements)

This type contains only simple content (text and attributes), therefore we add a simpleContent element around the content. When using simple content, you must define an extension OR a restriction within the simpleContent element, like this:
這種類型只含有簡單內容(文本和屬性),因此我們在內容周圍添加一個simpleContent元素,當用到簡單內容時,你必須在simpleContent元素里定義一個擴展或約束,就像這樣:

<xs:element name="somename"><xs:complexType><xs:simpleContent><xs:extension base="basetype">........</xs:extension> </xs:simpleContent></xs:complexType></xs:element>

OR

<xs:element name="somename"><xs:complexType><xs:simpleContent><xs:restriction base="basetype">........</xs:restriction> </xs:simpleContent></xs:complexType> </xs:element>

Tip: Use the extension/restriction element to expand or to limit the base simple type for the element.
提示:用extension/restriction元素擴展或限制元素的基本簡單類型(base simple type)。

Here is an example of an XML element, "shoesize", that contains text-only:
這兒是只含有文本的一個XML元素, "shoesize":

<shoesize country="france">35</shoesize>

The following example declares a complexType, "shoesize". The content is defined as an integer value, and the "shoesize" element also contains an attribute named "country":
下面的例子聲明了一個復合類型,"shoesize"元素。內容定義為整數值,"shoesize"元件含有名為"country"的屬性。

<xs:element name="shoesize"><xs:complexType><xs:simpleContent><xs:extension base="xs:integer"><xs:attribute name="country" type="xs:string" /></xs:extension></xs:simpleContent></xs:complexType> </xs:element>

We could also give the complexType element a name, and let the "shoesize" element have a type attribute that refers to the name of the complexType (if you use this method, several elements can refer to the same complex type):
我們可以給complexType元件起個名字,讓"shoesize"元件有種類屬性,種類屬性的名字就是complexType元件的名字。(如果你用這種方法,幾個元素指的可以是相同的復合類型)

<xs:element name="shoesize" type="shoetype"/> <xs:complexType name="shoetype"><xs:simpleContent><xs:extension base="xs:integer"><xs:attribute name="country" type="xs:string" /></xs:extension></xs:simpleContent> </xs:complexType>

XSD 混合內容的復合類型
w3pop.com / 2006-09-21

XSD 復合文字 - 純元素 XSD 指示器復合類型

A mixed complex type element can contain attributes, elements, and text.
混合內容的復合類型元素(XSD Complex Types Element With Mixed Content )可以含有屬性,元素,和文本。


Complex Types with Mixed Content
混合內容的復合類型

An XML element, "letter", that contains both text and other elements:
一個XML元素,"letter",既含有文本又含有其他元素:

<letter> Dear Mr.<name>John Smith</name>. Your order <orderid>1032</orderid> will be shipped on <shipdate>2001-07-13</shipdate>.</letter>

The following schema declares the "letter" element:
下面的XML公式聲明了"letter"元素:

<xs:element name="letter"><xs:complexType mixed="true"><xs:sequence><xs:element name="name" type="xs:string"/><xs:element name="orderid" type="xs:positiveInteger"/><xs:element name="shipdate" type="xs:date"/></xs:sequence></xs:complexType> </xs:element>

Note: To enable character data to appear between the child-elements of "letter", the mixed attribute must be set to "true". The <xs:sequence> tag means that the elements defined (name, orderid and shipdate) must appear in that order inside a "letter" element.
注意:為了使字符數據能出現在"letter"子元件之間,mixed屬性必須設置為"true"。<xs:sequence>標簽指出了已定義的元素(name, orderid 和shipdate)在"letter"元素里必須以指定的順序出現

We could also give the complexType element a name, and let the "letter" element have a type attribute that refers to the name of the complexType (if you use this method, several elements can refer to the same complex type):
我們可以給這個complexType元素一個名稱,并且讓"letter"元素有一個引用了complexType的名稱的種類屬性(如果你用了這個方法,幾個元素可以同時使用相同的復合類型):

<xs:element name="letter" type="lettertype"/> <xs:complexType name="lettertype" mixed="true"><xs:sequence><xs:element name="name" type="xs:string"/><xs:element name="orderid" type="xs:positiveInteger"/><xs:element name="shipdate" type="xs:date"/></xs:sequence></xs:complexType>

XSD 指示器復合類型
w3pop.com / 2006-09-21

XSD 混合內容的復合類型 XSD <any> 元素

We can control HOW elements are to be used in documents with indicators.
用指示器(Indicators)我們可以控制文件中元素的使用方法(HOW TO USE)。


Indicators
指示器(Indicators)

There are seven indicators:
有7種指示器(Indicators)

Order indicators:
順序指示器(Indicators)

  • All
    全部
  • Choice
    選擇
  • Sequence
    按順序

Occurrence indicators:
出現次數指示器(Indicators):

  • maxOccurs
    最多出現次數
  • minOccurs
    最少出現次數

Group indicators:
組指示器(Indicators):

  • Group name
    組名
  • attributeGroup name
    屬性組名稱

Order Indicators
順序指示器(Indicators)

Order indicators are used to define the order of the elements.
順序指示器(Indicators)用于指定元素的順序。

All Indicator
全部指示器(Indicators)

The <all> indicator specifies that the child elements can appear in any order, and that each child element must occur only once:
<all>指示器(Indicators)指明了子元件可以以任何次序出現,并且每個子元件只能出現一次:

<xs:element name="person"><xs:complexType><xs:all><xs:element name="firstname" type="xs:string"/><xs:element name="lastname" type="xs:string"/></xs:all></xs:complexType> </xs:element>

Note: When using the <all> indicator you can set the <minOccurs> indicator to 0 or 1 and the <maxOccurs> indicator can only be set to 1 (the <minOccurs> and <maxOccurs> are described later).
注意:用<all>指示器(Indicators)時你可以把<minOccurs>指示器(Indicators)設為0或1,<maxOccurs>指示器(Indicators)只能設為1(<minOccurs> 和 <maxOccurs> 我們后頭再說)

Choice Indicator
選擇指示器(Indicators)

The <choice> indicator specifies that either one child element or another can occur:
<choice>指示器(Indicators)指明了隨便的子元素都可以出現:

<xs:element name="person"><xs:complexType><xs:choice><xs:element name="employee" type="employee"/><xs:element name="member" type="member"/></xs:choice></xs:complexType> </xs:element>

Sequence Indicator
有序指示器(Indicators)

The <sequence> indicator specifies that the child elements must appear in a specific order:
<sequence>指示器(Indicators)指定了子元素必須以一個指明的順序出現:

<xs:element name="person"><xs:complexType><xs:sequence><xs:element name="firstname" type="xs:string"/><xs:element name="lastname" type="xs:string"/></xs:sequence></xs:complexType> </xs:element>


Occurrence Indicators
出現次數指示器(Indicators)

Occurrence indicators are used to define how often an element can occur.
出現次數指示器(Indicators)用于定義一個元素可以出現的次數

Note: For all "Order" and "Group" indicators (any, all, choice, sequence, group name, and group reference) the default value for maxOccurs and minOccurs is 1.
注意:對所有的"Order"和"Group"指示器(Indicators)(any, all, choice, sequence,group name, 和 group reference)來說,maxOccurs 和 minOccurs的默認值都是1

maxOccurs Indicator
最多出現次數指示器(Indicators)

The <maxOccurs> indicator specifies the maximum number of times an element can occur:
最多出現次數指示器(Indicators)指明了一個元素可以出現的最多次數:

<xs:element name="person"><xs:complexType><xs:sequence><xs:element name="full_name" type="xs:string"/><xs:element name="child_name" type="xs:string" maxOccurs="10"/></xs:sequence></xs:complexType> </xs:element>

The example above indicates that the "child_name" element can occur a minimum of one time (the default value for minOccurs is 1) and a maximum of ten times in the "person" element.
上面的例子指明了"child_name"元素在"person"元素里最少出現1次(minOccurs的默認值為1),最多出現10次

minOccurs Indicator
最少出現次數指示器(Indicators)

The <minOccurs> indicator specifies the minimum number of times an element can occur:
最少出現次數指示器(Indicators)指明了一個元素要出現的最小次數:

<xs:element name="person"><xs:complexType><xs:sequence><xs:element name="full_name" type="xs:string"/><xs:element name="child_name" type="xs:string"maxOccurs="10" minOccurs="0"/></xs:sequence></xs:complexType> </xs:element>

The example above indicates that the "child_name" element can occur a minimum of zero times and a maximum of ten times in the "person" element.
上面的例子指明了"child_name"元素在"person"元素里最少出現0次(minOccurs的默認值為1),最多出現10次

Tip: To allow an element to appear an unlimited number of times, use the maxOccurs="unbounded" statement:
提示:為使元件可以重復出現無數次,可以設置maxOccurs="unbounded"的狀態

A working example:
實際作用例子:

An XML file called "Myfamily.xml":
名為"Myfamily.xml"的XML文件:

<?xml version="1.0" encoding="ISO-8859-1"?> <persons xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:noNamespaceSchemaLocation="family.xsd"> <person> <full_name>Hege Refsnes</full_name> <child_name>Cecilie</child_name> </person> <person><full_name>Tove Refsnes</full_name> <child_name>Hege</child_name> <child_name>Stale</child_name> <child_name>Jim</child_name> <child_name>Borge</child_name></person> <person> <full_name>Stale Refsnes</full_name> </person> </persons>

The XML file above contains a root element named "persons". Inside this root element we have defined three "person" elements. Each "person" element must contain a "full_name" element and it can contain up to five "child_name" elements.
上面XML文件含有一個名為"persons"的根元素,這個根元素里面里我們已經定義了3個"person"元素。每個"person"元素必須含有一個"full_name"元素,而且最多可有5個"child_name"元素。

Here is the schema file "family.xsd":
下面是名為"family.xsd"的schema文件:

<?xml version="1.0" encoding="ISO-8859-1"?><xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified"> <xs:element name="persons"><xs:complexType><xs:sequence><xs:element name="person" maxOccurs="unbounded"><xs:complexType><xs:sequence><xs:element name="full_name" type="xs:string"/><xs:element name="child_name" type="xs:string"minOccurs="0" maxOccurs="5"/></xs:sequence></xs:complexType></xs:element></xs:sequence></xs:complexType> </xs:element> </xs:schema>


Group Indicators
組指示器(Indicators)

Group indicators are used to define related sets of elements.
組指示器(Indicators)用于定義相關的元素組。

Element Groups
元素組

Element groups are defined with the group declaration, like this:
元素組要定義組聲明,像這樣:

<xs:group name="groupname">... </xs:group>

You must define an all, choice, or sequence element inside the group declaration. The following example defines a group named "persongroup", that defines a group of elements that must occur in an exact sequence:
你必須在組聲明里定義一個all, choice,或sequence元素。下面的例子定義了一個名為"persongroup"的組,這個定義了一組元素必須以一定順序出現:

<xs:group name="persongroup"><xs:sequence><xs:element name="firstname" type="xs:string"/><xs:element name="lastname" type="xs:string"/><xs:element name="birthday" type="xs:date"/></xs:sequence></xs:group>

After you have defined a group, you can reference it in another definition, like this:
定義了一個組后,你可以在另一個組參考它,像這樣:

<xs:group name="persongroup"><xs:sequence><xs:element name="firstname" type="xs:string"/><xs:element name="lastname" type="xs:string"/><xs:element name="birthday" type="xs:date"/></xs:sequence> </xs:group> <xs:element name="person" type="personinfo"/> <xs:complexType name="personinfo"><xs:sequence><xs:group ref="persongroup"/><xs:element name="country" type="xs:string"/></xs:sequence> </xs:complexType>

Attribute Groups
屬性組

Attribute groups are defined with the attributeGroup declaration, like this:
屬性組定義有attributeGroup(屬性組)聲明,像這樣:

<xs:attributeGroup name="groupname">... </xs:attributeGroup>

The following example defines an attribute group named "personattrgroup":
下面的例子定義了叫做"personattrgroup"的一個屬性組:

<xs:attributeGroup name="personattrgroup"><xs:attribute name="firstname" type="xs:string"/><xs:attribute name="lastname" type="xs:string"/><xs:attribute name="birthday" type="xs:date"/> </xs:attributeGroup>

After you have defined an attribute group, you can reference it in another definition, like this:
定義了一個屬性組之后,你可以在別的定義里參考它,像這樣:

<xs:attributeGroup name="personattrgroup"><xs:attribute name="firstname" type="xs:string"/><xs:attribute name="lastname" type="xs:string"/><xs:attribute name="birthday" type="xs:date"/></xs:attributeGroup> <xs:element name="person"><xs:complexType><xs:attributeGroup ref="personattrgroup"/></xs:complexType></xs:element>

XSD <any> 元素
w3pop.com / 2006-09-21

XSD 指示器復合類型 XSD <anyAttribute> 元素

The <any> element enables us to extend the XML document with elements not specified by the schema!
<any>元素可以使我們在XML文檔中添加沒有被schema 定義過的新元素從而擴充XML文檔。


The <any> Element
<any>元素

The <any> element enables us to extend the XML document with elements not specified by the schema.
<any>元素可以使我們在XML文檔中添加沒有被schema 定義過的新元素從而擴充XML文檔。

The following example is a fragment from an XML schema called "family.xsd". It shows a declaration for the "person" element. By using the <any> element we can extend (after <lastname>) the content of "person" with any element:
下面的例子是名為"family.xsd"的一份XML schema片段。它展示了"person"元素的聲明。用上<any>元素,我們可以在"person"元素的內容里擴充任意元素(在<lastname>的后面)

<xs:element name="person"><xs:complexType><xs:sequence><xs:element name="firstname" type="xs:string"/><xs:element name="lastname" type="xs:string"/><xs:any minOccurs="0"/></xs:sequence></xs:complexType></xs:element>

Now we want to extend the "person" element with a "children" element. In this case we can do so, even if the author of the schema above never declared any "children" element.
現在我們想在"person"元素中添加"children"元素,即使這篇schema的作者從未聲明過什么"children"元素,我們也可以做到。

Look at this schema file, called "children.xsd":
請看下面名為"children.xsd"的schema文件:

<?xml version="1.0" encoding="ISO-8859-1"?><xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.w3schools.com" xmlns="http://www.w3schools.com" elementFormDefault="qualified"> <xs:element name="children"><xs:complexType><xs:sequence><xs:element name="childname" type="xs:string"maxOccurs="unbounded"/></xs:sequence></xs:complexType> </xs:element> </xs:schema>

The XML file below (called "Myfamily.xml"), uses components from two different schemas; "family.xsd" and "children.xsd":
下面的XML文件(叫做"Myfamily.xml"),用上了來自"family.xsd" 和"children.xsd"兩篇不同schema的組件

<?xml version="1.0" encoding="ISO-8859-1"?> <persons xmlns="http://www.microsoft.com"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:SchemaLocation="http://www.microsoft.com family.xsd http://www.w3schools.com children.xsd"> <person> <firstname>Hege</firstname> <lastname>Refsnes</lastname><children><childname>Cecilie</childname> </children> </person> <person> <firstname>Stale</firstname><lastname>Refsnes</lastname> </person> </persons>

The XML file above is valid because the schema "family.xsd" allows us to extend the "person" element with an optional element after the "lastname" element.
上述XML文件是有效的,因為"family.xsd" schema允許我們在"person"元素里的"lastname"元素后面擴充一個任意元素。

The <any> and <anyAttribute> elements are used to make EXTENSIBLE documents! They allow documents to contain additional elements that are not declared in the main XML schema.
<any> 和<anyAttribute>元素是用于制造可擴展文檔的!它們允許文檔含有沒有在主要XML schema里聲明過的其它新元素。

XSD <anyAttribute> 元素
w3pop.com / 2006-09-21

XSD <any> 元素 XSD 元素替代

The <anyAttribute> element enables us to extend the XML document with attributes not specified by the schema!
<anyAttribute>元素可使我們在XML文檔中添加未被schema指定過的屬性


The <anyAttribute> Element
<anyAttribute>元素

The <anyAttribute> element enables us to extend the XML document with attributes not specified by the schema.
<anyAttribute>元素可使我們在XML文檔中添加未被schema指定過的屬性

The following example is a fragment from an XML schema called "family.xsd". It shows a declaration for the "person" element. By using the <anyAttribute> element we can add any number of attributes to the "person" element:
下面是名為"family.xsd"的XML schema片段。它顯示了"person"元素的聲明。通過使用<anyAttribute>元素我們可以給"person"元素添加任意數量的屬性。

<xs:element name="person"><xs:complexType><xs:sequence><xs:element name="firstname" type="xs:string"/><xs:element name="lastname" type="xs:string"/></xs:sequence><xs:anyAttribute/></xs:complexType></xs:element>

Now we want to extend the "person" element with a "gender" attribute. In this case we can do so, even if the author of the schema above never declared any "gender" attribute.
現在我們想在"person"元素中添加"gender"屬性,即使這篇schema的作者從未聲明過什么"gender"屬性,我們也可以做到。

Look at this schema file, called "attribute.xsd":
請看下面名為"attribute.xsd"的schema文件:

<?xml version="1.0" encoding="ISO-8859-1"?><xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.w3schools.com" xmlns="http://www.w3schools.com" elementFormDefault="qualified"> <xs:attribute name="gender"><xs:simpleType><xs:restriction base="xs:string"><xs:pattern value="male|female"/></xs:restriction></xs:simpleType> </xs:attribute> </xs:schema>

The XML file below (called "Myfamily.xml"), uses components from two different schemas; "family.xsd" and "attribute.xsd":
下面的XML文件(叫做"Myfamily.xml"),用上了來自"family.xsd" 和"attribute.xsd"兩篇不同的schema組件。

<?xml version="1.0" encoding="ISO-8859-1"?> <persons xmlns="http://www.microsoft.com"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:SchemaLocation="http://www.microsoft.com family.xsd http://www.w3schools.com attribute.xsd"> <person gender="female"> <firstname>Hege</firstname> <lastname>Refsnes</lastname></person> <person gender="male"> <firstname>Stale</firstname> <lastname>Refsnes</lastname> </person> </persons>

The XML file above is valid because the schema "family.xsd" allows us to add an attribute to the "person" element.
上述XML文件是有效的,因為"family.xsd" schema允許我們在"person"元素里添加屬性

The <any> and <anyAttribute> elements are used to make EXTENSIBLE documents! They allow documents to contain additional elements that are not declared in the main XML schema.
<any> 和<anyAttribute>元素是用于擴展文檔的!它們允許文檔含有沒有在主要XML schema里聲明過的其它新元素。

XSD 元素替代
w3pop.com / 2006-09-21

XSD <anyAttribute> 元素 XSD 實例

With XML Schemas, one element can substitute another element.
用XML Schema,一個元素可替代另一元素。


Element Substitution
元素替代(Element Substitution)

Let's say that we have users from two different countries: England and Norway. We would like the ability to let the user choose whether he or she would like to use the Norwegian element names or the English element names in the XML document.
假設有兩個分別來自英國和挪威的使用者,我們很希望有能力能讓他或她進行選擇,在XML文檔里的元素名稱中選擇他們所擅長的語言,是英文呢?還是挪威文呢?

To solve this problem, we could define a substitutionGroup in the XML schema. First, we declare a head element and then we declare the other elements which state that they are substitutable for the head element.
為解決這個問題,我們在XML schema里定義了替代組。首先,我們聲明了一個標題元素,接著,我們聲明已說明可替代標題元素的其他元素

<xs:element name="name" type="xs:string"/> <xs:element name="navn" substitutionGroup="name"/>

In the example above, the "name" element is the head element and the "navn" element is substitutable for "name".
在上面的例子里,"name"元素是標題元素,"navn"元素可以替代"name"。

Look at this fragment of an XML schema:
看下面的XML schema片段:

<xs:element name="name" type="xs:string"/> <xs:element name="navn" substitutionGroup="name"/> <xs:complexType name="custinfo"><xs:sequence><xs:element ref="name"/></xs:sequence> </xs:complexType> <xs:element name="customer" type="custinfo"/> <xs:element name="kunde" substitutionGroup="customer"/>

A valid XML document (according to the schema above) could look like this:
一份有效 的XML文檔(根據上述schema的XML文檔)應該像這樣:

<customer><name>John Smith</name></customer>

or like this:
或者像這樣:

<kunde><navn>John Smith</navn> </kunde>


Blocking Element Substitution
關閉元素替代(Element Substitution)

To prevent other elements from substituting with a specified element, use the block attribute:
為了防止其他元素被已指定的元素替代(Element Substitution),可以用block屬性:

<xs:element name="name" type="xs:string" block="substitution"/>

Look at this fragment of an XML schema:
看這段XML schema片段:

<xs:element name="name" type="xs:string" block="substitution"/><xs:element name="navn" substitutionGroup="name"/> <xs:complexType name="custinfo"><xs:sequence><xs:element ref="name"/></xs:sequence> </xs:complexType> <xs:element name="customer" type="custinfo" block="substitution"/> <xs:element name="kunde" substitutionGroup="customer"/>

A valid XML document (according to the schema above) looks like this:
一份有效的XML文檔(根據上述的schema的XML文檔)應該像這樣:

<customer><name>John Smith</name> </customer>

BUT THIS IS NO LONGER VALID:
但是這樣就不再有效了

<kunde><navn>John Smith</navn> </kunde>


Using substitutionGroup
使用替代組(substitutionGroup)

The type of the substitutable elements must be the same as, or derived from, the type of the head element. If the type of the substitutable element is the same as the type of the head element you will not have to specify the type of the substitutable element.
可替代元素類型應和標題元素的類型相同,或是從中派生出來的。如果可替代元素類型和標題元素的類型相同,你就不需要再指明可替代元素的類型了

Note that all elements in the substitutionGroup (the head element and the substitutable elements) must be declared as global elements, otherwise it will not work!
注意在可替代元素組里的所有元素(標題元素和可替代元素)必須聲明為“全域元素(global element)”,否則它是不會作用的!


What are Global Elements?
什么是“全域元素”?

Global elements are elements that are immediate children of the "schema" element! Local elements are elements nested within other elements.
“全域元素”是"schema"元素下面的直接子元素。“本地元素”是嵌套在別的元素里的元素。

XSD 實例
w3pop.com / 2006-09-21

XSD 元素替代 XSD 字符串數據類型

This chapter will demonstrate how to write an XML Schema. You will also learn that a schema can be written in different ways.
這章將示范如何寫一份XML Schema.你也會了解到可以使用不同的方法書寫schema。


An XML Document
一份XML文檔

Let's have a look at this XML document called "shiporder.xml":
讓我們看這份名為"shiporder.xml"的XML文檔

<?xml version="1.0" encoding="ISO-8859-1"?> <shiporder orderid="889923" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:noNamespaceSchemaLocation="shiporder.xsd"><orderperson>John Smith</orderperson><shipto><name>Ola Nordmann</name><address>Langgt 23</address><city>4000 Stavanger</city><country>Norway</country></shipto><item><title>Empire Burlesque</title><note>Special Edition</note><quantity>1</quantity><price>10.90</price></item><item><title>Hide your heart</title><quantity>1</quantity><price>9.90</price></item> </shiporder>

The XML document above consists of a root element, "shiporder", that contains a required attribute called "orderid". The "shiporder" element contains three different child elements: "orderperson", "shipto" and "item". The "item" element appears twice, and it contains a "title", an optional "note" element, a "quantity", and a "price" element.
上述XML文檔有根目錄元素"shiporder",它有個必需的屬性叫做"orderid","shiporder"元素包含了三個不同的子元素:"orderperson", "shipto" 和 "item"."item"元素出現了兩次,它包含了一個"title"元素,一個任意的"note"元素,一個"quantity"元素和一個"price"元素。

The line above: xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" tells the XML parser that this document should be validated against a schema. The line:
xsi:noNamespaceSchemaLocation="shiporder.xsd" specifies WHERE the schema resides (here it is in the same folder as "shiporder.xml").
上面的一行xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance",告訴了XML解析器這個文檔應該被一份schema檢驗。xsi:noNamespaceSchemaLocation="shiporder.xsd"指定了schema應該所在位置(這里它以"shiporder.xml"文件待在相同的文件夾里)。


Create an XML Schema
創建一篇XML Schema

Now we want to create a schema for the XML document above.
現在我們想要為上面的XML文檔創建一份schema

We start by opening a new file that we will call "shiporder.xsd". To create the schema we could simply follow the structure in the XML document and define each element as we find it. We will start with the standard XML declaration followed by the xs:schema element that defines a schema:
開始先打開叫做"shiporder.xsd"的新文件。為創建新的schema,我們可以簡單地按照XML文檔的結構,每當發現一個元素時就進行定義。一開始先作標準的XML聲明,接下來是定義了schema的xs:schema元素:

<?xml version="1.0" encoding="ISO-8859-1" ?><xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"> ... ...</xs:schema>

In the schema above we use the standard namespace (xs), and the URI associated with this namespace is the Schema language definition, which has the standard value of http://www.w3.org/2001/XMLSchema.
在上述schema里我們用了標準的名稱空間(xs),并且和這個名稱空間相聯系的URI是Schema語言定義,它有個標準值http://www.w3.org/2001/XMLSchema.

Next, we have to define the "shiporder" element. This element has an attribute and it contains other elements, therefore we consider it as a complex type. The child elements of the "shiporder" element is surrounded by a xs:sequence element that defines an ordered sequence of sub elements:
接下來,我們必須定義"shiporder”元素。這個元素有個屬性,并包含著其他的元素,因此我們把它看成是復合類型。"shiporder"元素的子元素由xs:sequence元素包圍著,xs:sequence元素定義了子元素一定順序的排列。

<xs:element name="shiporder"><xs:complexType><xs:sequence>......</xs:sequence>...</xs:complexType> </xs:element>

Then we have to define the "orderperson" element as a simple type (because it does not contain any attributes or other elements). The type (xs:string) is prefixed with the namespace prefix associated with XML Schema that indicates a predefined schema data type:
那么我們必須將"orderperson"元件定義為簡單類型(因為它不含有任何屬性或其它元素)。種類用名稱空間(namespace)的前綴使用與XML Schema相關的名稱空間前綴化,這里的XML Schema指明了一個前綴的Schema數據類型。

<xs:element name="orderperson" type="xs:string"/>

Next, we have to define two elements that are of the complex type: "shipto" and "item". We start by defining the "shipto" element:
接下來,我們必須定義兩個復合類型的元素,"shipto" 和 "item"。先由定義"shipto"元素開始:

<xs:element name="shipto"><xs:complexType><xs:sequence><xs:element name="name" type="xs:string"/><xs:element name="address" type="xs:string"/><xs:element name="city" type="xs:string"/><xs:element name="country" type="xs:string"/></xs:sequence></xs:complexType> </xs:element>

With schemas we can define the number of possible occurrences for an element with the maxOccurs and minOccurs attributes. maxOccurs specifies the maximum number of occurrences for an element and minOccurs specifies the minimum number of occurrences for an element. The default value for both maxOccurs and minOccurs is 1!
用schema,我們可以用maxOccurs(最多出現次數)和minOccurs(最少出現次數)屬性來定義一個元素的可能出現次數。maxOccurs指定了一個元素的最多出現次數,minOccurs指定了一個元素的最少出現次數。maxOccurs
和minOccurs的默認值都是1。

Now we can define the "item" element. This element can appear multiple times inside a "shiporder" element. This is specified by setting the maxOccurs attribute of the "item" element to "unbounded" which means that there can be as many occurrences of the "item" element as the author wishes. Notice that the "note" element is optional. We have specified this by setting the minOccurs attribute to zero:
現在我們可以來定義"item"元素,這個元素可以在"shiporder"元素里重復出現。這可以通過設置"item"元素的maxOccurs屬性為"unbounded"實現,屬性為"unbounded"意味著"item"元素可以根據編者意愿重復出現多次。要注意"note"元素是任意的,我們可以通過設置minOccurs屬性為0來實現。

<xs:element name="item" maxOccurs="unbounded"><xs:complexType><xs:sequence><xs:element name="title" type="xs:string"/><xs:element name="note" type="xs:string" minOccurs="0"/><xs:element name="quantity" type="xs:positiveInteger"/><xs:element name="price" type="xs:decimal"/></xs:sequence></xs:complexType> </xs:element>

We can now declare the attribute of the "shiporder" element. Since this is a required attribute we specify use="required".
我們現在可以聲明"shiporder"元素的屬性了。因為這是項必須屬性,我們可以指定:use="required"。

Note: The attribute declarations must always come last:
注意:屬性聲明必須總是放在最后

<xs:attribute name="orderid" type="xs:string" use="required"/>

Here is the complete listing of the schema file called "shiporder.xsd":
下面是"shiporder.xsd" schema文件的完整例子:

<?xml version="1.0" encoding="ISO-8859-1" ?><xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"> <xs:element name="shiporder"><xs:complexType><xs:sequence><xs:element name="orderperson" type="xs:string"/><xs:element name="shipto"><xs:complexType><xs:sequence><xs:element name="name" type="xs:string"/><xs:element name="address" type="xs:string"/><xs:element name="city" type="xs:string"/><xs:element name="country" type="xs:string"/></xs:sequence></xs:complexType></xs:element><xs:element name="item" maxOccurs="unbounded"><xs:complexType><xs:sequence><xs:element name="title" type="xs:string"/><xs:element name="note" type="xs:string" minOccurs="0"/><xs:element name="quantity" type="xs:positiveInteger"/><xs:element name="price" type="xs:decimal"/></xs:sequence></xs:complexType></xs:element></xs:sequence><xs:attribute name="orderid" type="xs:string" use="required"/></xs:complexType> </xs:element> </xs:schema>


Divide the Schema
劃分Schema

The previous design method is very simple, but can be difficult to read and maintain when documents are complex.
上面的設計方法非常簡單,但因為文件是復合(或復雜的,Complex)的,所以難于閱讀和利用。

The next design method is based on defining all elements and attributes first, and then referring to them using the ref attribute.
下面的設計方法是:先定義所有的元素和屬性,然后用ref屬性引用它們。

Here is the new design of the schema file ("shiporder.xsd"):
下面是schema文件的新設計方式("shiporder.xsd"):

<?xml version="1.0" encoding="ISO-8859-1" ?><xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"> <!-- definition of simple elements --> <xs:element name="orderperson" type="xs:string"/> <xs:element name="name" type="xs:string"/><xs:element name="address" type="xs:string"/> <xs:element name="city" type="xs:string"/> <xs:element name="country" type="xs:string"/><xs:element name="title" type="xs:string"/> <xs:element name="note" type="xs:string"/> <xs:element name="quantity" type="xs:positiveInteger"/><xs:element name="price" type="xs:decimal"/> <!-- definition of attributes --> <xs:attribute name="orderid" type="xs:string"/> <!-- definition of complex elements --> <xs:element name="shipto"><xs:complexType><xs:sequence><xs:element ref="name"/><xs:element ref="address"/><xs:element ref="city"/><xs:element ref="country"/></xs:sequence></xs:complexType> </xs:element> <xs:element name="item"><xs:complexType><xs:sequence><xs:element ref="title"/><xs:element ref="note" minOccurs="0"/><xs:element ref="quantity"/><xs:element ref="price"/></xs:sequence></xs:complexType> </xs:element> <xs:element name="shiporder"><xs:complexType><xs:sequence><xs:element ref="orderperson"/><xs:element ref="shipto"/><xs:element ref="item" maxOccurs="unbounded"/></xs:sequence><xs:attribute ref="orderid" use="required"/></xs:complexType> </xs:element> </xs:schema>


Using Named Types
使用有名稱的類型

The third design method defines classes or types, that enables us to reuse element definitions. This is done by naming the simpleTypes and complexTypes elements, and then point to them through the type attribute of the element.
第三種設計方法定義了種類或類型,這使我們能重新用元素定義。通過給簡單類型和復合類型元素命名,接著在元素的種類屬性類型里指明它們的方法來做到這點。

Here is the third design of the schema file ("shiporder.xsd"):
這是schema文件("shiporder.xsd")的第三份構思

<?xml version="1.0" encoding="ISO-8859-1" ?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"> <xs:simpleType name="stringtype"><xs:restriction base="xs:string"/> </xs:simpleType> <xs:simpleType name="inttype"><xs:restriction base="xs:positiveInteger"/> </xs:simpleType> <xs:simpleType name="dectype"><xs:restriction base="xs:decimal"/> </xs:simpleType> <xs:simpleType name="orderidtype"><xs:restriction base="xs:string"><xs:pattern value="[0-9]{6}"/></xs:restriction> </xs:simpleType> <xs:complexType name="shiptotype"><xs:sequence><xs:element name="name" type="stringtype"/><xs:element name="address" type="stringtype"/><xs:element name="city" type="stringtype"/><xs:element name="country" type="stringtype"/></xs:sequence> </xs:complexType> <xs:complexType name="itemtype"><xs:sequence><xs:element name="title" type="stringtype"/><xs:element name="note" type="stringtype" minOccurs="0"/><xs:element name="quantity" type="inttype"/><xs:element name="price" type="dectype"/></xs:sequence></xs:complexType> <xs:complexType name="shipordertype"><xs:sequence><xs:element name="orderperson" type="stringtype"/><xs:element name="shipto" type="shiptotype"/><xs:element name="item" maxOccurs="unbounded" type="itemtype"/></xs:sequence><xs:attribute name="orderid" type="orderidtype" use="required"/> </xs:complexType> <xs:element name="shiporder" type="shipordertype"/> </xs:schema>

The restriction element indicates that the datatype is derived from a W3C XML Schema namespace datatype. So, the following fragment means that the value of the element or attribute must be a string value:
約束元素指出了這個數據類型是由一個W3C XML Schema名稱空間數據類型派生出來的。所以,下面的片段意味著元素或屬性的值必須是一個字符串的值

<xs:restriction base="xs:string">

The restriction element is more often used to apply restrictions to elements. Look at the following lines from the schema above:
約束元素常常用于給元素添加約束。請看上述schema中的幾行:

<xs:simpleType name="orderidtype"><xs:restriction base="xs:string"><xs:pattern value="[0-9]{6}"/></xs:restriction> </xs:simpleType>

This indicates that the value of the element or attribute must be a string, it must be exactly six characters in a row, and those characters must be a number from 0 to 9.
這指出了元素或屬性的值必須是字符串,而且必須是一排6個從0到9之間的數字。

XSD 字符串數據類型
w3pop.com / 2006-09-21

XSD 實例 XSD 日期數據類型

String data types are used for values that contains character strings.
字符串數據類型用于定義字符串的值的。


String Data Type
字符串數據類型

The string data type can contain characters, line feeds, carriage returns, and tab characters.
字符串數據類型包括字符,換行符,回車符,和制表符

The following is an example of a string declaration in a schema:
下面是關于字符在schema(XML公式)里的聲明方法的例子:

<xs:element name="customer" type="xs:string"/>

An element in your document might look like this:
你文檔中也許有這樣的元素:

<customer>John Smith</customer>

Or it might look like this:
它也許會是這樣:

<customer> John Smith </customer>

Note: The XML processor will not modify the value if you use the string data type.
注意:如果你用字符串數據類型,XML處理器將不會修改數值。


NormalizedString Data Type
規格化的字符串數據類型(NormalizedString Data Type)

The normalizedString data type is derived from the String data type.
規格化的字符串數據類型是從字符數據類型里派生出來的。

The normalizedString data type also contains characters, but the XML processor will remove line feeds, carriage returns, and tab characters.
規格化的字符串數據類型也包括字符,但XML processor會清除換行符,回車符和制表符

The following is an example of a normalizedString declaration in a schema:
下面的是關于一個規格化的字符串數據類型(normalizedString)在Schema中聲明方法的例子:

<xs:element name="customer" type="xs:normalizedString"/>

An element in your document might look like this:
你的文檔中也許有像這樣的元素:

<customer>John Smith</customer>

Or it might look like this:
或者它也許會是這樣:

<customer> John Smith </customer>

Note: In the example above the XML processor will replace the tabs with spaces.
注意:上述例子里XML處理器會用空格符替代制表符


Token Data Type
記號(token)數據類型

The token data type is also derived from the String data type.
記號數據類型也是從字符串數據類型里派生出來的

The token data type also contains characters, but the XML processor will remove line feeds, carriage returns, tabs, leading and trailing spaces, and multiple spaces.
記號數據類型也包括字符,但XML處理器會清除換行符,回車符,制表符,頭尾的空格,以及對于的空格。

The following is an example of a token declaration in a schema:
下面是關于符號(token)在schema中聲明的例子:

<xs:element name="customer" type="xs:token"/>

An element in your document might look like this:
你文檔中的元素也許像這樣:

<customer>John Smith</customer>

Or it might look like this:
或者它也有可能像這樣:

<customer> John Smith </customer>

Note: In the example above the XML processor will remove the tabs.
注意:在上述例子里,XML處理器會清除制表符


String Data Types
字符串數據類型

Note that all of the data types below derive from the String data type (except for string itself)!
要注意下面所有的數據類型都是從字符串數據類型里派生出來的(除了字符串本身)

Name
名稱Description
解釋
ENTITIES?
ENTITY?
IDA string that represents the ID attribute in XML (only used with schema attributes)
象征XML的ID屬性的字符串(只用在schema屬性里)
IDREFA string that represents the IDREF attribute in XML (only used with schema attributes)
象征XML里的IDREF屬性的字符串(只能和schema屬性一起使用)
IDREFS?
languageA string that contains a valid language id
含有正確的語言ID的字符串
NameA string that contains a valid XML name
含有一個有效的XML名稱的字符串
NCName?
NMTOKENA string that represents the NMTOKEN attribute in XML (only used with schema attributes)
象征XML里的NMTOKEN屬性的字符串(只能和schema屬性一起使用)
NMTOKENS?
normalizedStringA string that does not contain line feeds, carriage returns, or tabs
不含有換行符,回車符或制表符的字符串
QName?
stringA string
一個字符串
tokenA string that does not contain line feeds, carriage returns, tabs, leading or trailing spaces, or multiple spaces
不含有換行符,回車符,制表符,頭尾空格,或重復空格的字符串


Restrictions on String Data Types
對字符串數據類型的約束(Restrictions on String Data Types)

Restrictions that can be used with String data types:
可約束的字符串數據類型:

  • enumeration
    列舉
  • length
    長度
  • maxLength
    最大長度
  • minLength
    最小長度
  • pattern (NMTOKENS, IDREFS, and ENTITIES cannot use this constraint)
    式樣(不能約束NMTOKENS, IDREFS,和 ENTITIES)
  • whiteSpace
    空白

    XSD 日期數據類型
    w3pop.com / 2006-09-21

    XSD 字符串數據類型 XSD 小數數據類型

    Date and time data types are used for values that contain date and time.
    日期和時間數據類型(Date and time data types)用于定義日期和時間數據的。


    Date Data Type
    日期數據類型

    The date data type is used to specify a date.
    日期數據類型用于指定一個具體的日期

    The date is specified in the following form "YYYY-MM-DD" where:
    日期由下面的"YYYY-MM-DD"形式指定。

    • YYYY indicates the year
      ?YYYY指示年份
    • MM indicates the month
      MM指示月份
    • DD indicates the day
      DD 指示日期

    Note: All components are required!
    注意:所有組件都是必需的。

    The following is an example of a date declaration in a schema:
    下面是schema(XML公式)里的聲明日期的例子

    <xs:element name="start" type="xs:date"/>

    An element in your document might look like this:
    你文檔中的某個元素也許是這樣的:

    <start>2002-09-24</start>

    Time Zones
    時間區

    To specify a time zone, you can either enter a date in UTC time by adding a "Z" behind the date - like this:
    為指定一個時間區,你既可以通過在日期的后面加個"Z"訪問UTC時間格式的日期,就像這樣:

    <start>2002-09-24Z</start>

    or you can specify an offset from the UTC time by adding a positive or negative time behind the date - like this:
    也可以UTC時間后加、減一個時間值,就像這樣:

    <start>2002-09-24-06:00</start> or <start>2002-09-24+06:00</start>


    Time Data Type
    時間數據類型

    The time data type is used to specify a time.
    時間數據類型用于指定一個時間

    The time is specified in the following form "hh:mm:ss" where:
    時間由下面的"hh:mm:ss"形式指定:

    • hh indicates the hour
      hh指示小時
    • mm indicates the minute
      mm 指示分鐘
    • ss indicates the second
      ss指示秒鐘

    Note: All components are required!
    注意:所有的組件都是必需的

    The following is an example of a time declaration in a schema:
    下面是schema(XML公式)里的時間聲明的例子

    <xs:element name="start" type="xs:time"/>

    An element in your document might look like this:
    你文檔中或許有這樣的元素:

    <start>09:00:00</start>

    Or it might look like this:
    或者是這樣的:

    <start>09:30:10.5</start>

    Time Zones
    時間區

    To specify a time zone, you can either enter a time in UTC time by adding a "Z" behind the time - like this:
    為指定一個時間區,你既可以通過在日期的后面加個"Z"訪問UTC時間格式的日期,就像這樣:

    <start>09:30:10Z</start>

    or you can specify an offset from the UTC time by adding a positive or negative time behind the time - like this:
    也可以UTC時間后加、減一個時間值,就像這樣:

    <start>09:30:10-06:00</start> or <start>09:30:10+06:00</start>


    DateTime Data Type
    日期時間數據類型(DateTime Data Type)

    The dateTime data type is used to specify a date and a time.
    日期時間數據類型用于指定一個日期和一個時間

    The dateTime is specified in the following form "YYYY-MM-DDThh:mm:ss" where:
    日期時間由"YYYY-MM-DDThh:mm:ss"的形式指定:

    • YYYY indicates the year
      YYYY指示時間
    • MM indicates the month
      MM指示月份
    • DD indicates the day
      DD 指示時間
    • T indicates the start of the required time section
      T指示時間區的開頭
    • hh indicates the hour
      hh指示小時
    • mm indicates the minute
      mm指示分鐘
    • ss indicates the second
      ss指示秒鐘

    Note: All components are required!
    注意:所有組件都是必需的

    The following is an example of a dateTime declaration in a schema:
    下面是schema(XML公式)里的日期時間聲明的例子

    <xs:element name="startdate" type="xs:dateTime"/>

    An element in your document might look like this:
    你文檔中或許有這樣的元素:

    <startdate>2002-05-30T09:00:00</startdate>

    Or it might look like this:
    或者是這樣的:

    <startdate>2002-05-30T09:30:10.5</startdate>

    Time Zones
    時間區

    To specify a time zone, you can either enter a dateTime in UTC time by adding a "Z" behind the time - like this:
    為指定一個時間區,你既可以通過在日期的后面加個"Z"訪問UTC時間格式的日期,就像這樣:

    <startdate>2002-05-30T09:30:10Z</startdate>

    or you can specify an offset from the UTC time by adding a positive or negative time behind the time - like this:
    也可以UTC時間后加、減一個時間值,就像這樣:

    <startdate>2002-05-30T09:30:10-06:00</startdate> or <startdate>2002-05-30T09:30:10+06:00</startdate>


    Duration Data Type
    持續時間數據類型(或“時間段數據類型”)(Duration Data Type)

    The duration data type is used to specify a time interval.
    持續時間數據類型(或“時間段數據類型”)用于定義一段時間間隔

    The time interval is specified in the following form "PnYnMnDTnHnMnS" where:
    時間間隔由"PnYnMnDTnHnMnS"形式定義的

    • P indicates the period (required)
      P指示
    • nY indicates the number of years
      nY指示年數
    • nM indicates the number of months
      nM指示月數
    • nD indicates the number of days
      nD指示天數
    • T indicates the start of a time section (required if you are going to specify hours, minutes, or seconds)
      T指示時間部分的開頭(如果你要指定時間,分鐘,或秒數,就必須用到T)
    • nH indicates the number of hours
      nH指示小時數
    • nM indicates the number of minutes
      nM指示分鐘數
    • nS indicates the number of seconds
      nS指示秒數

    The following is an example of a duration declaration in a schema:
    下面是schema(XML公式)里的時間段聲明的例子

    <xs:element name="period" type="xs:duration"/>

    An element in your document might look like this:
    你文檔中或許有這樣的元素:

    <period>P5Y</period>

    The example above indicates a period of five years.
    上面的例子指示了5年的時間段

    Or it might look like this:
    或者也可以像這樣:

    <period>P5Y2M10D</period>

    The example above indicates a period of five years, two months, and 10 days.
    上面的例子指出了5年2個月零10天的時間段

    Or it might look like this:
    它也可以這樣:

    <period>P5Y2M10DT15H</period>

    The example above indicates a period of five years, two months, 10 days, and 15 hours.
    上面的例子指出了5年2個月零10天的時間段

    Or it might look like this:
    或者它會是可以這樣:

    <period>PT15H</period>

    The example above indicates a period of 15 hours.
    上面的例子指出了15小時的時間段

    Negative Duration
    負時間段

    To specify a negative duration, enter a minus sign before the P:
    為定義負的時間段,在P之前添個負號

    <period>-P10D</period>

    The example above indicates a period of minus 10 days.
    上面的例子指出里負10天的時間段


    Date and Time Data Types
    日期和時間數據類型

    Name
    名稱Description
    解釋
    dateDefines a date value
    定義日期的值
    dateTimeDefines a date and time value
    定義了日期和時間值
    durationDefines a time interval
    定義了時間間隔
    gDayDefines a part of a date - the day (DD)
    定義了日期的部分定義了時間的一部分——日部分(DD)
    gMonthDefines a part of a date - the month (MM)
    定義了日期的一部分——月部分(MM)
    gMonthDayDefines a part of a date - the month and day (MM-DD)
    定義了日期的一部分——月和日部分(MM-DD)
    gYearDefines a part of a date - the year (YYYY)
    定義了日期的年部分(YYYY)
    gYearMonthDefines a part of a date - the year and month (YYYY-MM)
    定義了日期的一部分——年和月部分(YYYY-MM)
    timeDefines a time value
    定義時間值


    Restrictions on Date Data Types
    對日期數據類型的約束

    Restrictions that can be used with Date data types:
    對日期數據類型可進行約束

    • enumeration
      列舉
    • maxExclusive
      除去最大值
    • maxInclusive
      包括最大值
    • minExclusive
      除去最小值排外
    • minInclusive
      包括最小值
    • pattern
      式樣
    • whiteSpace
      空白

XSD 小數數據類型
w3pop.com / 2006-09-21

XSD 日期數據類型 XSD 邏輯值數據類型

Decimal data types are used for numeric values.
小數數據類型用于定義數值


Decimal Data Type
小數數據類型

The decimal data type is used to specify a numeric value.
小數數據類型用于指定一個數值

The following is an example of a decimal declaration in a schema:
下面是在schema(XML公式)里關于小數聲明的例子

<xs:element name="prize" type="xs:decimal"/>

An element in your document might look like this:
你文檔中的一個元素也許會像這樣:

<prize>999.50</prize>

Or it might look like this:
或者會像這樣:

<prize>+999.5450</prize>

Or it might look like this:
又或者像這樣:

<prize>-999.5230</prize>

Or it might look like this:
也可能這樣:

<prize>0</prize>

Or it might look like this:
當然,也會是這樣:

<prize>14</prize>

Note: The maximum number of decimal digits you can specify is 18.
注意:可以指定的小數位數最多是18位。


Integer Data Type
整數數據類型

The integer data type is used to specify a numeric value without a fractional component.
整數數據類型用于指定沒有小數部分的數值。

The following is an example of an integer declaration in a schema:
下面是的關于整數在schema里的聲明方法的例子。

<xs:element name="prize" type="xs:integer"/>

An element in your document might look like this:
你文檔中也許有這樣的元素:

<prize>999</prize>

Or it might look like this:
或許是這樣:

<prize>+999</prize>

Or it might look like this:
也可能是這樣:

<prize>-999</prize>

Or it might look like this:
當然也會是這樣:

<prize>0</prize>


Numeric Data Types
數字數據類型

Note that all of the data types below derive from the Decimal data type (except for decimal itself)!
要注意的是下面所有的數據類型都是從小數數據類型里派生出來的(除了小數自身)

Name
名稱Description
解釋
byteA signed 8-bit integer
最大8位的帶符號整數
decimalA decimal value
小數數值
intA signed 32-bit integer
最大32位的帶符號整數
integerAn integer value
整數值
longA signed 64-bit integer
最大64位的帶符號整數
negativeIntegerAn integer containing only negative values ( .., -2, -1.)
含有負值的整數 ( .., -2, -1.)
nonNegativeIntegerAn integer containing only non-negative values (0, 1, 2, ..)
含有非負值的整數 (0, 1, 2, ..)
nonPositiveIntegerAn integer containing only non-positive values (.., -2, -1, 0)
含有非正值的整數 (.., -2, -1, 0)
positiveIntegerAn integer containing only positive values (1, 2, ..)
只含有正值的整數(1, 2, ..)
shortA signed 16-bit integer
最大16位的帶符號整數
unsignedLongAn unsigned 64-bit integer
最大64位的不帶符號整數
unsignedIntAn unsigned 32-bit integer
最大32位的不帶符號整數
unsignedShortAn unsigned 16-bit integer
最大16位的不帶符號整數
unsignedByteAn unsigned 8-bit integer
最大8位的不帶符號整數


Restrictions on Numeric Data Types
對字數據類型的約束

Restrictions that can be used with Numeric data types:
可用于約束的數字數據類型:

  • enumeration
    列舉
  • fractionDigits
    小數位數
  • maxExclusive
    ?除去最大值
  • maxInclusive
    包括最大值
  • minExclusive
    除去最小值
  • minInclusive
    包括最小值
  • pattern
    式樣類型
  • totalDigits
    總的數字位數
  • whiteSpace
    空白部分

    XSD 邏輯值數據類型
    w3pop.com / 2006-09-21

    XSD 小數數據類型 XML Schema總結

    Other miscellaneous data types are boolean, base64Binary, hexBinary, float, double, anyURI, QName, and NOTATION.
    其他混合的數據類型包括邏輯值(boolean),基本的64個二進制數、十六進位數、浮點精度小數、雙精度型數、anyURI、限定名稱(QName)和符號。


    Boolean Data Type
    邏輯值數據類型

    The boolean data type is used to specify a true or false value.
    邏輯型數據類型用于指定值為真或假。

    The following is an example of a boolean declaration in a schema:
    以下是在schema(XML公式)里有關邏輯聲明的例子

    <xs:attribute name="disabled" type="xs:boolean"/>

    An element in your document might look like this:
    你文檔里或許有這樣的元素:

    <prize disabled="true">999</prize>

    Note: Legal values for boolean are true, false, 1 (which indicates true), and 0 (which indicates false).
    注意:合法的邏輯值是真,假,1(指示真),0(指示假)


    Binary Data Types
    二進制數據類型

    Binary data types are used to express binary-formatted data.
    二進制數據用于表示二進制的數據

    We have two binary data types:
    我們有兩種二進制數據類型:

    • base64Binary (Base64-encoded binary data)
      基礎64二進制(64碼基礎的二進制數據Base64-encoded binary data)
    • hexBinary (hexadecimal-encoded binary data)
      16進制(16進位編碼的二進制數據hexadecimal-encoded binary data)

    The following is an example of a hexBinary declaration in a schema:
    以下是關于十六進位數在schema里的聲明方法:

    <xs:element name="blobsrc" type="xs:hexBinary"/>


    AnyURI Data Type
    anyURI數據類型

    The anyURI data type is used to specify a URI.
    anyURI數據類型用于指定一個URI.

    The following is an example of an anyURI declaration in a schema:
    以下是關于anyURI在schema里的聲明方法:

    <xs:attribute name="src" type="xs:anyURI"/>

    An element in your document might look like this:
    你文檔里也許有這個元素:

    <pic src="http://www.w3schools.com/images/smiley.gif" />

    Note: If a URI has spaces, replace them with %20.
    注意:如果URI包含空格,可以用“%20”替代它們。


    Miscellaneous Data Types
    混合數據類型

    Name
    名稱Description
    描述
    anyURI?
    base64Binary?
    boolean?
    double?
    float?
    hexBinary?
    NOTATION?
    QName?


    Restrictions on Miscellaneous Data Types
    對混合數據類型的約束

    Restrictions that can be used with the other data types:
    可用于約束的其他數據類型:

    • enumeration (a Boolean data type cannot use this constraint)
      列舉(不能用此約束邏輯值數據類型)
    • length (a Boolean data type cannot use this constraint)
      長度(不能用此約束邏輯值數據類型)
    • maxLength (a Boolean data type cannot use this constraint)
      最大長度(不能用此約束邏輯值數據類型)
    • minLength (a Boolean data type cannot use this constraint)
      最短長度(不能用此約束邏輯值數據類型)
    • pattern
      式樣
    • whiteSpace
      空白

XML Schema總結
w3pop.com / 2006-09-21

XSD 邏輯值數據類型 XML Schema 參考

XML Schema Summary
XML Schema總結

This tutorial has taught you how to describe the structure of an XML document.
這篇教程教你如何描述XML文檔的結構

You have learned how to use an XML Schema is to define the legal elements of an XML document, just like a DTD. We think that very soon XML Schemas will be used in most Web applications as a replacement for DTDs.
你已經學習了怎樣使用XML Schema(XML 公式),就是象DTD一樣給XML文檔定義合法元素。我們認為很快XML Schema(XML 公式)就會取代DTD而被大多數的網絡應用程序所使用。

You have also learned that the XML Schema language is very rich. Unlike DTDs, it supports data types and namespaces.
你已經知道了 XML公式語言是很豐富的。和DTD不同,它支持數據類型和名稱空間。

For more information on XML Schema, please look at our XML Schema reference.
想更多地了解XML Schema 的信息,請看我們的XML Schema 參考。


Now You Know XML Schema, What's Next?
現在你知道了XML Schema,那接著學什么呢?

The next step is to learn about WSDL.
下步是學習有關WSDL.

WSDL is a schema-based language for describing Web services and how to access them.
WSDL 是描述網絡服務以及描述怎樣訪問它們的一種以schema為基礎的語言

WSDL describes a web service, along with the message format and protocol details for the web service.
WSDL描述網絡服務,以及與網絡服務有關的信息格式和協議細節。

If you want to learn more about WSDL, please visit our WSDL tutorial.
想學習更多與WSDL有關的內容,請瀏覽我們的WSDL 教程.

XML Schema 參考
w3pop.com / 2006-09-21

XML Schema總結

XSD Elements
XSD元素

Element
元素Explanation
解釋
allSpecifies that the child elements can appear in any order. Each child element can occur 0 or 1 time
指明了子元素可以以任意順序出現,每個子元素出現0到1次
annotationSpecifies the top-level element for schema comments
為schema注釋指定了最高階層的元素
anyEnables the author to extend the XML document with elements not specified by the schema
讓編者能夠用沒有被schema指定的元素來擴展XML文件
anyAttributeEnables the author to extend the XML document with attributes not specified by the schema
讓編者能夠用沒有被schema指定的屬性來擴展XML文件
appInfoSpecifies information to be used by the application (must go inside annotation)
指定了將被應用程序所用到的信息(必須在annotation里)
attributeDefines an attribute
定義屬性
attributeGroupDefines an attribute group to be used in complex type definitions
定義了用于復合種類定義的屬性組
choiceAllows only one of the elements contained in the <choice> declaration to be present within the containing element
只允許<choice>聲明里的元素里的一個元素出現在所含的元素中。
complexContentDefines extensions or restrictions on a complex type that contains mixed content or elements only
在包含混合內容和元素的復合類型(complex type)上定義擴展或限制
complexTypeDefines a complex type element
定義了復合類型元素(complex type element)
documentationDefines text comments in a schema (must go inside annotation)
定義了schema里的文本注釋(必須在annotation里)
elementDefines an element
定義元素
extensionExtends an existing simpleType or complexType element
擴展一個現存的簡單類型或復合類型元素
fieldSpecifies an XPath expression that specifies the value used to define an identity constraint
指明一個XPath表達式,以指明用于定義身份約束的值
groupDefines a group of elements to be used in complex type definitions
定義了將用于復合類型說明的一組元素
importAdds multiple schemas with different target namespace to a document
用不同的目標名稱空間把多項schema添加到一份文件
includeAdds multiple schemas with the same target namespace to a document
用同一目標名稱空間把多項schema添加到文件
keySpecifies an attribute or element value as a key (unique, non-nullable, and always present) within the containing element in an instance document
在實例文檔包含的元素里指明某屬性或元素值,使它們成為“鑰匙”(特殊的,非零的,經常是存在的)
keyrefSpecifies that an attribute or element value correspond to those of the specified key or unique element
定義用于回應已指明關鍵或特殊元素的屬性或元素值
listDefines a simple type element as a list of values
一張值的列表的形式定義一個簡單類型元素
notationDescribes the format of non-XML data within an XML document
描述在XML文檔里的非XML形式數據的格式
redefineRedefines simple and complex types, groups, and attribute groups from an external schema
從外部的schema中重新定義簡單和復合類型,群,以及屬性群
restrictionDefines restrictions on a simpleType, simpleContent, or a complexContent
在簡單類型,簡單文本或復合文本上定義約束
schemaDefines the root element of a schema
定義schema的根元素
selectorSpecifies an XPath expression that selects a set of elements for an identity constraint
指明一段可為身份約束選擇一組節點的XPath表達
sequenceSpecifies that the child elements must appear in a sequence. Each child element can occur from 0 to any number of times
指明了子元素必須以一定順序出現。每個子元素可以出現任意次
simpleContentContains extensions or restrictions on a text-only complex type or on a simple type as content and contains no elements
包含著作為只有文本的復合類型或簡單類型的文本的擴展和約束,不包含元素
simpleTypeDefines a simple type and specifies the constraints and information about the values of attributes or text-only elements
定義了簡單類型,指定了關于屬性值或只有文本的元素的信息
unionDefines a simple type as a collection (union) of values from specified simple data types
從已指定的簡單數據類型里定義簡單種類,作為值的集合
uniqueDefines that an element or an attribute value must be unique within the scope
定義了在所屬范圍內一個元素或屬性值必須是獨特(沒有重復的)


XSD Restrictions/Facets for Datatypes
XSD對各種數據類型的約束

Look at XSD Restrictions!
下面看一看關于XSD的約束

Constraint
約束Description
描述
enumerationDefines a list of acceptable values
定義了一系列可接受的屬性的值
fractionDigitsSpecifies the maximum number of decimal places allowed. Must be equal to or greater than zero
指明了所允許的最多小數位數。必須等于大于0
lengthSpecifies the exact number of characters or list items allowed. Must be equal to or greater than zero
指明了所允許的字符或列表項的確切個數。必須等于大于零
maxExclusiveSpecifies the upper bounds for numeric values (the value must be less than this value)
指明了最大數值(數值必須小于最大數值)
maxInclusiveSpecifies the upper bounds for numeric values (the value must be less than or equal to this value)
指明了數值上限(數值必須小于等于數值上限)
maxLengthSpecifies the maximum number of characters or list items allowed. Must be equal to or greater than zero
指明了所允許的字符或列表項的最多個數。必須大于等于0
minExclusiveSpecifies the lower bounds for numeric values (the value must be greater than this value)
指明了數值的下限(數值必須比這個值大)
minInclusiveSpecifies the lower bounds for numeric values (the value must be greater than or equal to this value)
指明了數值的下限(數值要大于等于這個值)
minLengthSpecifies the minimum number of characters or list items allowed. Must be equal to or greater than zero
指明了所允許的字符和列表項的最少個數。必須大于等于0個
patternDefines the exact sequence of characters that are acceptable
定義了可接受字符的確切順序
totalDigitsSpecifies the exact number of digits allowed. Must be greater than zero
定義了所允許的阿拉伯數字的確切個數。必須比0個多
whiteSpaceSpecifies how white space (line feeds, tabs, spaces, and carriage returns) is handled
定義了各種空白區域(white space) (換行符、制表符、空格、回車符)是如何被處理的。

?

總結

以上是生活随笔為你收集整理的XSD(Schema)教程的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

国产精品嫩草久久久久 | 亚拍精品一区二区三区探花 | 国产人妻大战黑人第1集 | 欧美黑人巨大xxxxx | 国产av一区二区精品久久凹凸 | 成人免费视频一区二区 | 久久zyz资源站无码中文动漫 | 蜜桃臀无码内射一区二区三区 | 麻豆精产国品 | 午夜精品一区二区三区的区别 | 疯狂三人交性欧美 | 国产精品99爱免费视频 | 青青草原综合久久大伊人精品 | 国产av一区二区三区最新精品 | 成人精品天堂一区二区三区 | 色妞www精品免费视频 | 国产99久久精品一区二区 | 日日摸天天摸爽爽狠狠97 | 中文字幕人妻无码一区二区三区 | 国产成人一区二区三区别 | 亚洲中文字幕无码中文字在线 | 国产成人精品无码播放 | 成人欧美一区二区三区 | а√资源新版在线天堂 | 日本欧美一区二区三区乱码 | 国内揄拍国内精品人妻 | 图片区 小说区 区 亚洲五月 | 精品 日韩 国产 欧美 视频 | 丰满人妻被黑人猛烈进入 | 无码精品国产va在线观看dvd | 少妇激情av一区二区 | 国产后入清纯学生妹 | 亚洲欧美国产精品专区久久 | 亚洲精品午夜无码电影网 | 人人妻人人澡人人爽欧美一区九九 | 乱码av麻豆丝袜熟女系列 | 午夜精品久久久内射近拍高清 | 国产人妻精品午夜福利免费 | 无码人妻精品一区二区三区下载 | 亚洲国产av美女网站 | 亚洲乱码国产乱码精品精 | 久久久精品成人免费观看 | 亚洲 高清 成人 动漫 | 久久久婷婷五月亚洲97号色 | 亚洲综合伊人久久大杳蕉 | 免费国产黄网站在线观看 | 国产凸凹视频一区二区 | 高潮喷水的毛片 | 中文字幕乱码中文乱码51精品 | 樱花草在线播放免费中文 | 国产偷抇久久精品a片69 | 国产乱子伦视频在线播放 | 欧美 日韩 亚洲 在线 | 人人妻人人澡人人爽人人精品 | 国产亚洲精品久久久久久久久动漫 | 日本成熟视频免费视频 | 牲交欧美兽交欧美 | 纯爱无遮挡h肉动漫在线播放 | 久久久精品456亚洲影院 | 极品尤物被啪到呻吟喷水 | 中国女人内谢69xxxxxa片 | 免费网站看v片在线18禁无码 | 无码毛片视频一区二区本码 | 久久综合激激的五月天 | 99精品国产综合久久久久五月天 | 红桃av一区二区三区在线无码av | 狠狠色欧美亚洲狠狠色www | 国产精品无码一区二区桃花视频 | 国产疯狂伦交大片 | 伊人久久婷婷五月综合97色 | 男女超爽视频免费播放 | 免费观看黄网站 | 成熟妇人a片免费看网站 | 嫩b人妻精品一区二区三区 | 色情久久久av熟女人妻网站 | 极品尤物被啪到呻吟喷水 | 久久亚洲中文字幕无码 | 最近中文2019字幕第二页 | 成人综合网亚洲伊人 | 亚洲国产精品无码一区二区三区 | 丰满护士巨好爽好大乳 | 麻豆av传媒蜜桃天美传媒 | 国产精品久久国产精品99 | 久久久久成人片免费观看蜜芽 | 色婷婷欧美在线播放内射 | 亚洲高清偷拍一区二区三区 | 东京一本一道一二三区 | 亚洲人成影院在线观看 | 麻豆果冻传媒2021精品传媒一区下载 | a片免费视频在线观看 | 中文字幕色婷婷在线视频 | 3d动漫精品啪啪一区二区中 | 国产精华av午夜在线观看 | 国产农村妇女高潮大叫 | 国产情侣作爱视频免费观看 | 国产精品人人妻人人爽 | 精品欧美一区二区三区久久久 | 97精品人妻一区二区三区香蕉 | 最新国产麻豆aⅴ精品无码 | 午夜熟女插插xx免费视频 | 亚洲日韩中文字幕在线播放 | 人人妻人人澡人人爽精品欧美 | 久久久久免费精品国产 | 国产精品美女久久久网av | 国产莉萝无码av在线播放 | 免费看少妇作爱视频 | 少妇性俱乐部纵欲狂欢电影 | 人人妻人人澡人人爽欧美一区 | 在线播放免费人成毛片乱码 | 波多野结衣av一区二区全免费观看 | 久久久久久久人妻无码中文字幕爆 | 成人无码视频免费播放 | 亚洲综合在线一区二区三区 | 少妇高潮一区二区三区99 | 国产深夜福利视频在线 | 婷婷综合久久中文字幕蜜桃三电影 | 欧美一区二区三区视频在线观看 | 欧美激情内射喷水高潮 | 婷婷五月综合激情中文字幕 | 中文字幕亚洲情99在线 | 久久精品人妻少妇一区二区三区 | 无码乱肉视频免费大全合集 | 日本高清一区免费中文视频 | 无码成人精品区在线观看 | 美女黄网站人色视频免费国产 | 大肉大捧一进一出好爽视频 | 国产香蕉尹人综合在线观看 | av无码久久久久不卡免费网站 | 国产热a欧美热a在线视频 | 亚洲中文字幕在线无码一区二区 | 爱做久久久久久 | 中文字幕乱码人妻无码久久 | 欧美日韩一区二区免费视频 | av无码不卡在线观看免费 | 国产猛烈高潮尖叫视频免费 | 国产亚洲精品久久久久久大师 | 欧美性色19p | 欧美午夜特黄aaaaaa片 | 日本乱偷人妻中文字幕 | 国产av剧情md精品麻豆 | 久久久国产一区二区三区 | 又粗又大又硬毛片免费看 | 欧美日韩综合一区二区三区 | 亚洲日韩乱码中文无码蜜桃臀网站 | 无码人妻出轨黑人中文字幕 | 无码乱肉视频免费大全合集 | 色欲av亚洲一区无码少妇 | 丝袜足控一区二区三区 | 蜜桃视频插满18在线观看 | 色综合久久网 | 日韩精品无码一本二本三本色 | 久久精品国产日本波多野结衣 | 免费无码一区二区三区蜜桃大 | 国产精品二区一区二区aⅴ污介绍 | 强辱丰满人妻hd中文字幕 | 99久久精品午夜一区二区 | 初尝人妻少妇中文字幕 | 国产口爆吞精在线视频 | 国产69精品久久久久app下载 | 中文字幕无码热在线视频 | 日韩av激情在线观看 | 欧美三级a做爰在线观看 | 丰满人妻翻云覆雨呻吟视频 | 日本精品高清一区二区 | 人人妻人人澡人人爽欧美一区九九 | 国产亚av手机在线观看 | 精品无码一区二区三区的天堂 | 日韩av无码一区二区三区不卡 | 亚洲成熟女人毛毛耸耸多 | 日日天日日夜日日摸 | 国产又爽又猛又粗的视频a片 | 欧美 亚洲 国产 另类 | 人妻天天爽夜夜爽一区二区 | 久久久精品456亚洲影院 | 色综合久久中文娱乐网 | 日本精品人妻无码77777 天堂一区人妻无码 | 午夜无码区在线观看 | 国产成人av免费观看 | 亚洲欧美日韩成人高清在线一区 | 国产日产欧产精品精品app | 99久久99久久免费精品蜜桃 | 国产麻豆精品一区二区三区v视界 | 又大又硬又黄的免费视频 | 国产莉萝无码av在线播放 | 在线观看免费人成视频 | 亚洲另类伦春色综合小说 | 中文字幕乱码亚洲无线三区 | 蜜桃av抽搐高潮一区二区 | 67194成是人免费无码 | 国产亚洲精品久久久久久 | 亚洲小说图区综合在线 | 国产亚洲日韩欧美另类第八页 | 欧美 亚洲 国产 另类 | 色爱情人网站 | 国内少妇偷人精品视频免费 | 激情五月综合色婷婷一区二区 | 亚洲s码欧洲m码国产av | 天天躁夜夜躁狠狠是什么心态 | 日本护士xxxxhd少妇 | 国产精品久久久 | 在线观看欧美一区二区三区 | 中文字幕无码人妻少妇免费 | 成人免费视频一区二区 | 亚洲精品久久久久久久久久久 | 88国产精品欧美一区二区三区 | 狂野欧美激情性xxxx | 国产在线一区二区三区四区五区 | 亚洲国产精品无码久久久久高潮 | 日本肉体xxxx裸交 | 老熟女重囗味hdxx69 | 无码人妻av免费一区二区三区 | 亚洲人成影院在线观看 | 国产成人精品必看 | 亚洲日本va午夜在线电影 | 日韩av无码一区二区三区不卡 | 无码国产乱人伦偷精品视频 | 精品人妻中文字幕有码在线 | 国产精品久久久一区二区三区 | 亚洲一区二区观看播放 | aⅴ亚洲 日韩 色 图网站 播放 | 狂野欧美性猛xxxx乱大交 | 丰满人妻一区二区三区免费视频 | 奇米影视888欧美在线观看 | 日日噜噜噜噜夜夜爽亚洲精品 | 久久99精品国产.久久久久 | 性欧美大战久久久久久久 | 欧美freesex黑人又粗又大 | 人人超人人超碰超国产 | 国产一区二区三区影院 | 国内精品人妻无码久久久影院蜜桃 | 无码av中文字幕免费放 | 亚洲精品一区国产 | 日本va欧美va欧美va精品 | 高清不卡一区二区三区 | 亲嘴扒胸摸屁股激烈网站 | 国产偷国产偷精品高清尤物 | 丰满妇女强制高潮18xxxx | 中文字幕无码日韩专区 | 色综合久久中文娱乐网 | 97久久精品无码一区二区 | 又大又黄又粗又爽的免费视频 | 午夜男女很黄的视频 | 久久久成人毛片无码 | 成人欧美一区二区三区黑人免费 | 精品成在人线av无码免费看 | 国产凸凹视频一区二区 | 丝袜人妻一区二区三区 | 一本无码人妻在中文字幕免费 | 精品夜夜澡人妻无码av蜜桃 | 精品无码av一区二区三区 | 亚洲熟女一区二区三区 | 亚洲春色在线视频 | av香港经典三级级 在线 | 台湾无码一区二区 | 思思久久99热只有频精品66 | 国产成人精品一区二区在线小狼 | 久久www免费人成人片 | 免费无码肉片在线观看 | 国产乡下妇女做爰 | 中文精品久久久久人妻不卡 | 乱人伦人妻中文字幕无码 | 成人无码视频在线观看网站 | 久久久久久九九精品久 | 爱做久久久久久 | 99riav国产精品视频 | 久久人人爽人人爽人人片ⅴ | 波多野结衣乳巨码无在线观看 | 牲欲强的熟妇农村老妇女 | 色爱情人网站 | 东京无码熟妇人妻av在线网址 | 国产无遮挡又黄又爽免费视频 | 97色伦图片97综合影院 | 老司机亚洲精品影院无码 | 亚洲色成人中文字幕网站 | 无码人妻精品一区二区三区下载 | 午夜无码人妻av大片色欲 | 亚洲一区av无码专区在线观看 | 永久免费观看美女裸体的网站 | 国产午夜亚洲精品不卡 | 欧美阿v高清资源不卡在线播放 | 国产极品美女高潮无套在线观看 | 国产香蕉97碰碰久久人人 | 欧美成人午夜精品久久久 | 欧洲极品少妇 | 久久亚洲日韩精品一区二区三区 | 在线观看国产午夜福利片 | 久久99精品国产麻豆蜜芽 | 全黄性性激高免费视频 | 亚洲欧洲无卡二区视頻 | 久久亚洲精品中文字幕无男同 | 亚洲 日韩 欧美 成人 在线观看 | 国产精品美女久久久久av爽李琼 | 国产精品人人妻人人爽 | 一本色道久久综合狠狠躁 | 免费人成网站视频在线观看 | 国产后入清纯学生妹 | 伊人久久大香线蕉av一区二区 | 无码纯肉视频在线观看 | 麻豆国产丝袜白领秘书在线观看 | 国产成人无码a区在线观看视频app | 欧美丰满熟妇xxxx | 亚洲男人av香蕉爽爽爽爽 | 熟妇人妻无码xxx视频 | 国产真人无遮挡作爱免费视频 | 青青青爽视频在线观看 | 少妇高潮一区二区三区99 | 欧美日韩久久久精品a片 | 永久免费观看美女裸体的网站 | 日韩亚洲欧美精品综合 | 精品国产精品久久一区免费式 | 国产色精品久久人妻 | 日欧一片内射va在线影院 | av香港经典三级级 在线 | 午夜熟女插插xx免费视频 | 97资源共享在线视频 | 欧美黑人巨大xxxxx | 樱花草在线社区www | 中文字幕无码免费久久9一区9 | 中文字幕无码乱人伦 | 亚洲性无码av中文字幕 | 亚洲国产精品一区二区美利坚 | 亚欧洲精品在线视频免费观看 | 日日摸日日碰夜夜爽av | 牛和人交xxxx欧美 | 亚洲国产av精品一区二区蜜芽 | 性欧美videos高清精品 | 色婷婷av一区二区三区之红樱桃 | 亚洲国产日韩a在线播放 | 99久久99久久免费精品蜜桃 | 国产又爽又猛又粗的视频a片 | 国产三级精品三级男人的天堂 | 98国产精品综合一区二区三区 | 无码乱肉视频免费大全合集 | 久久综合网欧美色妞网 | 日韩欧美成人免费观看 | 午夜精品一区二区三区在线观看 | 国产av无码专区亚洲a∨毛片 | 精品一区二区三区波多野结衣 | 欧美国产日产一区二区 | 亚洲精品午夜国产va久久成人 | 精品无码成人片一区二区98 | 亚洲色成人中文字幕网站 | 伊人久久婷婷五月综合97色 | 国产人妻人伦精品 | 国产精品二区一区二区aⅴ污介绍 | 成在人线av无码免观看麻豆 | 国产免费无码一区二区视频 | 高清国产亚洲精品自在久久 | 荡女精品导航 | 精品欧美一区二区三区久久久 | 国产高清av在线播放 | 性欧美疯狂xxxxbbbb | 麻豆果冻传媒2021精品传媒一区下载 | 最近免费中文字幕中文高清百度 | 亚洲第一网站男人都懂 | 久久人妻内射无码一区三区 | 国产97色在线 | 免 | 国产人妻人伦精品 | 欧美第一黄网免费网站 | 熟妇激情内射com | 国产成人久久精品流白浆 | 欧美成人免费全部网站 | 亚洲第一网站男人都懂 | 久久精品成人欧美大片 | 中文字幕无码av波多野吉衣 | 人妻少妇精品无码专区二区 | 成熟人妻av无码专区 | 中文字幕无线码 | 日本一区二区更新不卡 | 国产精品永久免费视频 | 国产三级久久久精品麻豆三级 | а√资源新版在线天堂 | √天堂资源地址中文在线 | 欧美freesex黑人又粗又大 | 国产精品丝袜黑色高跟鞋 | 国产亚洲精品久久久久久大师 | 一个人免费观看的www视频 | 亚洲欧美中文字幕5发布 | 性做久久久久久久免费看 | 亚洲欧洲无卡二区视頻 | 无码播放一区二区三区 | 亚洲成av人片在线观看无码不卡 | 色噜噜亚洲男人的天堂 | 麻豆国产人妻欲求不满 | 国产av人人夜夜澡人人爽麻豆 | 日韩亚洲欧美中文高清在线 | 亚洲 a v无 码免 费 成 人 a v | 久久午夜夜伦鲁鲁片无码免费 | 兔费看少妇性l交大片免费 | 好爽又高潮了毛片免费下载 | 中文字幕无线码免费人妻 | 一本久久伊人热热精品中文字幕 | 国产av一区二区三区最新精品 | 精品人妻人人做人人爽夜夜爽 | 久久久久久久人妻无码中文字幕爆 | 无码吃奶揉捏奶头高潮视频 | 免费观看又污又黄的网站 | 国产精品丝袜黑色高跟鞋 | 老熟妇仑乱视频一区二区 | 最近免费中文字幕中文高清百度 | 欧美熟妇另类久久久久久不卡 | 国产sm调教视频在线观看 | 亚洲中文无码av永久不收费 | 在线精品国产一区二区三区 | 国产免费久久精品国产传媒 | 久久人人爽人人爽人人片ⅴ | 国产精品久久久久久无码 | 亚洲日本在线电影 | 成人免费视频视频在线观看 免费 | 国产精品免费大片 | 无码国模国产在线观看 | 伊人久久大香线蕉av一区二区 | 亚洲日韩一区二区三区 | 漂亮人妻洗澡被公强 日日躁 | 欧美野外疯狂做受xxxx高潮 | 久久99精品国产麻豆蜜芽 | 国产av人人夜夜澡人人爽麻豆 | 人人超人人超碰超国产 | 双乳奶水饱满少妇呻吟 | 精品人妻中文字幕有码在线 | 无码人妻久久一区二区三区不卡 | 麻豆精品国产精华精华液好用吗 | 人妻有码中文字幕在线 | 97无码免费人妻超级碰碰夜夜 | 澳门永久av免费网站 | 国产激情无码一区二区app | 国产激情艳情在线看视频 | 国产精品亚洲一区二区三区喷水 | 日日麻批免费40分钟无码 | 在线欧美精品一区二区三区 | 又湿又紧又大又爽a视频国产 | 青青青手机频在线观看 | 女人高潮内射99精品 | 国産精品久久久久久久 | 永久免费精品精品永久-夜色 | 亚洲小说春色综合另类 | 亚洲一区二区三区在线观看网站 | 日韩少妇白浆无码系列 | 成人无码视频在线观看网站 | 亚洲精品一区二区三区婷婷月 | 欧美性猛交内射兽交老熟妇 | 亚洲精品中文字幕久久久久 | 亚洲精品一区二区三区四区五区 | 亚洲欧洲日本无在线码 | 亚洲高清偷拍一区二区三区 | 久久亚洲日韩精品一区二区三区 | 亚洲国产精品美女久久久久 | 最新国产乱人伦偷精品免费网站 | 亚洲欧美国产精品专区久久 | 丰满少妇熟乱xxxxx视频 | 国产另类ts人妖一区二区 | 欧美日韩在线亚洲综合国产人 | 午夜时刻免费入口 | 特黄特色大片免费播放器图片 | 欧美乱妇无乱码大黄a片 | 国产黑色丝袜在线播放 | 亚洲精品一区三区三区在线观看 | 女人被爽到呻吟gif动态图视看 | 国产精品香蕉在线观看 | 动漫av一区二区在线观看 | 少妇高潮喷潮久久久影院 | 亚洲精品无码人妻无码 | 狠狠色丁香久久婷婷综合五月 | 图片小说视频一区二区 | 成人无码精品1区2区3区免费看 | 国产精品嫩草久久久久 | 国产在线aaa片一区二区99 | 国产成人无码a区在线观看视频app | 日日干夜夜干 | 丰满岳乱妇在线观看中字无码 | 极品嫩模高潮叫床 | 夜夜高潮次次欢爽av女 | 欧美日韩人成综合在线播放 | 97se亚洲精品一区 | 久久久久成人精品免费播放动漫 | 图片区 小说区 区 亚洲五月 | 曰韩少妇内射免费播放 | 男女下面进入的视频免费午夜 | 初尝人妻少妇中文字幕 | 精品久久综合1区2区3区激情 | 在线天堂新版最新版在线8 | 国产亚洲人成在线播放 | 色老头在线一区二区三区 | av无码不卡在线观看免费 | 中文字幕精品av一区二区五区 | 老司机亚洲精品影院 | 欧美日韩人成综合在线播放 | 真人与拘做受免费视频一 | 亚洲春色在线视频 | 青草视频在线播放 | 亚洲成a人片在线观看无码3d | 国产激情精品一区二区三区 | 亚洲欧美日韩成人高清在线一区 | 国产精品人妻一区二区三区四 | av无码久久久久不卡免费网站 | 国产精品成人av在线观看 | 精品熟女少妇av免费观看 | 国产一区二区不卡老阿姨 | 亚洲国产精品无码一区二区三区 | 成年女人永久免费看片 | 亚洲小说图区综合在线 | 久久精品成人欧美大片 | 中文字幕 亚洲精品 第1页 | 波多野结衣高清一区二区三区 | 婷婷色婷婷开心五月四房播播 | 国产电影无码午夜在线播放 | 欧美日韩久久久精品a片 | 97夜夜澡人人双人人人喊 | 一区二区三区高清视频一 | 国产艳妇av在线观看果冻传媒 | 免费无码肉片在线观看 | 久久综合狠狠综合久久综合88 | 日本熟妇大屁股人妻 | 久久亚洲中文字幕无码 | 欧美自拍另类欧美综合图片区 | 亚洲精品成a人在线观看 | 欧美成人高清在线播放 | 九九久久精品国产免费看小说 | 曰韩少妇内射免费播放 | 欧美肥老太牲交大战 | 狠狠躁日日躁夜夜躁2020 | 久久久国产一区二区三区 | 亚洲综合无码一区二区三区 | 图片小说视频一区二区 | 亚洲区小说区激情区图片区 | 高潮毛片无遮挡高清免费 | 国产精品内射视频免费 | а√资源新版在线天堂 | 午夜福利一区二区三区在线观看 | 国产av人人夜夜澡人人爽麻豆 | 中文精品无码中文字幕无码专区 | 国内揄拍国内精品少妇国语 | 人人妻人人澡人人爽欧美一区九九 | 青草视频在线播放 | 成人一在线视频日韩国产 | 97无码免费人妻超级碰碰夜夜 | 大地资源网第二页免费观看 | 免费中文字幕日韩欧美 | 精品人妻人人做人人爽 | 欧美大屁股xxxxhd黑色 | 无人区乱码一区二区三区 | 台湾无码一区二区 | 麻豆国产丝袜白领秘书在线观看 | 给我免费的视频在线观看 | 国产人成高清在线视频99最全资源 | 国内老熟妇对白xxxxhd | 免费无码肉片在线观看 | 蜜桃av蜜臀av色欲av麻 999久久久国产精品消防器材 | 蜜臀aⅴ国产精品久久久国产老师 | 亚洲精品www久久久 | 少妇无码吹潮 | 久久久国产一区二区三区 | 精品无码一区二区三区爱欲 | 国产美女精品一区二区三区 | 亚洲精品久久久久avwww潮水 | 日本www一道久久久免费榴莲 | 麻豆国产人妻欲求不满谁演的 | 精品亚洲韩国一区二区三区 | 亚洲日本va中文字幕 | 狠狠色欧美亚洲狠狠色www | 国产精品无码mv在线观看 | 亚洲色欲色欲天天天www | 欧美变态另类xxxx | 在线看片无码永久免费视频 | 中文字幕 亚洲精品 第1页 | 亚洲gv猛男gv无码男同 | 无人区乱码一区二区三区 | 国产真人无遮挡作爱免费视频 | 日韩欧美中文字幕在线三区 | 中文毛片无遮挡高清免费 | 久久久中文字幕日本无吗 | 98国产精品综合一区二区三区 | 丰满人妻一区二区三区免费视频 | 日韩亚洲欧美中文高清在线 | 国产成人无码av在线影院 | 初尝人妻少妇中文字幕 | 亚洲中文字幕va福利 | 精品一二三区久久aaa片 | 中文无码伦av中文字幕 | 男女下面进入的视频免费午夜 | 亚洲一区二区三区偷拍女厕 | 牛和人交xxxx欧美 | 日本精品人妻无码77777 天堂一区人妻无码 | 国产性猛交╳xxx乱大交 国产精品久久久久久无码 欧洲欧美人成视频在线 | 六月丁香婷婷色狠狠久久 | 免费观看又污又黄的网站 | 国产亚洲精品久久久久久久久动漫 | 三级4级全黄60分钟 | www一区二区www免费 | 国产av久久久久精东av | 131美女爱做视频 | 亚洲国产精品毛片av不卡在线 | 中文字幕乱码人妻二区三区 | 国产精品无套呻吟在线 | 双乳奶水饱满少妇呻吟 | 性色欲情网站iwww九文堂 | 丰满少妇女裸体bbw | 无码帝国www无码专区色综合 | 欧美精品国产综合久久 | 日日碰狠狠躁久久躁蜜桃 | 久久午夜夜伦鲁鲁片无码免费 | 国产性生大片免费观看性 | 乌克兰少妇xxxx做受 | 丰满人妻一区二区三区免费视频 | 一本加勒比波多野结衣 | 欧美成人免费全部网站 | 亚洲日韩一区二区 | 未满小14洗澡无码视频网站 | 偷窥村妇洗澡毛毛多 | 国产精品久久久久7777 | 久久国产自偷自偷免费一区调 | 色综合久久网 | 蜜桃av蜜臀av色欲av麻 999久久久国产精品消防器材 | 天天摸天天透天天添 | 少妇性荡欲午夜性开放视频剧场 | 精品久久久久久人妻无码中文字幕 | 成在人线av无码免观看麻豆 | 麻豆精品国产精华精华液好用吗 | 纯爱无遮挡h肉动漫在线播放 | 国内精品人妻无码久久久影院蜜桃 | 日本大香伊一区二区三区 | 又大又硬又爽免费视频 | 欧美成人高清在线播放 | 亚洲色欲久久久综合网东京热 | 日韩亚洲欧美中文高清在线 | 亚洲一区二区三区 | 国语精品一区二区三区 | 国产成人精品一区二区在线小狼 | 成人一区二区免费视频 | 一区二区三区高清视频一 | 国产精品99久久精品爆乳 | 丰满岳乱妇在线观看中字无码 | 日本乱偷人妻中文字幕 | 成年美女黄网站色大免费全看 | 久久久中文久久久无码 | 国产福利视频一区二区 | 国产成人综合在线女婷五月99播放 | 欧洲熟妇色 欧美 | 国产精品沙发午睡系列 | 精品亚洲成av人在线观看 | 日本xxxx色视频在线观看免费 | 极品嫩模高潮叫床 | 亚洲а∨天堂久久精品2021 | 国产精品亚洲а∨无码播放麻豆 | 国产av人人夜夜澡人人爽麻豆 | 亚洲色欲色欲欲www在线 | 波多野结衣一区二区三区av免费 | 国产精品18久久久久久麻辣 | 人人妻人人藻人人爽欧美一区 | 亚洲va中文字幕无码久久不卡 | 精品国产av色一区二区深夜久久 | 国产极品美女高潮无套在线观看 | 老熟妇仑乱视频一区二区 | 婷婷五月综合激情中文字幕 | 亚洲乱亚洲乱妇50p | 欧美成人高清在线播放 | 婷婷综合久久中文字幕蜜桃三电影 | 久久综合九色综合欧美狠狠 | 曰本女人与公拘交酡免费视频 | 成人精品视频一区二区三区尤物 | 牛和人交xxxx欧美 | 无码中文字幕色专区 | 亚洲欧美日韩国产精品一区二区 | 偷窥日本少妇撒尿chinese | 久久久亚洲欧洲日产国码αv | 国产97人人超碰caoprom | 综合人妻久久一区二区精品 | 激情内射日本一区二区三区 | 久久精品视频在线看15 | 国产香蕉97碰碰久久人人 | 在线欧美精品一区二区三区 | 亲嘴扒胸摸屁股激烈网站 | 天干天干啦夜天干天2017 | 国产精品无套呻吟在线 | 伊人久久大香线焦av综合影院 | 99麻豆久久久国产精品免费 | 婷婷六月久久综合丁香 | 国内精品九九久久久精品 | 国产人妻精品一区二区三区 | 久久精品中文字幕一区 | 亚洲国产欧美在线成人 | 图片区 小说区 区 亚洲五月 | 亚洲欧美中文字幕5发布 | 强辱丰满人妻hd中文字幕 | 国产成人综合色在线观看网站 | 丝袜美腿亚洲一区二区 | 日日摸夜夜摸狠狠摸婷婷 | 99久久精品日本一区二区免费 | 久久久久久av无码免费看大片 | 国产熟女一区二区三区四区五区 | 色婷婷综合激情综在线播放 | 97色伦图片97综合影院 | 成人免费视频一区二区 | 国产人妻精品一区二区三区不卡 | 国产区女主播在线观看 | 国产一区二区三区日韩精品 | 无码av免费一区二区三区试看 | 日韩欧美中文字幕公布 | 亚洲国产综合无码一区 | 国产偷自视频区视频 | 久久久久人妻一区精品色欧美 | 久久久久亚洲精品中文字幕 | 成人一区二区免费视频 | 成人免费无码大片a毛片 | 国内老熟妇对白xxxxhd | 国产在线精品一区二区三区直播 | 国产人妻精品午夜福利免费 | 亚洲国产成人a精品不卡在线 | 日韩精品成人一区二区三区 | 国产精品人人爽人人做我的可爱 | 成人免费视频一区二区 | 国产一区二区三区精品视频 | 男女下面进入的视频免费午夜 | 欧美丰满少妇xxxx性 | 精品无人国产偷自产在线 | 人人爽人人爽人人片av亚洲 | 在线观看国产午夜福利片 | 成人试看120秒体验区 | 久久久久se色偷偷亚洲精品av | 中文字幕+乱码+中文字幕一区 | 久久成人a毛片免费观看网站 | 98国产精品综合一区二区三区 | 无码精品人妻一区二区三区av | 少妇愉情理伦片bd | aa片在线观看视频在线播放 | 无码人妻少妇伦在线电影 | 亚洲狠狠色丁香婷婷综合 | 精品人妻中文字幕有码在线 | 国产精品久久福利网站 | 国产成人综合在线女婷五月99播放 | 国产精品欧美成人 | 国产香蕉尹人视频在线 | 午夜熟女插插xx免费视频 | 欧美日韩色另类综合 | 久久亚洲国产成人精品性色 | 亚洲综合精品香蕉久久网 | 亚洲国产欧美日韩精品一区二区三区 | 玩弄人妻少妇500系列视频 | 人妻无码久久精品人妻 | 麻花豆传媒剧国产免费mv在线 | 欧美日韩人成综合在线播放 | 精品无码一区二区三区爱欲 | 丁香啪啪综合成人亚洲 | 国产成人av免费观看 | 亚洲国产综合无码一区 | aⅴ亚洲 日韩 色 图网站 播放 | 欧洲欧美人成视频在线 | 噜噜噜亚洲色成人网站 | 夜先锋av资源网站 | 男女下面进入的视频免费午夜 | 午夜精品久久久久久久 | 成人免费视频视频在线观看 免费 | 国产精品资源一区二区 | 欧美亚洲国产一区二区三区 | 欧美第一黄网免费网站 | 国产农村妇女高潮大叫 | 精品国产aⅴ无码一区二区 | 亚洲一区二区三区偷拍女厕 | 久久久久久av无码免费看大片 | 精品无码国产自产拍在线观看蜜 | 亚洲一区av无码专区在线观看 | 婷婷五月综合激情中文字幕 | 搡女人真爽免费视频大全 | 国产在线aaa片一区二区99 | 久久99精品久久久久婷婷 | 亚洲欧美日韩成人高清在线一区 | 亚洲 高清 成人 动漫 | 高清无码午夜福利视频 | 天天躁夜夜躁狠狠是什么心态 | 免费国产成人高清在线观看网站 | 老熟妇仑乱视频一区二区 | 99精品国产综合久久久久五月天 | 88国产精品欧美一区二区三区 | 99精品视频在线观看免费 | 秋霞成人午夜鲁丝一区二区三区 | 亚洲最大成人网站 | 少妇性俱乐部纵欲狂欢电影 | 少妇被粗大的猛进出69影院 | 午夜精品一区二区三区的区别 | 国产亚洲精品久久久久久久 | 人妻少妇精品无码专区二区 | 伊人久久大香线蕉av一区二区 | 欧美熟妇另类久久久久久多毛 | 无码午夜成人1000部免费视频 | 精品国产一区av天美传媒 | 久久久成人毛片无码 | 少妇性荡欲午夜性开放视频剧场 | 亚洲精品一区三区三区在线观看 | 国产乱人偷精品人妻a片 | 国产69精品久久久久app下载 | 久久精品国产一区二区三区 | 欧美午夜特黄aaaaaa片 | 中文字幕人妻无码一区二区三区 | 国产乱码精品一品二品 | 亚洲综合精品香蕉久久网 | 未满小14洗澡无码视频网站 | 国产精品多人p群无码 | 精品厕所偷拍各类美女tp嘘嘘 | 久久久久成人精品免费播放动漫 | 亚洲日本一区二区三区在线 | 国产麻豆精品精东影业av网站 | 4hu四虎永久在线观看 | 国产偷国产偷精品高清尤物 | 日韩人妻无码一区二区三区久久99 | 国产舌乚八伦偷品w中 | 99久久婷婷国产综合精品青草免费 | 樱花草在线播放免费中文 | 99久久久国产精品无码免费 | 女高中生第一次破苞av | av人摸人人人澡人人超碰下载 | 欧美日韩一区二区综合 | 久久99精品国产麻豆 | 国产免费久久精品国产传媒 | 97夜夜澡人人爽人人喊中国片 | 亚洲日韩乱码中文无码蜜桃臀网站 | 欧美日韩久久久精品a片 | 99久久久国产精品无码免费 | 日韩视频 中文字幕 视频一区 | 国产av久久久久精东av | 国产精品久久久久9999小说 | 亚洲国产午夜精品理论片 | 久久熟妇人妻午夜寂寞影院 | 欧美性色19p | 黑人粗大猛烈进出高潮视频 | 欧美丰满少妇xxxx性 | 亚洲精品一区三区三区在线观看 | 亚洲国产欧美日韩精品一区二区三区 | 久久午夜夜伦鲁鲁片无码免费 | 国产精品无码永久免费888 | 巨爆乳无码视频在线观看 | 成人影院yy111111在线观看 | 内射爽无广熟女亚洲 | 亚洲国产精品久久久天堂 | 亚洲国产精品一区二区美利坚 | 久久97精品久久久久久久不卡 | 亚洲欧洲日本综合aⅴ在线 | 亚洲va中文字幕无码久久不卡 | 日本一卡2卡3卡四卡精品网站 | 精品国产av色一区二区深夜久久 | 岛国片人妻三上悠亚 | 丝袜足控一区二区三区 | √天堂资源地址中文在线 | 日本丰满护士爆乳xxxx | 久久精品国产日本波多野结衣 | 欧美日韩一区二区综合 | 激情内射亚州一区二区三区爱妻 | 任你躁在线精品免费 | 久久亚洲精品成人无码 | 国产精品亚洲五月天高清 | 九月婷婷人人澡人人添人人爽 | 亚洲成av人在线观看网址 | 亚洲人成网站在线播放942 | 呦交小u女精品视频 | 亚洲色在线无码国产精品不卡 | 精品无码国产一区二区三区av | 无码国内精品人妻少妇 | 亚洲 a v无 码免 费 成 人 a v | 国产无遮挡又黄又爽免费视频 | 色婷婷综合激情综在线播放 | 国产乱人无码伦av在线a | 无码人妻精品一区二区三区下载 | 精品午夜福利在线观看 | 无码人妻少妇伦在线电影 | 日本丰满熟妇videos | 免费看男女做好爽好硬视频 | 午夜无码区在线观看 | 在线a亚洲视频播放在线观看 | 国产热a欧美热a在线视频 | 狠狠cao日日穞夜夜穞av | 国产麻豆精品精东影业av网站 | 亚洲国产精品无码久久久久高潮 | 国产精品久久国产精品99 | 四十如虎的丰满熟妇啪啪 | 亚洲成在人网站无码天堂 | 青青久在线视频免费观看 | 国产另类ts人妖一区二区 | 免费人成在线观看网站 | 国产精品资源一区二区 | yw尤物av无码国产在线观看 | 日韩少妇内射免费播放 | 国产香蕉尹人综合在线观看 | 久久国产精品二国产精品 | 成人一区二区免费视频 | 亚洲成av人片天堂网无码】 | 久久精品99久久香蕉国产色戒 | 久久久久成人精品免费播放动漫 | 天天燥日日燥 | 午夜福利试看120秒体验区 | 成年美女黄网站色大免费视频 | 国产精品欧美成人 | 国产成人精品久久亚洲高清不卡 | 中文字幕人妻丝袜二区 | 日日碰狠狠躁久久躁蜜桃 | 99久久亚洲精品无码毛片 | 亚洲精品综合一区二区三区在线 | 在线精品亚洲一区二区 | 国产在线一区二区三区四区五区 | 初尝人妻少妇中文字幕 | 亚洲成色www久久网站 | 在线 国产 欧美 亚洲 天堂 | 亚洲精品国产第一综合99久久 | 亚洲日韩中文字幕在线播放 | 成人无码精品1区2区3区免费看 | 欧美肥老太牲交大战 | 国内少妇偷人精品视频 | 真人与拘做受免费视频 | 蜜臀av在线播放 久久综合激激的五月天 | 兔费看少妇性l交大片免费 | 伊人久久大香线蕉亚洲 | 久久亚洲日韩精品一区二区三区 | 天天做天天爱天天爽综合网 | 国产xxx69麻豆国语对白 | 人人妻人人澡人人爽人人精品浪潮 | 高清不卡一区二区三区 | 欧美黑人巨大xxxxx | 国产午夜无码精品免费看 | 国产精品亚洲一区二区三区喷水 | 少妇被粗大的猛进出69影院 | 国产成人精品必看 | 日日鲁鲁鲁夜夜爽爽狠狠 | 国语自产偷拍精品视频偷 | 久久久精品456亚洲影院 | 国产一区二区三区四区五区加勒比 | 国产精品亚洲综合色区韩国 | 亚洲 欧美 激情 小说 另类 | 亚洲欧美综合区丁香五月小说 | 好爽又高潮了毛片免费下载 | 大地资源网第二页免费观看 | 少妇人妻偷人精品无码视频 | 人人澡人人妻人人爽人人蜜桃 | 日本精品高清一区二区 | 99久久人妻精品免费一区 | 日本乱人伦片中文三区 | 成熟女人特级毛片www免费 | 亚洲伊人久久精品影院 | 亚洲欧美日韩综合久久久 | 成人亚洲精品久久久久 | 97se亚洲精品一区 | 国产av久久久久精东av | 久久综合久久自在自线精品自 | 久久久国产一区二区三区 | 全球成人中文在线 | 国内精品一区二区三区不卡 | 性色av无码免费一区二区三区 | 国产精品欧美成人 | 中文字幕乱妇无码av在线 | 国产精品无套呻吟在线 | 精品国产乱码久久久久乱码 | 中文字幕无码av波多野吉衣 | 装睡被陌生人摸出水好爽 | 久久久久国色av免费观看性色 | 成人影院yy111111在线观看 | 玩弄人妻少妇500系列视频 | 久久精品国产日本波多野结衣 | a片免费视频在线观看 | 最近免费中文字幕中文高清百度 | 亚洲日韩av一区二区三区四区 | 亚洲人成网站免费播放 | 日韩亚洲欧美中文高清在线 | 欧美国产日产一区二区 | 中文字幕乱码亚洲无线三区 | 人妻插b视频一区二区三区 | 国精产品一品二品国精品69xx | 国内精品人妻无码久久久影院 | 少妇厨房愉情理9仑片视频 | 亚洲精品久久久久avwww潮水 | 亚洲一区二区三区偷拍女厕 | 国产精品国产三级国产专播 | 麻豆国产97在线 | 欧洲 | 一本精品99久久精品77 | 亚洲码国产精品高潮在线 | 麻豆精产国品 | 色五月五月丁香亚洲综合网 | 国产在线精品一区二区三区直播 | 国产熟女一区二区三区四区五区 | 国产综合在线观看 | 国产av一区二区精品久久凹凸 | 小sao货水好多真紧h无码视频 | 熟妇人妻无乱码中文字幕 | 亚洲精品无码人妻无码 | 鲁一鲁av2019在线 | 国产精品久久久午夜夜伦鲁鲁 | 欧美黑人乱大交 | 欧洲vodafone精品性 | 99精品国产综合久久久久五月天 | 亚洲日韩av片在线观看 | 久久综合九色综合97网 | 亚洲无人区午夜福利码高清完整版 | 欧美性黑人极品hd | 亚洲中文字幕无码中文字在线 | 免费看男女做好爽好硬视频 | 内射后入在线观看一区 | 国产av久久久久精东av | 人妻插b视频一区二区三区 | 欧美日韩一区二区综合 | 精品久久综合1区2区3区激情 | 高清不卡一区二区三区 | 精品偷拍一区二区三区在线看 | 天堂无码人妻精品一区二区三区 | 欧美 丝袜 自拍 制服 另类 | 国产办公室秘书无码精品99 | 高潮毛片无遮挡高清免费 | 国产精品内射视频免费 | 在线观看免费人成视频 | 俺去俺来也在线www色官网 | 高潮毛片无遮挡高清免费 | 国产精品永久免费视频 | 人妻少妇被猛烈进入中文字幕 | 麻豆av传媒蜜桃天美传媒 | 精品午夜福利在线观看 | 久久亚洲精品成人无码 | 欧美日韩一区二区免费视频 | 国产乱人伦av在线无码 | 99久久久无码国产aaa精品 | 免费播放一区二区三区 | 无码人妻精品一区二区三区不卡 | 色综合久久久无码网中文 | 国产亚洲精品久久久久久 | 老熟女乱子伦 | 装睡被陌生人摸出水好爽 | 欧美老熟妇乱xxxxx | 成人免费视频一区二区 | 青草青草久热国产精品 | 日韩亚洲欧美精品综合 | 成人精品视频一区二区 | 日韩欧美中文字幕公布 | 国产午夜手机精彩视频 | 国产精品久久久久影院嫩草 | 国精品人妻无码一区二区三区蜜柚 | 疯狂三人交性欧美 | 蜜臀aⅴ国产精品久久久国产老师 | 久久久久久久久888 | 男人扒开女人内裤强吻桶进去 | 98国产精品综合一区二区三区 | 欧美日韩视频无码一区二区三 | 国产真人无遮挡作爱免费视频 | 色综合久久久无码中文字幕 | 高潮毛片无遮挡高清免费视频 | 亚洲欧美国产精品专区久久 | 国产精品人妻一区二区三区四 | 波多野结衣 黑人 | 成年美女黄网站色大免费全看 | 蜜桃臀无码内射一区二区三区 | 国产人成高清在线视频99最全资源 | 成人av无码一区二区三区 | 国产亲子乱弄免费视频 | 综合人妻久久一区二区精品 | 蜜桃av抽搐高潮一区二区 | 亚洲国产午夜精品理论片 | 丰满少妇女裸体bbw | 久久精品成人欧美大片 | 中文字幕无码免费久久99 | 亚洲精品综合五月久久小说 | 国产一区二区三区影院 | 天天摸天天碰天天添 | 又紧又大又爽精品一区二区 | 日韩人妻无码中文字幕视频 | 曰本女人与公拘交酡免费视频 | 色一情一乱一伦一区二区三欧美 | 国产色视频一区二区三区 | 波多野结衣av一区二区全免费观看 | 四虎国产精品免费久久 | 日韩欧美成人免费观看 | 免费无码肉片在线观看 | 国精品人妻无码一区二区三区蜜柚 | 嫩b人妻精品一区二区三区 | 一本久道高清无码视频 | 国产高清av在线播放 | 装睡被陌生人摸出水好爽 | 国产精品久久久久9999小说 | 人人妻人人澡人人爽精品欧美 | 日本一卡2卡3卡四卡精品网站 | 在线亚洲高清揄拍自拍一品区 | 婷婷综合久久中文字幕蜜桃三电影 | 黄网在线观看免费网站 | 熟妇女人妻丰满少妇中文字幕 | 精品人妻人人做人人爽 | 亚洲精品一区二区三区大桥未久 | 日本爽爽爽爽爽爽在线观看免 | 天天躁日日躁狠狠躁免费麻豆 | 久久久久亚洲精品男人的天堂 | 婷婷丁香五月天综合东京热 | 一本大道伊人av久久综合 | 日韩少妇内射免费播放 | 无码av免费一区二区三区试看 | 国产高潮视频在线观看 | 九九综合va免费看 | 亚洲日韩av一区二区三区四区 | 九月婷婷人人澡人人添人人爽 | 久久久久久av无码免费看大片 | 在线亚洲高清揄拍自拍一品区 | 亚洲伊人久久精品影院 | 欧美性生交活xxxxxdddd | 丰满人妻翻云覆雨呻吟视频 | 午夜嘿嘿嘿影院 | 又色又爽又黄的美女裸体网站 | 精品亚洲韩国一区二区三区 | 亚洲精品美女久久久久久久 | v一区无码内射国产 | 色诱久久久久综合网ywww | 亚洲成熟女人毛毛耸耸多 | 一本久久a久久精品vr综合 | 呦交小u女精品视频 | 亚洲日本在线电影 | 久久99精品国产.久久久久 | 欧洲欧美人成视频在线 | 亚洲欧美综合区丁香五月小说 | yw尤物av无码国产在线观看 | 青青草原综合久久大伊人精品 | 精品国偷自产在线视频 | 狂野欧美性猛xxxx乱大交 | 国内精品九九久久久精品 | 国产成人无码a区在线观看视频app | 无码人妻黑人中文字幕 | 亚洲一区二区三区在线观看网站 | 亚洲国产精品美女久久久久 | 亚洲毛片av日韩av无码 | 精品午夜福利在线观看 | 欧美丰满老熟妇xxxxx性 | 中文字幕无线码 | 小鲜肉自慰网站xnxx | 亚洲色无码一区二区三区 | 97人妻精品一区二区三区 | 精品国产福利一区二区 | 女人被男人躁得好爽免费视频 | 亚洲中文字幕无码中文字在线 | 少妇厨房愉情理9仑片视频 | 欧洲美熟女乱又伦 | 人妻插b视频一区二区三区 | 中文字幕乱码人妻二区三区 | 国内精品人妻无码久久久影院 | 日韩欧美中文字幕在线三区 | 动漫av网站免费观看 | 成人精品天堂一区二区三区 | 成人性做爰aaa片免费看 | 大地资源网第二页免费观看 | 岛国片人妻三上悠亚 | 最近免费中文字幕中文高清百度 | www国产亚洲精品久久久日本 | 人妻aⅴ无码一区二区三区 | 黑人巨大精品欧美一区二区 | 学生妹亚洲一区二区 | 日本精品高清一区二区 | 中文字幕乱码中文乱码51精品 | 成人av无码一区二区三区 | 国产精品久久久久影院嫩草 | 精品午夜福利在线观看 | 永久免费观看美女裸体的网站 | 色综合视频一区二区三区 | 国产成人综合色在线观看网站 | 中文字幕人成乱码熟女app | 久久这里只有精品视频9 | 日本一卡二卡不卡视频查询 | 老太婆性杂交欧美肥老太 | 九月婷婷人人澡人人添人人爽 | 亚洲无人区一区二区三区 | 丁香啪啪综合成人亚洲 | 欧美激情综合亚洲一二区 | 国产av人人夜夜澡人人爽麻豆 | 久久久久免费精品国产 | а√资源新版在线天堂 | 国产精品人人妻人人爽 | 波多野结衣一区二区三区av免费 | 欧美熟妇另类久久久久久不卡 | 一本久久a久久精品亚洲 | 中文字幕无码热在线视频 | 欧美成人午夜精品久久久 | 国产口爆吞精在线视频 | 国产精品人人爽人人做我的可爱 | 国产午夜视频在线观看 | 狂野欧美性猛xxxx乱大交 | 欧美国产日韩亚洲中文 | 无码av免费一区二区三区试看 | 永久免费观看国产裸体美女 | 久久综合香蕉国产蜜臀av | 久久国产36精品色熟妇 | 成年美女黄网站色大免费全看 | 亚洲伊人久久精品影院 | 国产欧美熟妇另类久久久 | 久久久久成人精品免费播放动漫 | 草草网站影院白丝内射 | 亚洲国产精品无码久久久久高潮 | 欧美乱妇无乱码大黄a片 | 国产人妻人伦精品1国产丝袜 | 中文精品无码中文字幕无码专区 | 国产热a欧美热a在线视频 | 狠狠亚洲超碰狼人久久 | 国产亚洲美女精品久久久2020 | 日产精品99久久久久久 | 欧美35页视频在线观看 | 久久午夜夜伦鲁鲁片无码免费 | 2019nv天堂香蕉在线观看 | 欧美猛少妇色xxxxx | 国产精品毛片一区二区 | 女人被男人爽到呻吟的视频 | 精品国产成人一区二区三区 | 国产黄在线观看免费观看不卡 | 国产特级毛片aaaaaa高潮流水 | 亚洲精品www久久久 | 亚洲午夜无码久久 | 国产疯狂伦交大片 | 亚洲s色大片在线观看 | 亚洲精品久久久久中文第一幕 | 久久午夜夜伦鲁鲁片无码免费 | 国产偷自视频区视频 | 欧美zoozzooz性欧美 | 人妻中文无码久热丝袜 | 午夜福利电影 | 亚洲欧美综合区丁香五月小说 | 久久综合久久自在自线精品自 | 亚洲成a人一区二区三区 | 欧美freesex黑人又粗又大 | 欧美真人作爱免费视频 | a在线亚洲男人的天堂 | 捆绑白丝粉色jk震动捧喷白浆 | 亚洲国产精品无码久久久久高潮 | 67194成是人免费无码 | 亚洲国产精品无码一区二区三区 | 欧美熟妇另类久久久久久不卡 | 极品尤物被啪到呻吟喷水 | 奇米影视7777久久精品人人爽 | 国产农村乱对白刺激视频 | 玩弄人妻少妇500系列视频 | 日本va欧美va欧美va精品 | 色 综合 欧美 亚洲 国产 | 国产人妻久久精品二区三区老狼 | 国产精品毛多多水多 | 日日橹狠狠爱欧美视频 | 人人爽人人澡人人高潮 | 日本熟妇人妻xxxxx人hd | 欧美激情综合亚洲一二区 | 精品国产一区二区三区四区在线看 | 人人澡人人妻人人爽人人蜜桃 | 无套内谢老熟女 | 亚洲精品一区二区三区四区五区 | 任你躁在线精品免费 | 久久久久人妻一区精品色欧美 | 欧美精品在线观看 | 伊人久久大香线焦av综合影院 | 在线 国产 欧美 亚洲 天堂 | 双乳奶水饱满少妇呻吟 | 久久亚洲中文字幕无码 | 国产99久久精品一区二区 | 精品厕所偷拍各类美女tp嘘嘘 | 对白脏话肉麻粗话av | 亚洲国产欧美国产综合一区 | 国产区女主播在线观看 | 天堂亚洲2017在线观看 | 国内少妇偷人精品视频免费 | 97精品人妻一区二区三区香蕉 | 欧美日韩一区二区免费视频 | 欧美熟妇另类久久久久久多毛 | 扒开双腿吃奶呻吟做受视频 | 久久天天躁狠狠躁夜夜免费观看 | 国产成人无码a区在线观看视频app | 扒开双腿疯狂进出爽爽爽视频 | 欧美xxxx黑人又粗又长 | 无码av中文字幕免费放 | 综合网日日天干夜夜久久 | 亚洲一区av无码专区在线观看 | 精品夜夜澡人妻无码av蜜桃 | 亚洲成a人一区二区三区 | 牛和人交xxxx欧美 | 最近的中文字幕在线看视频 | 国产精品人人爽人人做我的可爱 | 性欧美疯狂xxxxbbbb | 无码国产激情在线观看 | 国产亚av手机在线观看 | 人人妻人人澡人人爽精品欧美 | 黄网在线观看免费网站 | 国产av久久久久精东av | 国产精品国产自线拍免费软件 | 国产精品久久久久久亚洲毛片 | 少女韩国电视剧在线观看完整 | 日韩少妇内射免费播放 | 老司机亚洲精品影院无码 | 高潮毛片无遮挡高清免费视频 | 无码av中文字幕免费放 | 蜜臀aⅴ国产精品久久久国产老师 | 日产国产精品亚洲系列 | 西西人体www44rt大胆高清 | 精品国产麻豆免费人成网站 | 久久久精品456亚洲影院 | 日日摸天天摸爽爽狠狠97 | 亚洲色大成网站www国产 | 欧美 丝袜 自拍 制服 另类 | 欧美一区二区三区视频在线观看 | 天海翼激烈高潮到腰振不止 | 精品国产乱码久久久久乱码 | 无码吃奶揉捏奶头高潮视频 | 东京热男人av天堂 | 亚洲欧美综合区丁香五月小说 | 午夜成人1000部免费视频 | 麻豆国产丝袜白领秘书在线观看 | 人妻无码久久精品人妻 | 欧美精品无码一区二区三区 | www国产精品内射老师 | 亚洲人成影院在线无码按摩店 | 日日干夜夜干 | 丝袜足控一区二区三区 | 免费人成网站视频在线观看 | 国产精品毛片一区二区 | 亚洲国产精品久久久天堂 | 国产熟妇另类久久久久 | 亚洲国产一区二区三区在线观看 | 国产午夜亚洲精品不卡下载 | 东京热无码av男人的天堂 | 亚洲色在线无码国产精品不卡 | 日日碰狠狠丁香久燥 | a在线观看免费网站大全 | 人人妻人人澡人人爽精品欧美 | 国产疯狂伦交大片 | 成人免费视频在线观看 | 亚洲精品一区二区三区婷婷月 | 亚洲熟妇色xxxxx欧美老妇 | 国产精品无码永久免费888 | 国产亚洲人成a在线v网站 | 红桃av一区二区三区在线无码av | 欧美肥老太牲交大战 | 亚洲 高清 成人 动漫 | 丰满岳乱妇在线观看中字无码 | 精品国产麻豆免费人成网站 | 国产无av码在线观看 | 欧洲欧美人成视频在线 | 久久久久亚洲精品男人的天堂 | 亚洲一区二区三区无码久久 | 波多野结衣av一区二区全免费观看 | 黑森林福利视频导航 | 国产乱子伦视频在线播放 | 内射后入在线观看一区 | 欧美老妇交乱视频在线观看 | 无套内谢的新婚少妇国语播放 | 日韩精品无码一区二区中文字幕 | 无遮挡啪啪摇乳动态图 | 少妇被粗大的猛进出69影院 | 中文久久乱码一区二区 | 国产av无码专区亚洲a∨毛片 | 亚洲中文字幕无码中文字在线 | 中国大陆精品视频xxxx | 97人妻精品一区二区三区 | 少妇性l交大片 | 色一情一乱一伦一视频免费看 | 樱花草在线社区www | 精品无码国产自产拍在线观看蜜 | 久久亚洲中文字幕无码 | 精品国产aⅴ无码一区二区 | 久久99精品久久久久久动态图 | 小鲜肉自慰网站xnxx | 久久精品国产一区二区三区肥胖 | 国产一区二区三区精品视频 | 久久综合给合久久狠狠狠97色 | 国产亚洲精品久久久久久 | 日本精品人妻无码免费大全 | 欧美激情内射喷水高潮 | 日本丰满护士爆乳xxxx | 午夜无码人妻av大片色欲 | 午夜丰满少妇性开放视频 | 少妇性荡欲午夜性开放视频剧场 | a片免费视频在线观看 | 牲欲强的熟妇农村老妇女视频 | 中文字幕无码免费久久99 | 少妇被粗大的猛进出69影院 | 俺去俺来也在线www色官网 | 亚洲欧美日韩成人高清在线一区 | 日韩精品久久久肉伦网站 | 成人欧美一区二区三区黑人免费 | 天天摸天天碰天天添 | 男人的天堂2018无码 | 亚洲色www成人永久网址 | 秋霞成人午夜鲁丝一区二区三区 | 久久亚洲国产成人精品性色 | 欧美熟妇另类久久久久久多毛 | 国内精品人妻无码久久久影院 | 99久久精品午夜一区二区 | 99riav国产精品视频 | 欧美丰满熟妇xxxx性ppx人交 | 午夜精品一区二区三区在线观看 | 无码国产乱人伦偷精品视频 | 亚欧洲精品在线视频免费观看 | 青草青草久热国产精品 | 国产av人人夜夜澡人人爽麻豆 | 无码国产色欲xxxxx视频 | 欧美人妻一区二区三区 | 久久久精品人妻久久影视 | 粉嫩少妇内射浓精videos | 国产一区二区三区日韩精品 | 国产绳艺sm调教室论坛 | 亚洲a无码综合a国产av中文 | 亚洲а∨天堂久久精品2021 | 亚洲呦女专区 | 丰满护士巨好爽好大乳 | 无码一区二区三区在线观看 | 国产色xx群视频射精 | 无遮无挡爽爽免费视频 | 亚洲精品中文字幕乱码 | 欧美人与禽猛交狂配 | 久久久国产精品无码免费专区 | 99久久人妻精品免费一区 | 玩弄少妇高潮ⅹxxxyw | 精品厕所偷拍各类美女tp嘘嘘 | 漂亮人妻洗澡被公强 日日躁 | 少妇无套内谢久久久久 | 99久久99久久免费精品蜜桃 | 伊人色综合久久天天小片 | 成 人 网 站国产免费观看 | 九九热爱视频精品 | 少妇无码av无码专区在线观看 | 日韩人妻无码一区二区三区久久99 | 国产性生大片免费观看性 | 久久午夜无码鲁丝片午夜精品 | 无码人妻少妇伦在线电影 | 丰满诱人的人妻3 | 精品无码成人片一区二区98 | 中文字幕无码人妻少妇免费 | 国内综合精品午夜久久资源 | 一区二区传媒有限公司 | 亚洲综合无码一区二区三区 | 狠狠色噜噜狠狠狠狠7777米奇 | 亚洲精品国偷拍自产在线麻豆 | 亚洲第一无码av无码专区 | 久久久久免费看成人影片 | 强辱丰满人妻hd中文字幕 | 久久精品国产一区二区三区肥胖 | 粉嫩少妇内射浓精videos | 午夜性刺激在线视频免费 | 人妻人人添人妻人人爱 | 狂野欧美性猛交免费视频 | 四虎国产精品一区二区 | 亚洲精品久久久久avwww潮水 | 国产精品无码一区二区三区不卡 | 亚洲自偷精品视频自拍 | 亚洲成av人在线观看网址 | 久久99国产综合精品 | 国产偷国产偷精品高清尤物 | 婷婷五月综合缴情在线视频 | 领导边摸边吃奶边做爽在线观看 | 亚洲精品欧美二区三区中文字幕 | 精品水蜜桃久久久久久久 | 四虎4hu永久免费 | 国产乱人无码伦av在线a | 国产精品毛多多水多 | 国产乱人无码伦av在线a | 国产性生交xxxxx无码 | 蜜臀aⅴ国产精品久久久国产老师 | 中文字幕无码视频专区 | 99久久人妻精品免费二区 | 久久亚洲精品成人无码 | 国产黑色丝袜在线播放 | 蜜桃av蜜臀av色欲av麻 999久久久国产精品消防器材 | 国产黑色丝袜在线播放 | 任你躁在线精品免费 | 亚洲熟妇色xxxxx欧美老妇 | 国产凸凹视频一区二区 | 亚洲精品综合五月久久小说 | 伦伦影院午夜理论片 | 久久99热只有频精品8 | 男人扒开女人内裤强吻桶进去 | 色情久久久av熟女人妻网站 | 无码国内精品人妻少妇 | 思思久久99热只有频精品66 | 日韩精品成人一区二区三区 | 国产两女互慰高潮视频在线观看 | 成人精品一区二区三区中文字幕 | 亚洲爆乳大丰满无码专区 | 成熟人妻av无码专区 | 夜夜影院未满十八勿进 | 初尝人妻少妇中文字幕 | 亚无码乱人伦一区二区 | 欧美人与禽猛交狂配 | 丰满少妇女裸体bbw | 任你躁在线精品免费 | 55夜色66夜色国产精品视频 | 毛片内射-百度 | 伊人久久大香线焦av综合影院 | 国产莉萝无码av在线播放 | 国产人妻人伦精品1国产丝袜 | 亚洲综合伊人久久大杳蕉 | 丰满人妻翻云覆雨呻吟视频 | aa片在线观看视频在线播放 | 亚洲热妇无码av在线播放 | 在线精品国产一区二区三区 | 国产一区二区不卡老阿姨 | 中文字幕无码av波多野吉衣 | 内射巨臀欧美在线视频 | 欧美成人家庭影院 | 亚洲狠狠色丁香婷婷综合 | 88国产精品欧美一区二区三区 | 亚洲欧美综合区丁香五月小说 | 丝袜美腿亚洲一区二区 | 2019午夜福利不卡片在线 | 乌克兰少妇xxxx做受 | 一个人看的视频www在线 | 少妇被粗大的猛进出69影院 | 亚洲理论电影在线观看 | 亚洲国产精品一区二区第一页 | 亚洲区欧美区综合区自拍区 | 日本爽爽爽爽爽爽在线观看免 | 真人与拘做受免费视频一 | 中文字幕无码视频专区 | 亚洲精品国产精品乱码视色 | 精品夜夜澡人妻无码av蜜桃 | 亚洲精品久久久久中文第一幕 | 夫妻免费无码v看片 | 中文字幕无线码 | 西西人体www44rt大胆高清 | 小鲜肉自慰网站xnxx | 天天做天天爱天天爽综合网 | 国产农村妇女aaaaa视频 撕开奶罩揉吮奶头视频 | 久久天天躁狠狠躁夜夜免费观看 | 久久综合给合久久狠狠狠97色 | 国产成人一区二区三区别 | 丰满人妻翻云覆雨呻吟视频 | 亚洲精品综合五月久久小说 | 国产网红无码精品视频 | 熟妇人妻中文av无码 | 久久久精品成人免费观看 | 丰满肥臀大屁股熟妇激情视频 | 婷婷五月综合激情中文字幕 | 久久国语露脸国产精品电影 | 中文字幕人妻无码一区二区三区 | 亚欧洲精品在线视频免费观看 | 亚洲国产av精品一区二区蜜芽 | 国产乱人伦app精品久久 国产在线无码精品电影网 国产国产精品人在线视 | 在教室伦流澡到高潮hnp视频 | 久久精品国产精品国产精品污 | 国产三级久久久精品麻豆三级 | 国产黄在线观看免费观看不卡 | 激情内射日本一区二区三区 | 亚洲色无码一区二区三区 | 四虎国产精品一区二区 | 亚洲成av人影院在线观看 | 国产精品无套呻吟在线 | 偷窥日本少妇撒尿chinese | 亚洲一区二区三区香蕉 | 无码任你躁久久久久久久 | 国产成人精品必看 | 国产三级精品三级男人的天堂 | 丰满人妻翻云覆雨呻吟视频 | 熟女少妇在线视频播放 | 午夜免费福利小电影 | 粉嫩少妇内射浓精videos | 国产精品igao视频网 | 久久久婷婷五月亚洲97号色 | 东京无码熟妇人妻av在线网址 | 国产精品亚洲lv粉色 | 一本久久a久久精品vr综合 | 国产乱人偷精品人妻a片 | 成人一区二区免费视频 | 动漫av一区二区在线观看 | 日本免费一区二区三区最新 | 双乳奶水饱满少妇呻吟 | 国产一精品一av一免费 | 中文字幕人妻无码一夲道 | 欧美人与牲动交xxxx | 精品国产aⅴ无码一区二区 | 成人亚洲精品久久久久 | 国产香蕉尹人视频在线 | 亚洲天堂2017无码 | 中文字幕av伊人av无码av | 成人影院yy111111在线观看 | 99久久人妻精品免费二区 | 无码国产乱人伦偷精品视频 | 免费观看激色视频网站 | 青青草原综合久久大伊人精品 | 一本精品99久久精品77 | 东京热男人av天堂 | 欧美freesex黑人又粗又大 | 亚洲国产精品久久久天堂 | 中文亚洲成a人片在线观看 | 日本在线高清不卡免费播放 | 99久久久国产精品无码免费 | 国产精品久久久久久亚洲毛片 | 亚洲精品国产a久久久久久 | 国产又粗又硬又大爽黄老大爷视 | 色诱久久久久综合网ywww | 老熟女重囗味hdxx69 | 狠狠cao日日穞夜夜穞av | 国产av无码专区亚洲awww | 日韩人妻无码中文字幕视频 | 国产成人精品久久亚洲高清不卡 | 国产无遮挡又黄又爽又色 | 久久 国产 尿 小便 嘘嘘 | 风流少妇按摩来高潮 | 亚洲精品国产精品乱码不卡 | 精品日本一区二区三区在线观看 | 国产真实夫妇视频 | 天堂亚洲免费视频 | 撕开奶罩揉吮奶头视频 | 少妇性l交大片欧洲热妇乱xxx | 亚洲精品久久久久久一区二区 | 欧美日韩综合一区二区三区 | 国产黑色丝袜在线播放 | 国内精品人妻无码久久久影院 | 久久精品人妻少妇一区二区三区 | 蜜臀av在线播放 久久综合激激的五月天 | 国产精品va在线观看无码 | 免费无码午夜福利片69 | 欧美日韩在线亚洲综合国产人 | 伦伦影院午夜理论片 | 双乳奶水饱满少妇呻吟 | 中文字幕乱码中文乱码51精品 | 亚洲精品中文字幕 | 色噜噜亚洲男人的天堂 | 中文字幕无码免费久久99 | 久久zyz资源站无码中文动漫 | 漂亮人妻洗澡被公强 日日躁 | 国产真实乱对白精彩久久 | 大胆欧美熟妇xx | 天天做天天爱天天爽综合网 | 一二三四社区在线中文视频 | 亚洲成av人综合在线观看 | 高中生自慰www网站 | 中文字幕+乱码+中文字幕一区 | 1000部啪啪未满十八勿入下载 | 一个人看的www免费视频在线观看 | 狠狠色色综合网站 | 无码毛片视频一区二区本码 | 亚洲人成影院在线无码按摩店 | 国产av无码专区亚洲awww | 久久精品女人天堂av免费观看 | 亚洲色偷偷男人的天堂 | 免费人成网站视频在线观看 | 久久午夜夜伦鲁鲁片无码免费 | 成人一区二区免费视频 | 99久久99久久免费精品蜜桃 | 国产精品igao视频网 | 国产熟妇高潮叫床视频播放 | 欧美性猛交内射兽交老熟妇 | 日产国产精品亚洲系列 | 综合人妻久久一区二区精品 | 欧美精品在线观看 | 国产免费无码一区二区视频 | 99久久人妻精品免费一区 | 国产真实夫妇视频 | 97人妻精品一区二区三区 | 色婷婷久久一区二区三区麻豆 | 婷婷色婷婷开心五月四房播播 | 久久精品成人欧美大片 | 精品亚洲成av人在线观看 | 人人妻人人澡人人爽欧美一区九九 | 少妇无套内谢久久久久 | 亚洲精品无码国产 | 亚洲国产精品久久久久久 | 亚洲热妇无码av在线播放 | 97精品人妻一区二区三区香蕉 | 中文字幕乱码人妻二区三区 | 国产小呦泬泬99精品 | 亚洲综合在线一区二区三区 | 国产99久久精品一区二区 | 日韩精品a片一区二区三区妖精 | 欧美野外疯狂做受xxxx高潮 | 亚洲成色www久久网站 | 国产极品美女高潮无套在线观看 | 宝宝好涨水快流出来免费视频 | 久久亚洲中文字幕精品一区 | 成人免费视频在线观看 | 久久久久免费看成人影片 | 成人性做爰aaa片免费看不忠 | 亚洲区小说区激情区图片区 | 亚洲 另类 在线 欧美 制服 | 最近免费中文字幕中文高清百度 | 乱中年女人伦av三区 | 天天爽夜夜爽夜夜爽 | 欧美日韩在线亚洲综合国产人 | 亚洲欧洲日本无在线码 | а√资源新版在线天堂 | 欧美精品国产综合久久 | 中文无码精品a∨在线观看不卡 | 国产精品怡红院永久免费 | 国产精品99久久精品爆乳 | 99麻豆久久久国产精品免费 | 一本久久伊人热热精品中文字幕 | 久久亚洲日韩精品一区二区三区 | 国产午夜无码视频在线观看 | 西西人体www44rt大胆高清 | 丰满肥臀大屁股熟妇激情视频 |