XSD - Hướng dẫn nhanh

Định nghĩa lược đồ XML, thường được gọi là XSD, là một cách để mô tả chính xác ngôn ngữ XML. XSD kiểm tra tính hợp lệ của cấu trúc và từ vựng của một tài liệu XML dựa trên các quy tắc ngữ pháp của ngôn ngữ XML thích hợp.

Một tài liệu XML có thể được định nghĩa là -

  • Well-formed- Nếu tuân thủ tài liệu XML cho tất cả các XML chung cai trị như thẻ phải được lồng nhau đúng cách, mở và thẻ đóng phải được cân bằng, và các thẻ trống phải kết thúc với '/>', sau đó nó được gọi là tốt được hình thành .

    OR

  • Valid- Một tài liệu XML được cho là hợp lệ khi nó không chỉ được định dạng tốt mà còn tuân theo XSD có sẵn để chỉ định những thẻ nào nó sử dụng, những thuộc tính nào mà những thẻ đó có thể chứa và những thẻ nào có thể xuất hiện bên trong các thẻ khác, trong số các thuộc tính khác .

Sơ đồ sau đây cho thấy cách XSD được sử dụng để cấu trúc các tài liệu XML:

Đây là một mã XSD đơn giản. Hãy nhìn vào nó.

<?xml version = "1.0"?>

<xs:schema xmlns:xs = "http://www.w3.org/2001/XMLSchema">
   targetNamespace = "http://www.tutorialspoint.com" 
   xmlns = "http://www.tutorialspoint.com"
   elementFormDefault = "qualified">

   <xs:element name = 'class'>
      <xs:complexType>
         <xs:sequence>
            <xs:element name = 'student' type = 'StudentType' minOccurs = '0' 
               maxOccurs = 'unbounded' />
         </xs:sequence>
      </xs:complexType>
   </xs:element>

   <xs:complexType name = "StudentType">
      <xs:sequence>
         <xs:element name = "firstname" type = "xs:string"/>
         <xs:element name = "lastname" type = "xs:string"/>
         <xs:element name = "nickname" type = "xs:string"/>
         <xs:element name = "marks" type = "xs:positiveInteger"/>
      </xs:sequence>
      <xs:attribute name = 'rollno' type = 'xs:positiveInteger'/>
   </xs:complexType>
   
</xs:schema>

Đặc trưng

Dưới đây là danh sách một số tính năng phổ biến của XSD -

  • XSD có thể được mở rộng để bổ sung trong tương lai.
  • XSD phong phú hơn và mạnh hơn DTD.
  • XSD được viết bằng XML.
  • XSD hỗ trợ các kiểu dữ liệu.
  • XSD hỗ trợ không gian tên.
  • XSD là khuyến nghị của W3C.

Một XSD XML được giữ trong một tài liệu riêng biệt và sau đó tài liệu có thể được liên kết với một tài liệu XML để sử dụng nó.

Cú pháp

Cú pháp cơ bản của XSD như sau:

<?xml version = "1.0"?>

<xs:schema xmlns:xs = "http://www.w3.org/2001/XMLSchema">
   targetNamespace = "http://www.tutorialspoint.com"
   xmlns = "http://www.tutorialspoint.com" elementFormDefault = "qualified">
   
   <xs:element name = 'class'>
      <xs:complexType>
         <xs:sequence>
            <xs:element name = 'student' type = 'StudentType' minOccurs = '0' 
               maxOccurs = 'unbounded' />
         </xs:sequence>
      </xs:complexType>
   </xs:element>

   <xs:complexType name = "StudentType">
      <xs:sequence>
         <xs:element name = "firstname" type = "xs:string"/>
         <xs:element name = "lastname" type = "xs:string"/>
         <xs:element name = "nickname" type = "xs:string"/>
         <xs:element name = "marks" type = "xs:positiveInteger"/>
      </xs:sequence>
      <xs:attribute name = 'rollno' type = 'xs:positiveInteger'/>
   </xs:complexType>
   
</xs:schema>

Phần tử <Schema>

Lược đồ là phần tử gốc của XSD và nó luôn được yêu cầu.

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

