選單
×
   ❮     
HTML CSS JAVASCRIPT SQL PYTHON JAVA PHP HOW TO W3.CSS C C++ C# BOOTSTRAP REACT MYSQL JQUERY EXCEL XML DJANGO NUMPY PANDAS NODEJS R TYPESCRIPT ANGULAR GIT POSTGRESQL MONGODB ASP AI GO KOTLIN SASS VUE DSA GEN AI SCIPY AWS CYBERSECURITY DATA SCIENCE
     ❯   

XML 教程

XML 主頁 XML 簡介 XML 如何使用 XML 樹 XML 語法 XML 元素 XML 屬性 XML 名稱空間 XML 顯示 XML HttpRequest XML 解析器 XML DOM XML XPath XML XSLT XML XQuery XML XLink XML 驗證器 XML DTD XML Schema XML 伺服器 XML 示例 XML 測驗 XML 證書

XML AJAX

AJAX Introduction AJAX XMLHttp AJAX Request AJAX Response AJAX XML File AJAX PHP AJAX ASP AJAX Database AJAX Applications AJAX Examples

XML DOM

DOM Introduction DOM Nodes DOM Accessing DOM Node Info DOM Node List DOM Traversing DOM Navigating DOM Get Values DOM Change Nodes DOM Remove Nodes DOM Replace Nodes DOM Create Nodes DOM Add Nodes DOM Clone Nodes DOM Examples

XPath 教程

XPath Introduction XPath Nodes XPath Syntax XPath Axes XPath Operators XPath Examples

XSLT 教程

XSLT Introduction XSL Languages XSLT Transform XSLT <template> XSLT <value-of> XSLT <for-each> XSLT <sort> XSLT <if> XSLT <choose> XSLT Apply XSLT on the Client XSLT on the Server XSLT Edit XML XSLT Examples

XQuery 教程

XQuery Introduction XQuery Example XQuery FLWOR XQuery HTML XQuery Terms XQuery Syntax XQuery Add XQuery Select XQuery Functions

XML DTD

DTD Introduction DTD Building Blocks DTD Elements DTD Attributes DTD Elements vs Attr DTD Entities DTD Examples

XSD Schema

XSD 簡介 XSD 如何做 XSD <schema> XSD 元素 XSD 屬性 XSD 約束 XSD 複雜元素 XSD 空元素 XSD 僅元素 XSD 僅文字 XSD 混合內容 XSD 指示符 XSD <any> XSD <anyAttribute> XSD 替換 XSD 示例

XSD Data Types

XSD String XSD Date/Time XSD Numeric XSD Misc XSD Reference

Web Services

XML Services XML WSDL XML SOAP XML RDF XML RSS

參考手冊

DOM 節點型別 DOM 節點 DOM NodeList DOM NamedNodeMap DOM Document DOM Element DOM Attribute DOM Text DOM CDATA DOM Comment DOM XMLHttpRequest DOM Parser XSLT 元素 XSLT/XPath 函式

XSD 約束/限制


約束用於定義 XML 元素或屬性的可接受值。對 XML 元素的約束稱為 facet。


值約束

以下示例定義了一個名為“age”的元素,並帶有約束。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>

一組值的約束

要將 XML 元素的內容限制為一組可接受的值,我們將使用 enumeration(列舉)約束。

下面的示例定義了一個名為“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>

上面的示例也可以這樣寫:

<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>

注意:在這種情況下,“carType”型別可以被其他元素使用,因為它不是“car”元素的一部分。



一系列值的約束

要限制 XML 元素的內容以定義可以使用的一系列數字或字母,我們將使用 pattern(模式)約束。

下面的示例定義了一個名為“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>

下一個示例定義了一個名為“initials”的元素,並帶有約束。唯一可接受的值是 a 到 z 中的三個大寫字母。

<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>

下一個示例也定義了一個名為“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>

下一個示例定義了一個名為“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>

下一個示例定義了一個名為“prodid”的元素,並帶有約束。唯一可接受的值是連續的五個數字,並且每個數字必須在 0 到 9 的範圍內。

<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>

其他一系列值的約束

下面的示例定義了一個名為“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>

下一個示例也定義了一個名為“letter”的元素,並帶有約束。可接受的值是零個或多個字母對,每對由一個 lowercase 字母后跟一個 uppercase 字母組成。例如,“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>

下一個示例定義了一個名為“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>

下一個示例定義了一個名為“password”的元素,並帶有約束。必須有正好八個連續字元,這些字元必須是 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>

對空格字元的約束

要指定如何處理空格字元,我們將使用 whiteSpace(空格)約束。

此示例定義了一個名為“address”的元素,並帶有約束。whiteSpace 約束設定為“preserve”(保留),這意味著 XML 處理器 **不會** 刪除任何空格字元。

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

此示例也定義了一個名為“address”的元素,並帶有約束。whiteSpace 約束設定為“replace”(替換),這意味著 XML 處理器將 **用空格替換** 所有空格字元(換行符、製表符、空格和回車符)。

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

此示例也定義了一個名為“address”的元素,並帶有約束。whiteSpace 約束設定為“collapse”(摺疊),這意味著 XML 處理器將 **刪除所有空格字元**(換行符、製表符、空格、回車符被替換為空格,前導和尾隨空格被移除,多個空格被縮減為單個空格)。

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

長度約束

要限制元素中值的長度,我們將使用 length(長度)、maxLength(最大長度)和 minLength(最小長度)約束。

此示例定義了一個名為“password”的元素,並帶有約束。該值必須正好是八個字元。

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

此示例定義了另一個名為“password”的元素,並帶有約束。該值必須至少有五個字元,最多八個字元。

<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>

資料型別的約束

約束 描述
enumeration(列舉) 定義一組可接受的值
fractionDigits(小數位數) 指定允許的小數位數。必須大於或等於零
length 指定允許的字元或列表項的確切數量。必須大於或等於零
maxExclusive(最大值不包含) 指定數值的上限(值必須小於此值)
maxInclusive(最大值包含) 指定數值的上限(值必須小於或等於此值)
maxLength 指定允許的字元或列表項的最大數量。必須大於或等於零
minExclusive(最小值不包含) 指定數值的下限(值必須大於此值)
minInclusive(最小值包含) 指定數值的下限(值必須大於或等於此值)
minLength(最小長度) 指定允許的字元或列表項的最小數量。必須大於或等於零
pattern 定義可接受的字元的確切序列
totalDigits(總位數) 指定允許的數字的確切數量。必須大於零
whiteSpace 指定如何處理空格(換行符、製表符、空格和回車符)

×

聯絡銷售

如果您想將 W3Schools 服務用於教育機構、團隊或企業,請傳送電子郵件給我們
sales@w3schools.com

報告錯誤

如果您想報告錯誤,或想提出建議,請傳送電子郵件給我們
help@w3schools.com

W3Schools 經過最佳化,旨在方便學習和培訓。示例可能經過簡化,以提高閱讀和學習體驗。教程、參考資料和示例會不斷審查,以避免錯誤,但我們無法保證所有內容的完全正確性。使用 W3Schools 即表示您已閱讀並接受我們的使用條款Cookie 和隱私政策

版權所有 1999-2024 Refsnes Data。保留所有權利。W3Schools 由 W3.CSS 提供支援