Hướng dẫn XML cho người mới bắt đầu

XML là gì?

XML là viết tắt của eXcó thể kéo căng MArkupe Lngôn ngữ. Đó là một ngôn ngữ (không phải> ngôn ngữ lập trình) sử dụng đánh dấu và có thể mở rộng. Nó có nguồn gốc từ Standard Gtăng cường MArkupe Lngôn ngữ (SGML). XML cũng sử dụng DTD (Dnghề nghiệp TYpe Dđịnh nghĩa) để xác định cấu trúc tài liệu XML.

XML không phải để xử lý các hoạt động tính toán và thuật toán. Vì vậy, XML không phải là ngôn ngữ lập trình. Mục tiêu chính là vận chuyển dữ liệu chứ không phải để hiển thị thông tin. XML thu hẹp khoảng cách giữa khả năng đọc của con người và khả năng đọc của máy. Không giống như các thẻ HTML, các thẻ XML có tính tự mô tả.

XML là một định dạng mở. Phần mở rộng tên tệp của XML là .xml

Lịch sử của XML

XML bắt đầu từ năm 1996 và được xuất bản lần đầu tiên vào năm 1998. World Wide Web Consortium (W3C) là nhà phát triển của XML, và nó đã trở thành một Khuyến nghị của W3C 1998.

Có hai phiên bản XML.

  1. XML1.0
  2. XML1.1

XML1.1 là phiên bản mới nhất. Chưa, XML1.0 là phiên bản được sử dụng nhiều nhất.

Các trình soạn thảo XML là:

  • Tim Bray,
  • Jean Paoli,
  • CM Sperberg,
  • Eve Maler,
  • Francois Yergeau.

Tính năng XML

Dưới đây là một số tính năng quan trọng của XML:

  • Nó có thể mở rộng và con người có thể đọc được.
  • Nó là nền tảng và ngôn ngữ độc lập.
  • Nó bảo tồn khoảng trắng.
  • Sự đơn giản tổng thể.
  • Tính chất tự mô tả.
  • Nó tách dữ liệu khỏi HTML.
  • Thẻ XML không được xác định trước. Bạn cần xác định các thẻ tùy chỉnh của mình.
  • XML được thiết kế để mang dữ liệu chứ không phải để hiển thị dữ liệu đó.
  • Mã đánh dấu của XML rất dễ hiểu đối với con người.
  • Định dạng có cấu trúc tốt dễ đọc và ghi từ các chương trình.
  • XML là một ngôn ngữ đánh dấu có thể mở rộng như HTML.

Mã hóa XML

Mã hóa là việc chuyển đổi các ký tự Unicode sang biểu diễn nhị phân của chúng. UTF được sử dụng để mã hóa XML. Sử dụng là viết tắt của UCS (SCU là viết tắt của Universal Cvi khuẩn Svân vân) Tthông tin Format.

Chủ yếu có hai loại mã hóa UTF.

  1. UTF-8 : UTF-8 sử dụng 8 bit để biểu diễn các ký tự.
  2. Ví dụ:

    <?xml version="1.0" encoding="UTF-8"?>
    
  3. UTF-16

Nó sử dụng 16 bit để thể hiện các ký tự.

Ví dụ:

<?xml version="1.0" encoding="UTF-16"?>

Bạn có thể sử dụng mã hóa bên trong khai báo XML. UTF-8 là mã hóa mặc định trong XML.

Cú pháp XML

Đoạn mã dưới đây hiển thị cú pháp XML cơ bản.

<?xml version = "1.0" encoding = "UTF-8" ?>
<root>
    <child>
        <subchild>.....</subchild>
    </child>
</root>

Khai báo XML

Khai báo XML bao gồm phiên bản XML, mã hóa ký tự hoặc/và trạng thái độc lập. Việc khai báo là tùy chọn.

Cú pháp khai báo XML

Đoạn mã dưới đây hiển thị cú pháp khai báo XML.

<?xml version="version_number," encoding="character_encoding" standalone="yes_or_no" ?> 

Quy tắc khai báo XML

Sau đây là các quy tắc khai báo XML.

  • Nếu có khai báo XML thì nó phải là thứ đầu tiên xuất hiện.
  • Khai báo XML phân biệt chữ hoa chữ thường và phải bắt đầu bằng chữ thường <?xml.
  • Nó không có thẻ đóng.