Đoạn trên chỉ định rằng các phần tử và kiểu dữ liệu được sử dụng trong lược đồ được xác định trong http://www.w3.org/2001/XMLSchema không gian tên và các phần tử / kiểu dữ liệu này phải được bắt đầu bằng xs. Nó luôn luôn được yêu cầu.

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

Đoạn trên chỉ định rằng các phần tử được sử dụng trong lược đồ này được xác định trong http://www.tutorialspoint.comkhông gian tên. Nó là tùy chọn.

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

Đoạn trên chỉ định rằng không gian tên mặc định là http://www.tutorialspoint.com.

elementFormDefault = "qualified"

Đoạn trên chỉ ra rằng bất kỳ phần tử nào được khai báo trong lược đồ này phải đủ điều kiện không gian tên trước khi sử dụng chúng trong bất kỳ Tài liệu XML nào.

Lược đồ tham chiếu

Hãy xem Lược đồ tham chiếu sau:

<?xml version = "1.0"?>

<class xmlns = "http://www.tutorialspoint.com"
   xmlns:xsi = "http://www.w3.org/2001/XMLSchema-instance"
   xsi:schemaLocation = "http://www.tutorialspoint.com student.xsd">  
   
   <student rollno = "393">    
      <firstname>Dinkar</firstname>
      <lastname>Kad</lastname>
      <nickname>Dinkar</nickname>
      <marks>85</marks>
   </student>
   
   <student rollno = "493">	 
      <firstname>Vaneet</firstname>
      <lastname>Gupta</lastname>
      <nickname>Vinni</nickname>
      <marks>95</marks>
   </student>
   
   <student rollno = "593">    
      <firstname>Jasvir</firstname>
      <lastname>Singh</lastname>
      <nickname>Jazz</nickname>
      <marks>90</marks>
   </student>
</class>
xmlns = "http://www.tutorialspoint.com"

Đoạn trên chỉ định khai báo không gian tên mặc định. Không gian tên này được sử dụng bởi trình xác thực lược đồ để đảm bảo rằng tất cả các phần tử đều là một phần của không gian tên này. Nó là tùy chọn.

xmlns:xsi = "http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation = "http://www.tutorialspoint.com student.xsd">

Sau khi xác định xsi thể hiện XMLSchema, hãy sử dụng schemaLocationthuộc tính. Thuộc tính này có hai giá trị, không gian tên và vị trí của Lược đồ XML, được sử dụng cách nhau bởi một khoảng trắng. Nó là tùy chọn.

Chúng tôi sẽ sử dụng trình xác thực XSD dựa trên Java để xác thực students.xml chống lại students.xsd.

sinh viên.xml

<?xml version = "1.0"?>

<class>  
   <student rollno = "393">
      <firstname>Dinkar</firstname>    
      <lastname>Kad</lastname>
      <nickname>Dinkar</nickname>
      <marks>85</marks>	 
   </student>
   
   <student rollno = "493">	 
      <firstname>Vaneet</firstname>
      <lastname>Gupta</lastname>
      <nickname>Vinni</nickname>
      <marks>95</marks>
   </student>
   
   <student rollno = "593">    
      <firstname>Jasvir</firstname>
      <lastname>Singh</lastname>
      <nickname>Jazz</nickname>
      <marks>90</marks>
   </student>
</class>

sinh viên.xsd

<?xml version = "1.0"?>

<xs:schema xmlns:xs = "http://www.w3.org/2001/XMLSchema">
   <xs:element name = 'class'>
      <xs:complexType>
         <xs:sequence>
             <xs:element name = 'student' type = 'StudentType' minOccurs = '0' 
                maxOccurs = 'unbounded' />
         </xs:sequence>
      </xs:complexType>
   </xs:element>

   <xs:complexType name = "StudentType">
      <xs:sequence>
         <xs:element name = "firstname" type = "xs:string"/>
         <xs:element name = "lastname" type = "xs:string"/>
         <xs:element name = "nickname" type = "xs:string"/>
         <xs:element name = "marks" type = "xs:positiveInteger"/>
      </xs:sequence>
      <xs:attribute name = 'rollno' type = 'xs:positiveInteger'/>
   </xs:complexType>			 
</xs:schema>

XSDValidator.java

import java.io.File;
import java.io.IOException;

import javax.xml.XMLConstants;
import javax.xml.transform.stream.StreamSource;

