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 DTD - Document Type Declaration trong XML


XML Validation - Xác nhận tài liệu XML
XML Schema - lược đồ trong XML

Nội dung chính

  • DTD trong XML
  • Cú pháp DTD trong XML
  • Internal DTD trong XML
    • Cú pháp Internal DTD trong XML
    • Ví dụ Internal DTD trong XML
    • Qui tắc cho DTD trong XML
  • External DTD trong XML
    • Cú pháp External DTD trong XML
    • Ví dụ External DTD trong XML
    • Kiểu tham chiếu trong XML

DTD trong XML

Document Type Declaration trong XML, gọi tắt là DTD, là một cách để miêu tả ngôn ngữ XML. DTD kiểm tra từ vựng và tính hợp lệ của cấu trúc tài liệu XML theo các qui tắc ngữ pháp của ngôn ngữ XML thích hợp.

Một DTD trong XML có thể hoặc được xác định bên trong tài liệu, hoặc có thể được giữ trong một tài liệu riêng biệt.


Cú pháp DTD trong XML

Cú pháp cơ bản của DTD trong XML là:


<!DOCTYPE element DTD identifier
[
   declaration1
   declaration2
   ........
]>

Trong cú pháp trên:

  • DTD bắt đầu với delimiter là

  • Một element (phần tử) nói cho Parser để phân tích cú pháp tài liệu từ phần tử gốc đã cho.

  • DTD identifier là một định danh cho Document Type Definition, mà có thể là path tới một file trên hệ thống hoặc URL tới một file trên mạng. Nếu DTD đang trỏ tới path bên ngoài, thì nó được gọi là External Subset.

  • Dấu ngoặc móc vuông [ ] bao quanh một danh sách tùy ý các khai báo thực thể, được gọi là Internal Subset.


Internal DTD trong XML

Một DTD được xem như là một DTD nội tại nếu các phần tử được khai báo bên trong XML file. Để xem nó như là DTD nội tại, thuộc tính standalone trong khai báo XML phải được thiết lập là yes. Nghĩa là, khai báo làm việc độc lập với nguồn ngoại vi.

Cú pháp Internal DTD trong XML

Cú pháp của DTD nội tại trong XML như sau:


<!DOCTYPE root-element [element-declarations]>

Ở đây, root-element là tên của phần tử gốc và element-declarations là nơi bạn khai báo các phần tử.

Ví dụ Internal DTD trong XML

Sau đây là ví dụ đơn giản của DTD nội tại.


<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE address [
   <!ELEMENT address (name,company,phone)>
   <!ELEMENT name (#PCDATA)>
   <!ELEMENT company (#PCDATA)>
   <!ELEMENT phone (#PCDATA)>
]>
<address>
    <name>Vinh Phan</name>
    <company>VietTuts</company>
    <phone>(84) 123-4567</phone>
</address>

Chúng ta cùng phân tích đoạn code trên:

Phần đầu khai báo - Bắt đầu khai báo XML với lệnh sau:


<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>

DTD - Ngay sau phần đầu khai báo là phần khai báo kiểu tài liệu, thường là DOCTYPE:


<!DOCTYPE address [

Khai báo DOCTYPE có một dấu chấm than (!) tại phần đầu của tên phần tử. DOCTYPE thông báo cho Parser rằng một DTD được liên kết với tài liệu XML này.

Phần thân DTD - Khai báo DOCTYPE được theo sau bởi phần thân của DTD đó, ở đó bạn khai báo các phần tử, thuộc tính, thực thể.


<!ELEMENT address (name,company,phone)>
<!ELEMENT name (#PCDATA)>
<!ELEMENT company (#PCDATA)>
<!ELEMENT phone_no (#PCDATA)>

Một số phần tử được khai báo ở đây mà cấu tạo nên từ vựng của tài liệu document. định nghĩa phần tử name là kiểu "#PCDATA". Ở đây #PCDATA nghĩa là parse-able text data (dữ liệu text có thể phân tích cú pháp).

Phần cuối khai báo - Cuối cùng, khu vực khai báo DTD được kết thúc bởi sử dụng một dấu ngoặc móc vuông đóng và một dấu lớn hơn (]>). Nó kết thúc khai báo DTD và theo sau là tài liệu XML.

Qui tắc cho DTD trong XML

  • DTD phải xuất hiện ở phần bắt đầu của tài liệu (chỉ được đặt trước bởi XML header). Nó không được cho phép xuất hiện ở bất cứ đâu khác bên trong tài liệu.

  • Tương tự như khai báo DOCTYPE, khai báo phần tử phải bắt đầu với một dấu chấm than (!).

  • Name trong DTD phải kết nối với kiểu phần tử của phần tử gốc.


External DTD trong XML

Một External DTD (DTD ngoại vi) được khai báo bên ngoài XML file. Chúng được truy cập bằng việc xác định các thuộc tính hệ thống mà có thể là .dtd file hoặc một URL hợp lệ. Để xem nó như là DTD ngoại vi, thuộc tính standalone trong khai báo XML phải được thiết lập là no. Nghĩa là, khai báo bao thông tin từ nguồn bên ngoài.

Cú pháp External DTD trong XML

Sau đây là cú pháp cho DTD ngoại vi:


<!DOCTYPE root-element SYSTEM "file-name">

Ở đây, file-name là file với đuôi .dtd.

Ví dụ External DTD trong XML

Ví dụ sau minh họa sự sử dụng của DTD ngoại vi:


<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
<!DOCTYPE address SYSTEM "address.dtd">
<address>
    <name>Vinh Phan</name>
    <company>VietTuts</company>
    <phone>(84) 123-4567</phone>
</address>

Nội dung của DTD file là address.dtd như sau:


<!ELEMENT address (name,company,phone)>
<!ELEMENT name (#PCDATA)>
<!ELEMENT company (#PCDATA)>
<!ELEMENT phone (#PCDATA)>

Kiểu tham chiếu trong XML

Bạn có thể tham chiếu một DTD ngoại vi bởi sử dụng các định danh hệ thống (System Identifier) hoặc định danh chung (Public Identifier).

Định danh hệ thống (System Identifier)

Một định danh hệ thống cho bạn khả năng xác định vị trí của một file ngoại vi chứa các khai báo DTD. Cú pháp là như sau:


<!DOCTYPE name SYSTEM "address.dtd" [...]>

Bạn có thể thấy rằng, nó chứa từ khóa SYSTEM và một tham chiếu URI trỏ tới vị trí của tài liệu.

Định danh chung (Public Identifier)

Định danh chung cung cấp một kỹ thuật để xác định vị trí DTD resource và được viết như sau:


<!DOCTYPE name PUBLIC "-//Beginning XML//DTD Address Example//EN">

Nó bắt đầu với từ khóa PUBLIC, được theo sau bởi một định danh cụ thể. Định danh chung được sử dụng để nhận diện một entry trong một catalog. Định danh chung có thể theo sau bất kỳ định dạng nào, tuy nhiên một định dạng thường được sử dụng nhất là Formal Public Identifiers, hoặc FPIs.


XML Validation - Xác nhận tài liệu XML
XML Schema - lược đồ 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