Ví dụ về khai báo XML

Đoạn mã sau đây hiển thị một ví dụ về khai báo XML.

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

Nhận xét XML

Bình luận là tùy chọn. Việc thêm chú thích giúp hiểu được nội dung tài liệu.

Cú pháp cho chú thích XML

Một bình luận bắt đầu bằng <!– và kết thúc bằng ->.

Đoạn mã sau đây hiển thị cú pháp cho chú thích XML.

<!-- Add your comment here -->

Thẻ và phần tử XML

Thẻ hoạt động theo cặp ngoại trừ việc khai báo. Mỗi cặp thẻ bao gồm một thẻ mở (còn được gọi là thẻ bắt đầu) Và một thẻ đóng (còn được gọi là thẻ kết thúc).

Tên thẻ được đính kèm trong <>. Đối với một cặp thẻ cụ thể, thẻ bắt đầu và thẻ kết thúc phải giống hệt nhau ngoại trừ thẻ kết thúc có / sau <.

<name>...</name>

Mọi thứ nằm giữa thẻ mở và thẻ đóng đều được gọi là nội dung.

Thẻ mở, nội dung và thẻ đóng hoàn toàn được gọi là thẻ thành phần.

Opening tag + content + closing tag = an element

Lưu ý: Các phần tử cũng có thể chứa các thuộc tính. Bạn sẽ học các thuộc tính rất sớm.

Chúng ta hãy xem xét yếu tố dưới đây.

<age>20</age>

Trong phần tử trên,

  • tuổitên của phần tử.

Lưu ý: Tên thẻ còn được gọi là một thành phần or tên phần tử.

  • – thẻ mở đầu
  • 25 - Nội dung
  • – thẻ đóng.

Nếu không có nội dung giữa các thẻ, như được hiển thị bên dưới, nó được gọi là thẻ trống.

<result></result>

Quy tắc phần tử và thẻ XML

Danh sách sau đây hiển thị các quy tắc về thẻ và phần tử XML.

  • Thẻ có phân biệt chữ hoa chữ thường.

Ví dụ:

Chính xác:

<age>20</age>

Sai rồi:

<age>20</Age>

Lưu ý: TUỔI, Tuổi tác,tuổi là ba tên khác nhau trong XML.

  • Tất cả các tài liệu XML phải chứa một phần tử gốc duy nhất.
  • Tất cả các phần tử phải có thẻ đóng (trừ phần khai báo).
  • Tên thẻ phải bắt đầu bằng một chữ cái hoặc dấu gạch dưới và không thể bắt đầu bằng XML.
  • Tên thẻ có thể chứa các chữ cái, chữ số, dấu gạch nối, dấu gạch dưới và dấu chấm. Dấu gạch nối gạch dưới và dấu chấm là dấu chấm câu duy nhất được phép.
  • Tên thẻ không thể chứa dấu cách.
  • Tất cả các phần tử phải được lồng đúng cách.

Ví dụ:

Chính xác:

<b><u>This text is bold and italic</u></b>

Sai rồi:

<b><u>This text is bold and italic.</b></u>

Thuộc tính XML

Thuộc tính cho một phần tử được đặt sau tên thẻ trong thẻ bắt đầu. Bạn có thể thêm nhiều thuộc tính cho một thành phần có tên thuộc tính khác nhau.

Hãy xem xét tài liệu XML dưới đây.

<company name="ABC Holdings" location="London">  
    <chairman>Mr. John</chairman>  
    <gm>Mr. Wood</gm>  
</company>  

Có hai thuộc tính trong công ty phần tử, tức là tênđịa điểm thư viện nào.

Chúng ta hãy nghiên cứu tên thuộc tính,

  • name=”Tập đoàn ABC” – một thuộc tính
  • tên – tên thuộc tính
  • Tập đoàn ABC - giá trị thuộc tính

Chú thích: An tên thuộc tính còn được biết đến như một thuộc tính.

Ngoài ra, hãy lưu ý rằng trong ví dụ trên, công tynguồn gốc thành phần.

Quy tắc thuộc tính XML

Danh sách dưới đây hiển thị các quy tắc thuộc tính XML.

  • Giá trị thuộc tính phải nằm trong dấu ngoặc kép.
  • Một phần tử không thể chứa nhiều thuộc tính có cùng tên.