import javax.xml.validation.Schema;
import javax.xml.validation.SchemaFactory;
import javax.xml.validation.Validator;

import org.xml.sax.SAXException;

public class XSDValidator {
   public static void main(String[] args) {
      if(args.length !=2){
         System.out.println("Usage : XSDValidator <file-name.xsd> <file-name.xml>" );
      } else {
         boolean isValid = validateXMLSchema(args[0],args[1]);
         
         if(isValid){
            System.out.println(args[1] + " is valid against " + args[0]);
         } else {
            System.out.println(args[1] + " is not valid against " + args[0]);
         }
      }
   }
   
   public static boolean validateXMLSchema(String xsdPath, String xmlPath){
      try {
         SchemaFactory factory =
            SchemaFactory.newInstance(XMLConstants.W3C_XML_SCHEMA_NS_URI);
            Schema schema = factory.newSchema(new File(xsdPath));
            Validator validator = schema.newValidator();
            validator.validate(new StreamSource(new File(xmlPath)));
      } catch (IOException e){
         System.out.println("Exception: "+e.getMessage());
         return false;
      } catch(SAXException e1){
         System.out.println("SAX Exception: "+e1.getMessage());
         return false;
      }
		
      return true;
   }
}

Các bước xác thực XML chống lại XSD

  • Sao chép XSDValidator.java gửi đến bất kỳ vị trí nào, nói E: > java

  • Sao chép students.xml đến cùng một địa điểm E: > java

  • Sao chép students.xsd đến cùng một địa điểm E: > java

  • Biên dịch XSDValidator.javasử dụng bảng điều khiển. Đảm bảo rằng bạn đã cài đặt JDK 1.5 trở đi trên máy của mình và các đường dẫn classpath đã được định cấu hình. Để biết chi tiết về cách sử dụng JAVA, hãy xem Hướng dẫn sử dụng JAVA

E:\java\javac XSDValidator.java
  • Hành hình XSDValidator với students.xsdstudents.xml được truyền dưới dạng đối số.

E:\java\java XSDValidator students.xsd students.xml

Xác minh đầu ra

Bạn sẽ thấy kết quả sau:

students.xml is valid against students.xsd

Trong chương này, chúng ta sẽ xem các Loại Đơn giản mà XSD định nghĩa.

Không. Loại & Mô tả Đơn giản
1

Thành phần

Phần tử Đơn giản chỉ có thể chứa văn bản. Nó không thể chứa bất kỳ phần tử nào khác.

2

Thuộc tính

Bản thân thuộc tính là một kiểu và được sử dụng trong Phần tử phức tạp.

3

Sự hạn chế

Hạn chế xác định các giá trị được chấp nhận của một phần tử XML.

Phần tử phức hợp là một phần tử XML có thể chứa các phần tử và / hoặc thuộc tính khác. Chúng ta có thể tạo một phần tử phức tạp theo hai cách:

  • Xác định một kiểu phức tạp và sau đó tạo một phần tử bằng cách sử dụng type thuộc tính

  • Xác định một loại phức hợp trực tiếp bằng cách đặt tên

Xác định Kiểu phức hợp và sau đó tạo một phần tử bằng thuộc tính kiểu.

<xs:complexType name = "StudentType">
   <xs:sequence>
      <xs:element name = "firstname" type = "xs:string"/>
      <xs:element name = "lastname" type = "xs:string"/>
      <xs:element name = "nickname" type = "xs:string"/>
      <xs:element name = "marks" type = "xs:positiveInteger"/>
   </xs:sequence>
   <xs:attribute name = 'rollno' type = 'xs:positiveInteger'/>
</xs:complexType>

<xs:element name = 'student' type = 'StudentType' />

Xác định một loại phức hợp trực tiếp bằng cách đặt tên.

<xs:element name = "student">
   <xs:complexType>   
      <xs:sequence>
         <xs:element name = "firstname" type = "xs:string"/>
         <xs:element name = "lastname" type = "xs:string"/>
         <xs:element name = "nickname" type = "xs:string"/>
         <xs:element name = "marks" type = "xs:positiveInteger"/>
      </xs:sequence>
   <xs:attribute name = 'rollno' type = 'xs:positiveInteger'/>
   </xs:complexType>
