XML: Bài 1.3. Làm việc với XML

Các khóa học qua video:
Python SQL Server PHP C# Lập trình C Java HTML5-CSS3-JavaScript
Học trên YouTube <76K/tháng. Đăng ký Hội viên
Viết nhanh hơn - Học tốt hơn
Giải phóng thời gian, khai phóng năng lực

Trong bài học thứ ba này, Làm việc với XML, bạn sẽ học cách:

  • Giải thích các bước xây dựng một tài liệu XML.
  • Xác định ý nghĩa của XML được định dạng tốt.

1.3.1. Tạo tài liệu XML

Một tài liệu XML có ba thành phần chính:

  1. Thẻ (đánh dấu) và văn bản (nội dung)
  2. DTD hoặc Lược đồ
  3. Thông số kỹ thuật định dạng hoặc hiển thị

Các bước để xây dựng một tài liệu XML như sau:

Ø   Tạo tài liệu XML trong trình soạn thảo

Để tạo một tài liệu XML đơn giản, bạn nhập mã XML vào bất kỳ văn bản hoặc trình soạn thảo XML nào như được minh họa trong đoạn mã sau.

Đoạn mã:

<?xml version="1.0" encoding="iso-8859-1"?>
<Soft_drink>
  <Name>Refresh</Name>
  <Price>$1</Price>
</Soft_drink>

Ø Lưu tệp XML

Sau khi nhập xong, bạn lưu nội dung của tệp. Để lưu tệp, bạn nhấp vào menu File, nhấp vào tùy chọn "Save" và cung cấp tên tệp, chẳng hạn như SoftDrink.xml. Phần mở rộng .xml là bắt buộc nếu bạn đang nhập mã trong Notepad hoặc bất kỳ loại trình xử lý văn bản nào như Microsoft Word.

Ø Tải tài liệu XML trong trình duyệt

Sau khi tài liệu được lưu, bạn có thể mở tệp trực tiếp trong trình duyệt hỗ trợ XML. Trình duyệt phổ biến được sử dụng là Internet Explorer 5.0 trở lên.

1.3.2. Khám phá tài liệu XML

Các khối xây dựng khác nhau của một tài liệu XML như sau:

  • Khai báo phiên bản XML
  • Định nghĩa loại tài liệu
  • Phiên bản tài liệu trong đó nội dung được xác định bởi đánh dấu

Hình 1.6 mô tả một tài liệu XML.

Mô tả một tài liệu XML

Hình 1.6: Tài liệu XML

Giải thích cho các vùng được đánh dấu trong mã:

<?xml

Khai báo XML phải bắt đầu bằng chuỗi năm ký tự, <?xml. Nó chỉ ra rằng tài liệu là một tài liệu XML.

version = "1.0"

Khai báo XML cho biết phiên bản của XML, kiểu mã hóa ký tự đang được sử dụng và khai báo đánh dấu được sử dụng trong tài liệu XML.

encoding = "iso-8859-1"

Các ký tự được mã hóa bằng nhiều định dạng mã hóa khác nhau. Mã hóa ký tự được khai báo trong khai báo mã hóa.

standalone = "yes"

Khai báo standalone cho biết sự hiện diện của các khai báo đánh dấu bên ngoài. "yes" cho biết rằng không có khai báo đánh dấu bên ngoài nào và "no" cho biết rằng có thể tồn tại các khai báo đánh dấu bên ngoài.

Khai báo Kiểu tài liệu (Document Type Declaration) sẽ khai báo và định nghĩa các phần tử được sử dụng trong lớp tài liệu. Đây là một DTD được sử dụng nội bộ như được minh họa trong đoạn mã sau:

<!DOCTYPE Student [
  <!ELEMENT Student (Name,Dob,BloodGroup,RollNumber)>
  <!ELEMENT Name (#PCDATA)>
  <!ELEMENT Dob (#PCDATA)>
  <!ELEMENT BloodGroup (#PCDATA)>
  <!ELEMENT RollNumber (#PCDATA)>
]>

Nếu cùng một DTD được sử dụng bên ngoài, thì mã là:

<!DOCTYPE student SYSTEM "studatabase.dtd">
<Student>
  <Name>James</Name>
  <Dob>26th September, 1983</Dob>
  <BloodGroup>A positive</BloodGroup>
  <RollNumber>17</RollNumber>
</Student>

Phần này xác định nội dung của tài liệu XML được gọi là đánh dấu. Nó mô tả mục đích và chức năng của từng phần tử.

Lưu ý: Các thẻ trong XML không được xác định trước.  XML cho phép người dùng tạo các thẻ khi cần thiết.

<? xml version = "1.0" encoding = "iso-8859-1"?>

<Message> Vui lòng gọi </Message>

 

<? xml version = "1.0" encoding = "iso-8859-1"?>

<P> Vui lòng Gọi </P>

Hai đoạn mã XML ở trên hiển thị cùng một đầu ra với các tên khác nhau.  Chúng bình đẳng vì chúng có cấu trúc và nội dung giống nhau.

 1.3.3. Ý nghĩa trong Đánh dấu

Đánh dấu có thể được chia thành ba phần sau:

Ø Cấu trúc

Nó mô tả hình thức của tài liệu bằng cách xác định mối quan hệ giữa các phần tử khác nhau trong tài liệu. Nó nhấn mạnh để chỉ định một phần tử gốc, không rỗng, chứa các phần tử khác và nội dung.

Ø Ngữ nghĩa

Ngữ nghĩa mô tả cách từng phần tử được chỉ định với thế giới bên ngoài của tài liệu. Ví dụ: một trình duyệt Web hỗ trợ HTML sẽ gán "đoạn văn" cho các thẻ <P> và </P> nhưng không gán cho các thẻ <Message> và </Message>.

Ø Phong cách (Style)

Nó chỉ định cách hiển thị nội dung của thẻ hoặc phần tử. Nó cho biết thẻ có màu đậm, bình thường và màu hồng hay có kích thước phông chữ 10 hay không.

1.3.4. Tài liệu XML được định dạng tốt

Định dạng tốt đề cập đến các tiêu chuẩn mà các tài liệu XML phải tuân theo. Sự hình thành tốt làm cho các trình xử lý và trình duyệt XML đọc được các tài liệu XML. Một tài liệu được hình thành tốt, nếu nó đáp ứng các quy tắc sau:

Ø Yêu cầu tối thiểu một phần tử

Mọi tài liệu XML được định dạng tốt phải bao gồm tối thiểu một phần tử.

Ø Các thẻ XML có phân biệt chữ hoa chữ thường

Tất cả các thẻ được sử dụng đều phân biệt chữ hoa chữ thường, <URGENT> khác với <urgent>.

Ø Mọi thẻ bắt đầu phải kết thúc bằng thẻ kết thúc

Tất cả các thẻ trong XML phải bắt đầu bằng thẻ bắt đầu và thẻ kết thúc phù hợp. Các thẻ kết thúc chỉ có thêm một dấu gạch chéo so với thẻ bắt đầu của chúng.

Ø Các thẻ XML phải được lồng vào nhau đúng cách

Tất cả các thẻ XML được sử dụng phải được lồng vào nhau đúng cách. Đoạn mã sau minh họa thuộc tính này.

Đoạn mã:

<Book>
  <Name>Good XML</Name>
  <Cost>$20</Cost>
</Book>

Ø Các thẻ XML phải hợp lệ

  • Thẻ phải bắt đầu bằng chữ cái, dấu gạch dưới (_) hoặc dấu hai chấm (:).
  • Thẻ phải chứa sự kết hợp của các chữ cái, số, dấu chấm (.), Dấu hai chấm, dấu gạch dưới hoặc dấu gạch ngang (-).
  • Thẻ không được chứa khoảng trắng.
  • Thẻ không nên bắt đầu bằng các từ dành riêng như "xml".

Ø Độ dài của tên đánh dấu

Độ dài của các thẻ phụ thuộc vào bộ xử lý XML.

Ø Các thuộc tính XML phải hợp lệ

  • Các thuộc tính không được trùng lặp
  • Các thuộc tính được chỉ định bởi một cặp tên và giá trị được phân tách bằng dấu bằng (=). Các giá trị được phân tách bằng dấu ngoặc kép. Ví dụ,
<DOLL NAME="BARBIE" COLOR="PINK">
  • Các thuộc tính phải tuân theo các quy tắc tương tự như được theo sau bởi các thẻ.

Ø Các tài liệu XML phải được xác minh

Để được đọc bởi các trình duyệt XML, tài liệu phải được kiểm tra theo các quy tắc XML.

Hình 1.7 cho thấy một tài liệu XML được định dạng tốt.

Tài liệu XML được định dạng tốt

Hình 1.7: Tài liệu XML được định dạng tốt

Kiểm tra kiến ​​thức bài 1.3

1. Đoạn mã nào trong số các đoạn mã sau sẽ cho kết quả là

"Hi,

The test is on Wednesday. Regards

Sam.

12/2/2007."

(A)

<?xml version="1.0" encoding="iso-8859-1"?>
<Matter>
  <Wish> Hi, </Wish>
  <Body> The test is on Wednesday. </Body>
  <Close> Regards Sam.
  </Close>
  <Date>
    <Day>12</Day>
    <Month>2</Month>
    <Year>2007</Year>
  </Date>
</Matter>

(B)

<?xml version="1.0" encoding="iso-8859-1"?>
<Matter>
  <Wish> Hi, </Wish></Matter>
<Body> The test is on Wednesday. </Body>
<Close> Regards Sam.
</Close>
<Date>
  <Day>12</Day>
  <Month>2</Month>
  <Year>2007</Year>
</Date>
(C)
<?xml version="1.0" encoding="iso-8859-1"?>
<Matter>
  <Wish> Hi, </Wish>
  <Body> The test is on Wednesday. </Body>
  <Close> Regards Sam.
  </Close>
  <Date>
    <Day>12</Day>
    <Month>2</Month>
    <Year>2007</Year>
    <Date></Matter>
(D)
<?xml version="1.0" encoding="iso-8859-1"?>
<Matter>
  Hi,
  <Body> The test is on Wednesday. </Body>
  <Close>
    Regards Sam.
  </Close>
  <Date>
    <Day>12</Day>
    <Month>2</Month>
    <Year>2007</Year>
    <Date></Matter>

2. Đoạn mã nào sau đây tạo ra một đầu ra?

(A)

<?xml version="1.0" encoding="iso-8859-1"?>
<xml>
  9100203845902
  Did you understand the concept? 2345823-23934
</xml>

(B)

<?xml version="1.0" encoding="iso-8859-1"?>
<confirmation><question> Did you understand the concept?</question></ confirmation>
<sender>
  Sender : 9100203845902
  <recipient>
    Recipient: 2345823-23934
    <recipient>

(C)

<?xml version="1.0" encoding="iso-8859-1"?>
<confirmation>
  <sender>
    Sender : 9100203845902
  </sender>
  <question> Did you understand the concept?</question>
  <recipient>
    Recipient: 2345823239
  </recipient>
</confirmation>

(D)

<?xml version="1.0" encoding="iso-8859-1"?> Sender : 9100203845902
Recipient: 2345823239
<confirmation><question> Did you understand the concept?</ question></ confirmation>
» Tiếp: Bài 1.4. Cú pháp XML
« Trước: Bài 1.2. Khám phá XML
Các khóa học qua video:
Python SQL Server PHP C# Lập trình C Java HTML5-CSS3-JavaScript
Học trên YouTube <76K/tháng. Đăng ký Hội viên
Viết nhanh hơn - Học tốt hơn
Giải phóng thời gian, khai phóng năng lực
Copied !!!