Thuộc tính so với phần tử

Bạn vẫn còn nhầm lẫn về sự khác biệt giữa thuộc tính và phần tử? Đây là một ví dụ khác.

Hãy xem xét tài liệu A và B được đưa ra dưới đây.

Tài liệu A:

<teacher subject="English">
    <name>Mr. John</name>.
    <qualification>Graduate</qualification>
</teacher>

Tài liệu B:

<teacher>
    <subject>English</subject>
    <name>Mr. John</name>
    <qualification>Graduate</qualification>
</teacher>

Trong tài liệu A, Tiêu đề là một thuộc tính.

Trong tài liệu B, Tiêu đề là một thành phần.

Thực thể XML

Thực thể XML là gì?

Nói một cách đơn giản, thực thể là một cách thể hiện các ký tự đặc biệt. Các thực thể còn được gọi là thực thể tài liệu tham khảo.

Tại sao bạn cần các thực thể XML?

Một số ký tự (chẳng hạn như ", & <, v.v.) được bảo lưu trong XML. Họ được gọi là ký tự đặc biệt và không thể được sử dụng trực tiếp cho các mục đích khác.

Ví dụ, các < > ký hiệu được sử dụng cho thẻ. Bạn không thể gõ trực tiếp từ bàn phím để ít hơnlớn hơn dấu hiệu. Thay vào đó, bạn cần sử dụng các thực thể.

Bảng sau đây hiển thị một số thực thể XML phổ biến.

Nhân vật Mô tả Tên thực thể Sử dụng
" Dấu ngoặc kép (dấu ngoặc kép) quot "
& Dấu và amp &
' Dấu nháy đơn (trích dẫn đơn) apos '
< Less dấu hiệu hơn lt <
> Dấu lớn hơn gt >

Ví dụ:

<friend>
        <name>My friends are Alice &amp; Jane.</name>
</friend>

HTML so với XML

Điểm tương đồng giữa HTML và XML

Danh sách sau đây hiển thị những điểm tương đồng giữa HTML và XML.

  • Cả hai đều là định dạng mở.
  • Cả hai đều là ngôn ngữ đánh dấu.
  • Cả hai đều sử dụng thẻ và thuộc tính để mô tả nội dung.

Sự khác biệt giữa HTML và XML

Mặc dù XML giống như HTML nhưng XML không phải là sự thay thế cho HTML. Có một số khác biệt đáng kể giữa HTML và XML.

Bảng sau đây hiển thị sự so sánh giữa HTML và XML.

HTML XML
Giá cho Ngôn ngữ đánh dấu siêu văn bản Ngôn ngữ đánh dấu có thể mở rộng
Loại ngôn ngữ Một ngôn ngữ đánh dấu được xác định trước. Một khung để chỉ định ngôn ngữ đánh dấu.
Chi tiết cấu trúc Không cung cấp. Cung cấp.
Mục đích Dùng để hiển thị dữ liệu. Dùng để vận chuyển dữ liệu
Thúc đẩy bởi Định dạng điều khiển. Định hướng nội dung.
Thiên nhiên Có tính chất tĩnh. Có tính chất năng động.
Loại thẻ Thẻ được xác định trước. Thẻ do người dùng xác định.
Giới hạn thẻ Một số lượng hạn chế các thẻ có sẵn. Thẻ có thể mở rộng.
Đóng thẻ Không cần thiết phải sử dụng thẻ đóng (nhưng nên sử dụng thẻ đóng). Thẻ đóng là bắt buộc.
Hỗ trợ không gian tên Không được hỗ trợ. Được hỗ trợ.
Phân biệt chữ hoa chữ thường Thẻ không phân biệt chữ hoa chữ thường. Thẻ có phân biệt chữ hoa chữ thường.
Khoảng trắng Khoảng trắng không thể bảo toàn (có thể bỏ qua khoảng trắng). Giữ nguyên khoảng trắng (không thể bỏ qua khoảng trắng).
Phân tích cú pháp trong JavaScript Không cần bất kỳ ứng dụng bổ sung. Cần triển khai DOM.
Lồng mã Không nhất thiết cần thiết. Cần thiết.
lỗi Có thể bỏ qua những lỗi nhỏ. Lỗi không được phép.
Phần mở rộng tên tệp . Html or . Htm . Xml
Kích thước máy Tương đối lớn. Tương đối nhỏ.
Quotes Không cần trích dẫn cho các giá trị thuộc tính. Bắt buộc đối với các giá trị thuộc tính XML.
Hỗ trợ đối tượng Cung cấp hỗ trợ đối tượng gốc. Các đối tượng phải được thể hiện bằng các quy ước.
Hỗ trợ không có giá trị Tự nhiên nhận ra giá trị null. Cần sử dụng xsi:nil trên các phần tử.
Quyết định định dạng Cung cấp ánh xạ trực tiếp cho dữ liệu ứng dụng. Yêu cầu nỗ lực đáng kể hơn.
Đường cong học tập Less đường cong học tập dốc so với XML. Đường cong học tập sâu sắc.
Website https://html.spec.whatwg.org/ https://www.w3.org/TR/xml11/

Cú pháp HTML cơ bản

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
     
</body>
</html>

Cú pháp XML cơ bản

<?xml version = "1.0" encoding = "UTF-8" ?>
<root>
    <child>
        <subchild>.....</subchild>
    </child>
</root>

Ví dụ tương tự với HTML và XML

Với HTML

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
         <p>Book</p>
    <p>Name: Anna Karenina</p>
    <p>Author: Leo Tolstoy</p>
    <p>Publisher: The Russian Messenger</p>
</body>
</html>

Với XML

<?xml version = "1.0" encoding = "UTF-8" ?>
<book>
        <name>Anna Karenina</name> 
        <author>Leo Tolstoy</author> 
      <publisher>The Russian Messenger</publisher>
</book>

JSON so với XML

Điểm tương đồng giữa JSON và XML

Danh sách dưới đây cho thấy những điểm tương đồng giữa JSON và XML.

  • Cả hai đều là định dạng mở.
  • Cả hai đều tự mô tả.
  • Cả hai đều có cấu trúc phân cấp.
  • Cả hai đều có thể phân tích và sử dụng bởi một số ngôn ngữ lập trình.

Sự khác biệt giữa JSON và XML

Có một số khác biệt giữa XML và JSON.

Các bảng dưới đây thể hiện sự so sánh giữa JSON và XML.

JSON XML
Giá cho JavaKý hiệu đối tượng tập lệnh Ngôn ngữ đánh dấu có thể mở rộng
Mở rộng từ JavaScript SGML
lưu trữ dữ liệu Dữ liệu được lưu trữ dưới dạng cặp khóa-giá trị. Dữ liệu được lưu trữ dưới dạng cấu trúc cây.
Không gian tên Không hỗ trợ cho không gian tên. Hỗ trợ không gian tên.
Nhận xét Thêm ý kiến ​​​​không được hỗ trợ. Có thể thêm ý kiến.
Khả năng truy cập dữ liệu Có thể truy cập dễ dàng dưới dạng đối tượng JSON. Dữ liệu cần được phân tích cú pháp.
Siêu dữ liệu Thêm siêu dữ liệu không được hỗ trợ. Có thể viết siêu dữ liệu.
Các loại Các loại JSON: chuỗi, số, mảng, Boolean. Tất cả dữ liệu XML phải được dây.
Các loại dữ liệu hỗ trợ Hỗ trợ văn bảncon số chỉ các kiểu dữ liệu. Hỗ trợ nhiều loại dữ liệu (văn bản, số, hình ảnh, v.v.)
Hỗ trợ của mảng Hỗ trợ nhiều hơn cho mảng so với XML. Không có hoặc ít hỗ trợ cho mảng.
Sự hỗ trợ của đối tượng Hỗ trợ riêng cho đối tượng. Đối tượng phải được thể hiện bằng các quy ước.
Hỗ trợ bộ công cụ AJAX Được hỗ trợ. Không được hỗ trợ đầy đủ.
Truy xuất giá trị Dễ dàng. Khó.
Giải tuần tự hóa/tuần tự hóa Hoàn toàn tự động. Các nhà phát triển phải viết JavaMã lệnh.
Hỗ trợ trình duyệt Được hỗ trợ bởi hầu hết các trình duyệt. Phân tích cú pháp XML trên nhiều trình duyệt có thể phức tạp.
Mã hóa Chỉ hỗ trợ mã hóa UTF-8. Nó hỗ trợ mã hóa khác nhau.
Khả năng hiển thị Không có khả năng hiển thị. Cung cấp khả năng hiển thị.
Kích thước tài liệu Nhỏ hơn XML. Lớn hơn JSON.
Phần mở rộng tên tệp .json . Xml
Bảo mật Less được bảo đảm. An toàn hơn JSON.
Dễ đọc Tương đối dễ dàng. Tương đối khó khăn.
Đường cong học tập Dễ học. Đường cong học tập sâu sắc.
Website https://www.json.org/json-en.html https://www.w3.org/TR/xml11/

Cú pháp JSON cơ bản

{string:value, .......}

Ví dụ tương tự với JSON và XML

Với JSON

{"books":[
   {"name":"Anna Karenina", "author":"Leo Tolstoy"},
   {"name":"One Hundred Years of Solitude", "author":"Gabriel Garcia Marquez"},
   {"name":"The Great Gatsby", "author":"Scott Fitzgerald"},
   {"name":"Invisible Man", "author":"Ralph Ellison"}
]}

Với XML

<?xml version = "1.0" encoding = "UTF-8" ?>
<books>
    <book>
        <name>Anna Karenina</name> 
        <author>Leo Tolstoy</author> 
    </book>
    <book>
        <name>One Hundred Years of Solitude</name> 
        <author>Gabriel Garcia Marquez</author> 
    </book>
    <book>
        <name>The Great Gatsby</name> 
        <author>Scott Fitzgerald</author> 
    </book>
    <book>
        <name>Invisible Man</name> 
        <author>Ralph Ellison</author>
    </book>
</books>

DTD XML

DTD là gì?

DTD là viết tắt của Dnghề nghiệp TYpe Dđịnh nghĩa. Nó xác định cấu trúc của một tài liệu XML bằng cách sử dụng một số thành phần pháp lý. XML DTD là tùy chọn.

Quy tắc DTD

Danh sách sau đây hiển thị các quy tắc DTD.

  • Nếu có DTD thì nó phải xuất hiện ở đầu tài liệu (chỉ phần khai báo XML mới có thể xuất hiện phía trên DTD).
  • Việc khai báo phần tử phải bắt đầu bằng một ! dấu.
  • Tên DTD và kiểu phần tử của phần tử gốc phải giống nhau.

Các ví dụ của DTD

Ví dụ về DTD nội bộ:

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE student [
<!ELEMENT student (firstname,lastname,school)>  
<!ELEMENT firstname (#PCDATA)>  
<!ELEMENT lastname (#PCDATA)>  
<!ELEMENT school (#PCDATA)> 
]>
<student>  
    <firstname>Mark</firstname>  
    <lastname>Wood</lastname>  
    <school>Hills College</school>  
</student>

Trong ví dụ trên,

  • !DOCTYPEsinh viên cho biết sự bắt đầu của khai báo DTD. Và sinh viên là phần tử gốc của tài liệu XML.
  • !ELEMENT sinh viên chỉ ra sinh viên phần tử phải chứa họ, tên trường học yếu tố.
  • !ELEMENT tên chỉ ra firstname phần tử thuộc loại #PCDATA (Pđốt cháy Cvi khuẩn Ngày).
  • !ELEMENT họ chỉ ra LastName phần tử thuộc loại #PCDATA.
  • !ELEMENT trường học chỉ ra trường học phần tử thuộc loại #PCDATA.

Ví dụ về DTD bên ngoài:

<?xml version="1.0" encoding="UTF-8" ?>  
<!DOCTYPE student SYSTEM "student.dtd">  
<student>  
    <firstname>Mark</firstname>  
    <lastname>Wood</lastname>  
    <school>Hills College</school>  
</student>  

Nội dung file DTD (student.dtd) như sau.

<!ELEMENT student (firstname,lastname,school)>  
<!ELEMENT firstname (#PCDATA)>  
<!ELEMENT lastname (#PCDATA)>  
<!ELEMENT school (#PCDATA)>

DOM XML

DOM là gì?

DOM là viết tắt của Dnghề nghiệp Ođối tượng Model. Nó định nghĩa một cách thức chuẩn để truy cập và thao tác các tài liệu XML. DOM có cấu trúc cây (phân cấp).

Ví dụ về DOM

Hãy xem xét tài liệu XML dưới đây.

<?xml version="1.0" encoding="UTF-8" ?>  
<school>
    <student>  
        <name>
            <first_name>Alex</first_name>  
            <last_name>Clarke</last_name>  
        </name>
        <age>14</age>  
        <address>No. 35, Flower Road, Leeds</address>  
    </student> 
</school>

Cấu trúc cây của tệp XML ở trên sẽ trông giống như hình ảnh sau.

DOM XML
Ví dụ về DOM XML

Xác thực XML

Tài liệu XML được định dạng đúng là gì?

Đúng ngữ pháp Tài liệu XML là tài liệu XML có cú pháp đúng.

Tài liệu XML hợp lệ là gì?

Hợp lệ Các tài liệu XML được định dạng tốt và cũng tuân thủ các quy tắc DTD.

Không gian tên XML

Tại sao không gian tên?

Không gian tên giúp tránh xung đột tên thành phần.

Khai báo không gian tên

Sau đây là cú pháp khai báo không gian tên.

<element xmlns:name="URL">

Trong tuyên bố trên,

  • xmlns từ khóa chỉ ra sự bắt đầu của không gian tên.
  • tên là tiền tố của không gian tên.
  • URL là định danh không gian tên.

Ví dụ về không gian tên

Đoạn mã sau đây hiển thị một ví dụ về không gian tên.

<?xml version="1.0" encoding="UTF-8" ?>  
<abt:about xmlns:abt="https://www.guru99.com/about-us.html">  
    <abt:founder>Krishna</abt:founder>  
    <abt:vision>Fun and Free Education for ALL</abt:vision>  
</abt:about>   

Trình soạn thảo XML

Có sẵn một số trình soạn thảo XML. Bất kỳ trình soạn thảo văn bản nào (chẳng hạn như notepad, v.v.) đều có thể sử dụng làm trình soạn thảo XML.

Danh sách sau đây hiển thị một số trình soạn thảo XML phổ biến trong năm 2021.

1) Sổ tay XML

XML Notepad là một trình soạn thảo mã nguồn mở cho XML. Nó có chế độ xem dạng cây và Đầu ra XSL ở khung bên trái và văn bản nút ở bên phải. Nó có một cửa sổ gỡ lỗi ở phía dưới.

Thống kê chính:

  • Loại – Trình soạn thảo XML
  • Nhà phát triển - Microsoft
  • Hệ điều hành được hỗ trợ – Microsoft Windows.
  • Miễn phí

Link: http://microsoft.github.io/XmlNotepad/


2) Studio bút cảm ứng

Stylus Studio là một IDE được viết bằng C++ cho Ngôn ngữ đánh dấu mở rộng (XML). Nó cho phép người dùng chỉnh sửa và chuyển đổi các tài liệu XML, dữ liệu như trao đổi dữ liệu điện tử (EDI), CSV và dữ liệu quan hệ.

Thống kê chính:

  • Loại – Môi trường phát triển tích hợp (IDE) cho XML
  • Nhà phát triển – Progress Software Corporation
  • Hệ điều hành được hỗ trợ – Microsoft Windows.
  • Giá - Đã trả phí (Vui lòng tham khảo trang web bên dưới để biết giá mới nhất), Có sẵn bản dùng thử miễn phí.

Link: http://www.stylusstudio.com/


3) Altova XMLSpy

XMLSpy chủ yếu được tiếp thị như một trình soạn thảo JSON và XML. Nó có trình thiết kế và trình soạn thảo lược đồ tích hợp. Nó bao gồm Visual Studio và Eclipse hội nhập.

Thống kê chính:

  • Loại – Trình soạn thảo XML
  • Nhà phát triển - Altova
  • Hệ điều hành được hỗ trợ – Microsoft Windows.
  • Giá - Đã trả phí (Vui lòng tham khảo trang web bên dưới để biết giá mới nhất), Có sẵn bản dùng thử miễn phí.

Link:https://www.altova.com/xmlspy-xml-editor


4) Trình soạn thảo XML oxy

Oxygen XML là một trình soạn thảo đa nền tảng được phát triển trong Java. Nó giúp xác thực các lược đồ như DTD, W3C XML Schema, RELAX NG, Schematron, NRL và NVDL.

Thống kê chính:

  • Loại – Trình soạn thảo XML
  • Nhà phát triển - SyncCông ty TNHH RO Soft
  • Hệ điều hành được hỗ trợ – Windows, Linux và Mac OS X
  • Giá – Đã thanh toán (Vui lòng tham khảo trang web bên dưới để biết giá mới nhất

Link:https://www.oxygenxml.com/


5) Xmplify

Xmplify XML Editor cung cấp một môi trường chỉnh sửa nhận biết XML đầy đủ với tính năng tự động dựa trên Lược đồ XML, xác thực tài liệu tự động, v.v.

Thống kê chính:

  • Loại – Trình soạn thảo XML
  • Nhà phát triển – MOSO Corporation
  • Hệ điều hành được hỗ trợ – Mac OS.
  • Giá – Đã thanh toán (Vui lòng tham khảo trang web bên dưới để biết giá mới nhất

Link: http://xmplifyapp.com/

Trình phân tích cú pháp XML

Trình phân tích cú pháp XML là một thư viện phần mềm cung cấp giao diện để làm việc với các tài liệu XML. Nó kiểm tra xem định dạng của tài liệu XML có đúng hay không. Một số trình phân tích cú pháp cũng có thể xác thực các tài liệu XML. Các trình duyệt hiện đại đi kèm với các trình phân tích cú pháp XML.

KÈN

KÈN là viết tắt của Snhỏ bé API cho XML. Nó là một aSự ép buộc pbiểu đồ igiao diện (API) để phân tích tài liệu XML. Chúng hoạt động tương tự như các trình xử lý sự kiện trong Java.

Không giống như DOM, SAX là một ví dụ về trình phân tích cú pháp XML dựa trên sự kiện.

Dưới đây là một số khác biệt quan trọng giữa SAX và DOM.

KÈN DOM
Giá cho API đơn giản cho XML Mô hình Đối tượng Tài liệu
Loại trình phân tích cú pháp Dựa trên sự kiện Dựa trên đối tượng
Đọc và viết XML Chỉ đọc Cả đọc và viết
Chèn/cập nhật/xóa nút Không thể chèn/cập nhật/xóa nút Có thể chèn/cập nhật/xóa các nút
Hiệu quả bộ nhớ Hiệu quả trí nhớ tốt Khác nhau
Tốc độ Chậm hơn trình phân tích cú pháp DOM Nhanh hơn trình phân tích cú pháp SAX
Thích hợp cho Các tập tin có kích thước nhỏ Các tập tin có kích thước lớn

Liên kết dữ liệu XML

Liên kết dữ liệu XML là sự biểu diễn dữ liệu trong tài liệu XML dưới dạng đối tượng nghiệp vụ trong bộ nhớ của máy tính.

Có ba cách tiếp cận để liên kết dữ liệu XML.

  • Liên kết dữ liệu dựa trên lược đồ XML: Các lớp XML tương ứng được tạo dựa trên lược đồ.
  • Liên kết dữ liệu dựa trên lớp: Một lược đồ XML tương ứng được tạo dựa trên các lớp.
  • Liên kết dữ liệu dựa trên bản đồ: Nó mô tả cách ánh xạ lược đồ XML hiện có tới một tập hợp các lớp (và ngược lại).

Ngoài ra còn có các khung liên kết dữ liệu XML.

Ví dụ:

Liên kết dữ liệu XML thật dễ dàng với các khung công tác. Khung liên kết dữ liệu tạo ra một lượng lớn mã cho bạn. Bạn cần cung cấp dữ liệu theo lược đồ DTD hoặc XML.

Lược đồ XML

XML kế hoạch (còn được biết là Định nghĩa lược đồ XML or XSD) sử dụng để mô tả cấu trúc tài liệu XML. Nó là một sự thay thế cho DTD.

Tại sao Schema lại quan trọng?

DTD không mạnh mẽ như một lược đồ vì nó không đủ khả năng mở rộng và linh hoạt. Vì vậy, nó có thể không phù hợp trong một số trường hợp. Trong một lược đồ tình huống như vậy là quan trọng. Mục đích chính của việc sử dụng lược đồ XML là xác định các thành phần và thuộc tính của tài liệu XML.

Lược đồ XML khác với DTD như thế nào?

So sánh sau đây cho thấy sự khác biệt giữa XSD (Sơ đồ XML) và DTD.

DTD XSD
Giá cho Định nghĩa loại tài liệu Định nghĩa lược đồ XML
Khả năng mở rộng Không thể mở rộng Mở rộng
Kiểm soát cấu trúc XML Less điều khiển Điều khiển nhiều hơn
Các loại dữ liệu hỗ trợ Không được hỗ trợ Hỗ trợ
Hỗ trợ không gian tên Không được hỗ trợ Hỗ trợ

Đoạn mã sau đây hiển thị một ví dụ về lược đồ XML.

xs:schema xmlns:xs = "http://www.w3.org/2001/XMLSchema">
    <xs:element name = "employee">
        <xs:complexType>
            <xs:sequence>
                <xs:element name = "firstname" type = "xs:string" />
                <xs:element name = "lastname" type = "xs:string" />
                <xs:element name = "phone" type = "xs:int" />
            </xs:sequence>
        </xs:complexType>
    </xs:element>
</xs:schema>

Ưu điểm của XML

Ở đây, ưu/lợi ích của XML:

  • Nó làm cho việc vận chuyển và chia sẻ dữ liệu trở nên dễ dàng.
  • XML cải thiện việc trao đổi dữ liệu giữa các nền tảng khác nhau.
  • Nó là ngôn ngữ đánh dấu, là một tập hợp các ký tự hoặc/và ký hiệu được đặt trong tài liệu văn bản.
  • XML cho biết tài liệu XML sẽ trông như thế nào sau khi nó được hiển thị.
  • Nó đơn giản hóa quá trình thay đổi nền tảng.
  • Nó tăng cường tính sẵn có của dữ liệu.
  • Nó hỗ trợ các tài liệu đa ngôn ngữ và Unicode.
  • Cung cấp tương đối dễ học và viết mã.
  • Nó là ngôn ngữ đánh dấu, là một tập hợp các ký tự hoặc/và ký hiệu được đặt trong tài liệu văn bản.
  • Nó thực hiện xác nhận bằng DTD và Schema.
  • Làm cho tài liệu có thể vận chuyển được trên các hệ thống và ứng dụng. Với sự trợ giúp của XML, bạn có thể trao đổi dữ liệu nhanh chóng giữa các nền tảng khác nhau.
  • XML tách dữ liệu khỏi HTML.

Nhược điểm của XML

Dưới đây là những nhược điểm/nhược điểm của việc sử dụng XML:

  • XML yêu cầu một ứng dụng xử lý.
  • Cú pháp XML tương tự như các định dạng truyền dữ liệu 'dựa trên văn bản' thay thế khác, đôi khi gây nhầm lẫn.
  • Không hỗ trợ kiểu dữ liệu nội tại
  • Cú pháp XML là dư thừa.
  • Không cho phép người dùng tạo thẻ của mình.

Tổng kết

  • XML là viết tắt của Ngôn ngữ đánh dấu có thể mở rộng. XML là ngôn ngữ (không phải ngôn ngữ lập trình) sử dụng đánh dấu và có thể mở rộng.
  • Mục đích chính là vận chuyển dữ liệu chứ không phải hiển thị dữ liệu.
  • XML 1.1 là phiên bản mới nhất. Tuy nhiên, XML 1.0 là phiên bản được sử dụng nhiều nhất.
  • Thẻ hoạt động theo cặp ngoại trừ việc khai báo.
  • Thẻ mở + nội dung + thẻ đóng = một phần tử
  • Các thực thể là một cách thể hiện các ký tự đặc biệt.
  • DTD là viết tắt của Định nghĩa loại tài liệu. Nó xác định cấu trúc của một tài liệu XML bằng cách sử dụng một số thành phần pháp lý. XML DTD là tùy chọn.
  • DOM là viết tắt của Mô hình đối tượng tài liệu. Nó định nghĩa một cách tiêu chuẩn để truy cập và thao tác các tài liệu XML.
  • Tài liệu XML đúng định dạng là tài liệu XML có cú pháp đúng.
  • Các tài liệu XML hợp lệ được định dạng đúng và cũng tuân thủ các quy tắc DTD.
  • Không gian tên giúp tránh xung đột tên thành phần.