<xs:element>

Sau đây là danh sách các Loại phức tạp mà XSD hỗ trợ.

Không. Loại & Mô tả Đơn giản
1

Trống

Phức hợp Phần tử kiểu phức hợp Rỗng chỉ có thể có thuộc tính nhưng không có nội dung.

2

Chỉ các phần tử

Phần tử-Chỉ phần tử kiểu phức tạp chỉ có thể chứa phần tử

3

Chỉ văn bản

Phần tử kiểu phức hợp Text-Only chỉ có thể chứa thuộc tính và văn bản.

4

Trộn

Phần tử kiểu phức hợp hỗn hợp có thể chứa phần tử, thuộc tính và văn bản.

5

Các chỉ số

Các chỉ báo kiểm soát cách các phần tử được tổ chức trong một tài liệu XML.

6

Phần tử <any> được sử dụng cho các phần tử không được lược đồ xác định

7

Thuộc tính <anyAttribute> được sử dụng cho thuộc tính không được lược đồ xác định.

Kiểu dữ liệu chuỗi được sử dụng để biểu diễn các ký tự trong tài liệu XML.

kiểu dữ liệu <xs: string>

Kiểu dữ liệu <xs: string> có thể nhận các ký tự, nguồn cấp dòng, dấu xuống dòng và các ký tự tab. Bộ xử lý XML không thay thế các nguồn cấp dòng, ký tự xuống dòng và các ký tự tab trong nội dung bằng khoảng trắng và giữ chúng nguyên vẹn. Ví dụ: nhiều khoảng trắng hoặc tab được giữ nguyên trong quá trình hiển thị.

<xs: string> Ví dụ

Khai báo phần tử trong xsd -

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

Sử dụng phần tử trong xml -

<name>Dinkar</name>
<name>Dinkar    Kad</name>

kiểu dữ liệu <xs: token>

Kiểu dữ liệu <xs: token> có nguồn gốc từ kiểu dữ liệu <string> và có thể nhận các ký tự, nguồn cấp dòng, dấu xuống dòng và ký tự tab. Bộ xử lý XML sẽ loại bỏ nguồn cấp dữ liệu dòng, tab, dấu xuống dòng, khoảng trắng đầu và cuối và nhiều khoảng trắng.

<xs: token> Ví dụ

Khai báo phần tử trong xsd -

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

Sử dụng phần tử trong xml -

<name>Dinkar</name>
<name>Dinkar    Kad</name>

Các kiểu dữ liệu chuỗi

Sau đây là danh sách các kiểu dữ liệu thường được sử dụng có nguồn gốc từ kiểu dữ liệu <string>.

Không. Tên & Mô tả
1

ID

Đại diện cho thuộc tính ID trong XML và được sử dụng trong các thuộc tính lược đồ.

2

IDREF

Đại diện cho thuộc tính IDREF trong XML và được sử dụng trong các thuộc tính lược đồ.

3

language

Trình bày một id ngôn ngữ hợp lệ

4

Name

Đại diện cho một tên XML hợp lệ

5

NMTOKEN

Đại diện cho một thuộc tính NMTOKEN trong XML và được sử dụng trong các thuộc tính lược đồ.

6

normalizedString

Đại diện cho một chuỗi không chứa nguồn cấp dòng, dấu xuống dòng hoặc tab.

7

string

Đại diện cho một chuỗi có thể chứa nguồn cấp dữ liệu dòng, ký tự xuống dòng hoặc tab.

số 8

token

Đại diện cho một chuỗi không chứa nguồn cấp dòng, dấu xuống dòng, tab, dấu cách ở đầu hoặc cuối hoặc nhiều dấu cách

Những hạn chế

Các loại hạn chế sau có thể được sử dụng với các kiểu dữ liệu Chuỗi:

  • enumeration
  • length
  • maxLength
  • minLength
  • pattern
  • whiteSpace

Các kiểu dữ liệu Ngày và Giờ được sử dụng để biểu thị ngày và giờ trong các tài liệu XML.

kiểu dữ liệu <xs: date>

Kiểu dữ liệu <xs: date> được sử dụng để biểu thị ngày ở định dạng YYYY-MM-DD.

  • YYYY - đại diện cho năm

  • MM - đại diện cho tháng

  • DD - đại diện cho ngày

