VietTuts

Tự Học Lập Trình Online

  • Home
  • Java
  • Servlet
  • JSP
  • Struts2
  • Hibernate
  • Spring
  • MyBatis
  • Java WS
  • C
  • C++
  • C#
  • Python
  • PHP
  • Excel
  • VBA
  • Web
    • JavaScript
    • JQUERY
    • JSON
    • AJAX
    • CSS
    • HTML
    • HTML5
    • Node.js
    • Angular 7
  • SQL
    • MySQL
    • SQL Server
  • Misc
    • Eclipse
    • Phần mềm tiện ích
    • Cấu trúc DL&GT
    • Selenium Test

XML Tuts

XML là gì? XML Syntax XML Document XML declaration XML Tag XML Element XML Attribute XML Comment XML Character Entity XML Cdata Section XML White Space XML Processing XML Encoding XML Validation XML dtd XML Schema XML Tree Structure XML DOM XML Namespace XML Database XML Viewer XML Editor XML Parser XML processor
1 / 3
❮ ❯

XML Schema - lược đồ trong XML


XML DTD - Document Type Declaration trong XML
Tree Structure - Cấu trúc cây trong XML

Nội dung chính

  • XML Schema
  • Cú pháp XML Schema
  • Ví dụ XML Schema
  • Các phần tử
  • Kiểu định nghĩa
  • Thuộc tính

XML Schema

Schema trong XML được biết đến rộng rãi với tên XML Schema Definition (XSD). Nó được sử dụng để miêu tả và xác nhận cấu trúc và nội dung của dữ liệu XML. Schema trong XML định nghĩa kiểu phần tử, thuộc tính và dữ liệu. Phần tử Schema hỗ trợ Namespace. Nó tương tự như một Schema trong cơ sở dữ liệu mà miêu tả dữ liệu trong một cơ sở dữ liệu.


Cú pháp XML Schema

Bạn cần khai báo một Schema trong tài liệu XML của mình như sau:


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

Ví dụ XML Schema

Ví dụ sau minh họa cách sử dụng Schema:


<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="contact">
    <xs:complexType>
        <xs:sequence>
            <xs:element name="name" type="xs:string" />
            <xs:element name="company" type="xs:string" />
            <xs:element name="phone" type="xs:int" />
        </xs:sequence>
    </xs:complexType>
</xs:element>
</xs:schema>

Ý tưởng cơ bản đằng sau Schema là chúng miêu tả định dạng chính thống mà một tài liệu XML có thể nhận.


Các phần tử

Như đã trình bày trong chương Phần tử trong XML, các phần tử là các khối cấu thành tài liệu XML. Một phần tử có thể được định nghĩa bên trong một XSD như sau:


<xs:element name="x" type="y"/>

Kiểu định nghĩa

Bạn có thể định nghĩa các phần tử Schema trong XML theo các cách sau:

Kiểu đơn giản: Chỉ được sử dụng trong ngữ cảnh text. Một số kiểu đơn giản được định nghĩa trước là: xs:integer, xs:boolean, xs:string, xs:date. Ví dụ:


<xs:element name="phone_number" type="xs:int" />

Kiểu phức tạp: Một kiểu phức tạp là một Container cho các định nghĩa phần tử khác. Điều này cho phép bạn xác định các phần tử con nào mà một phần tử có thể chứa và để cung cấp một số cấu trúc bên trong tài liệu XML của bạn. Ví dụ:


<xs:element name="Address">
    <xs:complexType>
        <xs:sequence>
            <xs:element name="name" type="xs:string" />
     <xs:element name="company" type="xs:string" />
            <xs:element name="phone" type="xs:int" /> 
        </xs:sequence> 
    </xs:complexType>
</xs:element> 

Trong ví dụ trên, phần tử Address bao gồm các phần tử con. Nó là một Container cho các định nghĩa cho phép xây dựng một cấu trúc phần tử đơn giản trong tài liệu XML.

Kiểu tổng thể (global): Với kiểu global, bạn có thể định nghĩa một kiểu đơn trong tài liệu, mà có thể được sử dụng bởi tất cả tham chiếu khác. Ví dụ, giả sử bạn muốn phổ biến person và company cho các địa chỉ khác nhau của công ty. Trong trường hợp này, bạn có thể định nghĩa một kiểu chung, như sau:


<xs:element name="AddressType">
    <xs:complexType>
        <xs:sequence>
            <xs:element name="name" type="xs:string" />
     <xs:element name="company" type="xs:string" />
        </xs:sequence> 
    </xs:complexType>
</xs:element> 

Bây giờ, sử dụng kiểu này trong ví dụ:


<xs:element name="Address1">
    <xs:complexType>
        <xs:sequence>
            <xs:element name="address" type="AddressType" />
     <xs:element name="phone1" type="xs:int" /> 
        </xs:sequence> 
    </xs:complexType>
</xs:element> 
<xs:element name="Address2">
    <xs:complexType>
        <xs:sequence>
            <xs:element name="address" type="AddressType" />
     <xs:element name="phone2" type="xs:int" /> 
        </xs:sequence> 
    </xs:complexType>
</xs:element> 

Thay vì có định nghĩa name và company hai lần (một cho Address1 và một cho Address2), giờ chúng ta chỉ cần một định nghĩa đơn. Điều này giúp việc duy trì đơn giản hơn, ví dụ, nếu bạn quyết định thêm các phần tử Postcode cho address, bạn chỉ cần thêm chúng ở một vị trí.


Thuộc tính

Thuộc tính trong XSD cung cấp thông tin bổ sung bên trong một tài liệu. Các thuộc tính có name và type như sau:


<xs:attribute name="x" type="y"/>

XML DTD - Document Type Declaration trong XML
Tree Structure - Cấu trúc cây trong XML

Recent Updates

Processor trong XMLParser trong XMLEditor trong XMLViewer trong XMLDatabase trong XMLNamespace trong XMLXML DOM - Document Object Model trong XMLTree Structure - Cấu trúc cây trong XMLXML Schema - lược đồ trong XMLXML DTD - Document Type Declaration trong XMLXML Validation - Xác nhận tài liệu XMLXML Encoding - Mã hóa ký tự trong XMLSắp Tết 2026 Rồi! - Còn bao nhiêu ngày nữa là đến tết 2026?

VietTuts on facebook

Học Lập Trình Online Miễn Phí - VietTuts.Vn
Danh Sách Bài Học

Học Java | Hibernate | Spring
Học Excel | Excel VBA
Học Servlet | JSP | Struts2
Học C | C++ | C#
Học Python
Học SQL

Bài Tập Có Lời Giải

Bài tập Java
Bài tập C
Bài tập C++
Bài tập C#
Bài tập Python
Ví dụ Excel VBA

Câu Hỏi Phỏng Vấn

201 câu hỏi phỏng vấn java
25 câu hỏi phỏng vấn servlet
75 câu hỏi phỏng vấn jsp
52 câu hỏi phỏng vấn Hibernate
70 câu hỏi phỏng vấn Spring
57 câu hỏi phỏng vấn SQL

Scroll back to top

Copyright © 2016 VietTuts.Vn all rights reserved. | Liên hệ | Chính sách - riêng tư | sitemap.html | sitemap_index.xml