XSD - Tổng quan

Đị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.