<xs: date> Ví dụ

Khai báo phần tử trong XSD -

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

Sử dụng phần tử trong XML -

<birthdate>1980-03-23</birthdate>

kiểu dữ liệu <xs: time>

Kiểu dữ liệu <xs: time> được sử dụng để biểu thị thời gian ở định dạng hh: mm: ss.

  • hh - đại diện cho giờ

  • mm - đại diện cho phút

  • ss - đại diện cho giây

<xs: time> Ví dụ

Khai báo phần tử trong XSD -

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

Sử dụng phần tử trong XML -

<startTime>10:20:15</startTime>

kiểu dữ liệu <xs: datetime>

Kiểu dữ liệu <xs: datetime> được sử dụng để biểu thị ngày và giờ ở định dạng YYYY-MM-DDThh: mm: ss.

  • YYYY - đại diện cho năm

  • MM - đại diện cho tháng

  • DD - đại diện cho ngày

  • T - đại diện cho phần bắt đầu của thời gian

  • hh - đại diện cho giờ

  • mm - đại diện cho phút

  • ss - đại diện cho giây

<xs: datetime> Ví dụ

Khai báo phần tử trong XSD -

<xs:element name = "startTime" type = "xs:datetime"/>

Sử dụng phần tử trong XML -

<startTime>1980-03-23T10:20:15</startTime>

kiểu dữ liệu <xs: time>

Kiểu dữ liệu <xs: time> được sử dụng để biểu thị khoảng thời gian ở định dạng PnYnMnDTnHnMnS. Mỗi thành phần là tùy chọn ngoại trừ P.

  • P - đại diện cho phần bắt đầu của ngày

  • nY - đại diện cho năm

  • nM - đại diện cho tháng

  • nD - đại diện cho ngày

  • T - đại diện cho phần bắt đầu của thời gian

  • nH - đại diện cho giờ

  • nM - đại diện cho phút

  • nS - đại diện cho giây

<xs: time> Ví dụ

Khai báo phần tử trong XSD -

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

Sử dụng phần tử trong xml để thể hiện khoảng thời gian 6 năm, 3 tháng, 10 ngày và 15 giờ.

<period>P6Y3M10DT15H</period>

Loại dữ liệu ngày

Sau đây là danh sách các kiểu dữ liệu ngày thường được sử dụng.

Không. Tên & Mô tả
1.

date

Đại diện cho một giá trị ngày

2.

dateTime

Đại diện cho một giá trị ngày và giờ

3.

duration

Đại diện cho một khoảng thời gian

4.

gDay

Thể hiện một phần của ngày là ngày (DD)

5.

gMonth

Biểu thị một phần của ngày dưới dạng tháng (MM)

6.

gMonthDay

Biểu thị một phần của ngày dưới dạng tháng và ngày (MM-DD)

7.

gYear

Đại diện cho một phần của ngày dưới dạng năm (YYYY)

số 8.

gYearMonth

Biểu thị một phần của ngày dưới dạng năm và tháng (YYYY-MM)

9.

time

Đại diện cho một giá trị thời gian

Những hạn chế

Các loại hạn chế sau có thể được sử dụng với các kiểu dữ liệu Ngày -

  • enumeration
  • maxExclusive
  • maxInclusive
  • minExclusive
  • minInclusive
  • pattern
  • whiteSpace

Kiểu dữ liệu số được sử dụng để biểu diễn các số trong tài liệu XML.

kiểu dữ liệu <xs: decimal>

Kiểu dữ liệu <xs: decimal> được sử dụng để biểu diễn các giá trị số. Nó hỗ trợ số thập phân lên đến 18 chữ số.

<xs: decimal> Ví dụ

Khai báo phần tử trong XSD -

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

Sử dụng phần tử trong XML -

<score>9.12</score>

kiểu dữ liệu <xs: integer>

Kiểu dữ liệu <xs: integer> được sử dụng để biểu diễn các giá trị số nguyên.

<xs: integer> Ví dụ

Khai báo phần tử trong XSD -

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

Sử dụng phần tử trong XML -

<score>9</score>

Các kiểu dữ liệu số

Sau đây là danh sách các kiểu dữ liệu số thường được sử dụng.

Không. Tên & Mô tả
1.

byte

Một số nguyên 8 bit có dấu

2.

decimal

Một giá trị thập phân

3.

int

Một số nguyên 32 bit có dấu

4.

integer

Một giá trị số nguyên

5.

long

Một số nguyên 64 bit có dấu

6.

negativeInteger

Một số nguyên chỉ có giá trị âm (.., - 2, -1)

7.

nonNegativeInteger

Một số nguyên chỉ có các giá trị không âm (0,1,2, ..)

số 8.

nonPositiveInteger

Một số nguyên chỉ có các giá trị không dương (.., - 2, -1,0)

9.

positiveInteger

Một số nguyên chỉ có giá trị dương (1,2, ..)

10.

short

Một số nguyên 16 bit có dấu

11.

unsignedLong

Một số nguyên 64 bit không dấu

12.

unsignedInt

Một số nguyên 32 bit không dấu

13.

unsignedShort

Một số nguyên 16 bit không dấu

14.

unsignedByte

Một số nguyên 8 bit không dấu

Những hạn chế

Các loại hạn chế sau có thể được sử dụng với các kiểu dữ liệu Ngày -

  • enumeration
  • fractionDigits
  • maxExclusive
  • maxInclusive
  • minExclusive
  • minInclusive
  • pattern
  • totalDigits
  • whiteSpace

XSD có một số kiểu dữ liệu quan trọng khác, chẳng hạn như Boolean, binary,anyURI.

kiểu dữ liệu <xs: boolean>

Kiểu dữ liệu <xs: boolean> được sử dụng để biểu thị giá trị true, false, 1 (đối với true) hoặc 0 (đối với false).

<xs: boolean> Ví dụ

Khai báo phần tử trong XSD -

<xs:element name = "pass" type = "xs:boolean"/>

Sử dụng phần tử trong XML -

<pass>false</pass>

Kiểu dữ liệu nhị phân

Các kiểu dữ liệu nhị phân được sử dụng để biểu diễn các giá trị nhị phân. Hai kiểu nhị phân thường được sử dụng.

  • base64Binary - đại diện cho dữ liệu nhị phân được mã hóa base64

  • hexBinary - đại diện cho dữ liệu nhị phân được mã hóa theo hệ thập lục phân

<xs: hexbinary> Ví dụ

Khai báo phần tử trong XSD -

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

Sử dụng phần tử trong XML -

<blob>9FEEF</blob>

kiểu dữ liệu <xs: anyURI>

Kiểu dữ liệu <xs: anyURI> được sử dụng để đại diện cho URI.

<xs: anyURI> Ví dụ

Khai báo phần tử trong XSD -

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

Sử dụng phần tử trong XML -

<image resource = "http://www.tutorialspoint.com/images/smiley.jpg" />

Các kiểu dữ liệu số

Sau đây là danh sách các kiểu dữ liệu số thường được sử dụng.

Không. Tên & Mô tả
1.

byte

Một số nguyên 8 bit có dấu

2.

decimal

Một giá trị thập phân

3.

int

Một số nguyên 32 bit có dấu

4.

integer

Một giá trị số nguyên

5.

long

Một số nguyên 64 bit có dấu

6.

negativeInteger

Một số nguyên chỉ có giá trị âm (.., - 2, -1)

7.

nonNegativeInteger

Một số nguyên chỉ có các giá trị không âm (0,1,2, ..)

số 8.

nonPositiveInteger

Một số nguyên chỉ có các giá trị không dương (.., - 2, -1,0)

9.

positiveInteger

Một số nguyên chỉ có giá trị dương (1,2, ..)

10.

short

Một số nguyên 16 bit có dấu

11.

unsignedLong

Một số nguyên 64 bit không dấu

12.

unsignedInt

Một số nguyên 32 bit không dấu

13.

unsignedShort

Một số nguyên 16 bit không dấu

14.

unsignedByte

Một số nguyên 8 bit không dấu

Những hạn chế

Các loại hạn chế sau có thể được sử dụng với Các kiểu dữ liệu khác ngoại trừ kiểu dữ liệu boolean -

  • enumeration
  • length
  • maxLength
  • minLength
  • pattern
  • whiteSpace