Hướng dẫn what is xml & html? - xml & html là gì?


XML là một công cụ độc lập phần mềm và phần cứng để lưu trữ và vận chuyển dữ liệu.

Show

XML là gì?

  • XML là viết tắt của ngôn ngữ đánh dấu mở rộng
  • XML là một ngôn ngữ đánh dấu giống như HTML
  • XML được thiết kế để lưu trữ và vận chuyển dữ liệu
  • XML được thiết kế để tự mô tả
  • XML là một khuyến nghị của W3C

XML không làm gì cả

Có lẽ nó hơi khó hiểu, nhưng XML không làm gì cả.

Ghi chú này là một ghi chú cho Tove từ Jani, được lưu trữ dưới dạng XML:

& nbsp; Tove & nbsp; Jani & NBSP; Nhắc nhở & nbsp; Đừng quên tôi vào cuối tuần này!
  Tove
  Jani
  Reminder
  Don't forget me this weekend!

XML ở trên khá tự mô tả:

  • Nó có thông tin người gửi
  • Nó có thông tin người nhận
  • Nó có một tiêu đề
  • Nó có một thân thông điệp

Tuy nhiên, XML ở trên không làm gì cả. XML chỉ là thông tin được bọc trong các thẻ.

Ai đó phải viết một phần mềm để gửi, nhận, lưu trữ hoặc hiển thị nó:

Ghi chú

Đến: tove

Từ: Jani

Lời nhắc nhở

Đừng quên tôi vào cuối tuần này!


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

XML và HTML được thiết kế với các mục tiêu khác nhau:

  • XML được thiết kế để mang dữ liệu - tập trung vào dữ liệu là gì
  • HTML được thiết kế để hiển thị dữ liệu - tập trung vào cách dữ liệu trông
  • Thẻ XML không được xác định trước như thẻ HTML là


XML không sử dụng thẻ được xác định trước

Ngôn ngữ XML không có thẻ được xác định trước.

Các thẻ trong ví dụ trên (như và) không được xác định trong bất kỳ tiêu chuẩn XML nào. Các thẻ này được "phát minh" bởi tác giả của tài liệu XML.

HTML hoạt động với các thẻ được xác định trước như ,, v.v.

Với XML, tác giả phải xác định cả thẻ và cấu trúc tài liệu.


XML có thể mở rộng

Hầu hết các ứng dụng XML sẽ hoạt động như mong đợi ngay cả khi dữ liệu mới được thêm (hoặc xóa).

Hãy tưởng tượng một ứng dụng được thiết kế để hiển thị phiên bản gốc của note.xml ().

Sau đó, hãy tưởng tượng một phiên bản mới hơn của Note.xml với các phần tử được thêm và được loại bỏ.

Cách XML được xây dựng, phiên bản cũ hơn của ứng dụng vẫn có thể hoạt động:

& nbsp; 2015-09-01 & NBSP; 08: 30 & nbsp; Tove & nbsp; Jani & NBSP; Đừng quên tôi vào cuối tuần này!
  2015-09-01
  08:30
  Tove
  Jani
  Don't forget me this weekend!

Phiên bản cũ

Ghi chú

Đến: tove

Từ: Jani

Lời nhắc nhở

Đừng quên tôi vào cuối tuần này!

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

Ghi chú

Đến: tove

Từ: Jani

Lời nhắc nhở

Đừng quên tôi vào cuối tuần này!


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

  • XML và HTML được thiết kế với các mục tiêu khác nhau:
  • XML được thiết kế để mang dữ liệu - tập trung vào dữ liệu là gì
  • HTML được thiết kế để hiển thị dữ liệu - tập trung vào cách dữ liệu trông
  • Thẻ XML không được xác định trước như thẻ HTML là

XML không sử dụng thẻ được xác định trước

Ngôn ngữ XML không có thẻ được xác định trước.

Các thẻ trong ví dụ trên (như và) không được xác định trong bất kỳ tiêu chuẩn XML nào. Các thẻ này được "phát minh" bởi tác giả của tài liệu XML.

HTML hoạt động với các thẻ được xác định trước như ,, v.v.


XML là một khuyến nghị của W3C

XML không làm gì cả



XML (Tiêu chuẩn)

Ngôn ngữ đánh dấu mở rộng
Hướng dẫn what is xml & html? - xml & html là gì?
Viết tắtXML
Trạng tháiXuất bản, Khuyến nghị W3C
Năm bắt đầu1996; 26 & nbsp; nhiều năm trước; 26 years ago
Xuất bản lần đầuTháng 2 & NBSP; 10, 1998; 24 năm trước; 24 years ago
Phiên bản mới nhất1.1 (tái bản lần 2) Tháng 9 & NBSP; 29, 2006; 16 năm trước
September 29, 2006; 16 years ago
Cơ quanWorld Wide Web Consortium (W3C)
Biên tập viênTim Bray, Jean Paoli, Michael Sperberg-McQueen, Eve Maler, François Yergeau, John W. Cowan
Tiêu chuẩn cơ sởSGML
Tiêu chuẩn liên quanLược đồ W3C XML
MiềnTuần tự hóa
Trang mạngwww.w3.org/xml
XML (Định dạng tệp)
Tiện ích mở rộng tên tệp

.xml

Internet Media & NBSP; Loạiapplication/xml, ________ 3 [1]
Định danh loại thống nhất & nbsp; (UTI)public.xml
UTI conformationpublic.text
con số kỳ diệu
Developed byTập đoàn web trên toàn thế giới
Loại định dạngNgôn ngữ đánh dấu
Extended fromSGML
Extended toTiêu chuẩn liên quan
Lược đồ W3C XML

  • Miền
  • Tuần tự hóa

Trang mạng XML (Định dạng tệp)
Tiện ích mở rộng tên tệp XML (Định dạng tệp)

Tiện ích mở rộng tên tệp (XML) is a markup language and file format for storing, transmitting, and reconstructing arbitrary data. It defines a set of rules for encoding documents in a format that is both human-readable and machine-readable. The World Wide Web Consortium's XML 1.0 Specification[2] of 1998[3] and several other related specifications[4]—all of them free open standards—define XML.[5]

.xml

Internet Media & NBSP; Loại

Overview[edit][edit]

application/xml, ________ 3 [1]: 1

Định danh loại thống nhất & nbsp; (UTI): 11 XML tags represent the data structure and contain metadata. What's within the tags is data, encoded in the way the XML standard specifies.[8]: 11 An additional XML schema (XSD) defines the necessary metadata for interpreting and validating XML. (This is also referred to as the canonical schema.)[8]: 135 An XML document that adheres to basic XML rules is "well-formed"; one that adheres to its schema is "valid."[8]: 135

public.xml

public.text

Applications[edit][edit]

con số kỳ diệu

Tập đoàn web trên toàn thế giới[edit]

Loại định dạng

Tài liệu xml ký tự là một chuỗi các ký tự. Hầu như mọi ký tự Unicode hợp pháp có thể xuất hiện trong tài liệu XML. Bộ xử lý và ứng dụng Bộ xử lý phân tích đánh dấu và chuyển thông tin có cấu trúc cho một ứng dụng. Các yêu cầu về vị trí đặc điểm kỹ thuật về những gì bộ xử lý XML phải làm và không làm, nhưng ứng dụng nằm ngoài phạm vi của nó. Bộ xử lý (như thông số kỹ thuật gọi nó) thường được gọi là thông thường là trình phân tích cú pháp XML. MARKUP và NỘI DUNG Các ký tự tạo ra một tài liệu XML được chia thành đánh dấu và nội dung, có thể được phân biệt bằng cách áp dụng các quy tắc cú pháp đơn giản. Nói chung, các chuỗi cấu thành đánh dấu hoặc bắt đầu với ký tự < và kết thúc bằng

 xmlns:xs="http://www.w3.org/2001/XMLSchema">
0 hoặc chúng bắt đầu với nhân vật

 xmlns:xs="http://www.w3.org/2001/XMLSchema">
1 và kết thúc bằng

 xmlns:xs="http://www.w3.org/2001/XMLSchema">
2. Chuỗi các ký tự không đánh dấu là nội dung. Tuy nhiên, trong một phần CDATA, các dấu phân cách

 xmlns:xs="http://www.w3.org/2001/XMLSchema">
3 và

 xmlns:xs="http://www.w3.org/2001/XMLSchema">
4 được phân loại là đánh dấu, trong khi văn bản giữa chúng được phân loại là nội dung. Ngoài ra, khoảng trắng trước và sau phần tử ngoài cùng được phân loại là thẻ markup.taga là một cấu trúc đánh dấu bắt đầu bằng < và kết thúc bằng

 xmlns:xs="http://www.w3.org/2001/XMLSchema">
0. Có ba loại thẻ:
An XML document is a string of characters. Almost every legal Unicode character may appear in an XML document.Processor and applicationThe processor analyzes the markup and passes structured information to an application. The specification places requirements on what an XML processor must do and not do, but the application is outside its scope. The processor (as the specification calls it) is often referred to colloquially as an XML parser.Markup and contentThe characters making up an XML document are divided into markup and content, which may be distinguished by the application of simple syntactic rules. Generally, strings that constitute markup either begin with the character < and end with a

 xmlns:xs="http://www.w3.org/2001/XMLSchema">
0, or they begin with the character

 xmlns:xs="http://www.w3.org/2001/XMLSchema">
1 and end with a

 xmlns:xs="http://www.w3.org/2001/XMLSchema">
2. Strings of characters that are not markup are content. However, in a CDATA section, the delimiters

 xmlns:xs="http://www.w3.org/2001/XMLSchema">
3 and

 xmlns:xs="http://www.w3.org/2001/XMLSchema">
4 are classified as markup, while the text between them is classified as content. In addition, whitespace before and after the outermost element is classified as markup.TagA tag is a markup construct that begins with < and ends with

 xmlns:xs="http://www.w3.org/2001/XMLSchema">
0. There are three types of tag:
  • Thẻ bắt đầu, chẳng hạn như
    
     xmlns:xs="http://www.w3.org/2001/XMLSchema">
    
    7;
  • Thẻ cuối, chẳng hạn như
    
     xmlns:xs="http://www.w3.org/2001/XMLSchema">
    
    8;
  • Thẻ phần tử trống, chẳng hạn như
    
     xmlns:xs="http://www.w3.org/2001/XMLSchema">
    
    9.
Elementan Element là một thành phần tài liệu logic bắt đầu bằng thẻ bắt đầu và kết thúc bằng thẻ kết thúc phù hợp hoặc chỉ bao gồm một thẻ phần tử trống. Các ký tự giữa thẻ bắt đầu và thẻ kết thúc, nếu có, là nội dung của yếu tố và có thể chứa đánh dấu, bao gồm các yếu tố khác, được gọi là các yếu tố con. Một ví dụ là application/xml0. Một thuộc tính khác là ____ 21.Attributean là một cấu trúc đánh dấu bao gồm một cặp giá trị tên tên tồn tại trong thẻ bắt đầu hoặc thẻ phần tử trống. Một ví dụ là application/xml2, trong đó tên của các thuộc tính là "SRC" và "Alt", và các giá trị của chúng lần lượt là "Madonna.jpg" và "Madonna". Một ví dụ khác là application/xml3, trong đó tên của thuộc tính là "số" và giá trị của nó là "3". Một thuộc tính XML chỉ có thể có một giá trị duy nhất và mỗi thuộc tính có thể xuất hiện nhiều nhất một lần trên mỗi phần tử. Trong tình huống phổ biến mà một danh sách các giá trị được mong muốn, điều này phải được thực hiện bằng cách mã hóa danh sách thành thuộc tính XML được hình thành tốt [i] với một số định dạng vượt ra ngoài những gì XML định nghĩa. Thông thường đây là danh sách dấu vết dấu phẩy hoặc bán đại hội hoặc, nếu các giá trị riêng lẻ được biết là không chứa khoảng trắng, [ii] một danh sách được phân phối không gian có thể được sử dụng. application/xml4, trong đó thuộc tính "lớp" có cả giá trị "Hộp thư bên trong" và cũng cho biết hai tên lớp CSS "bên trong" và "Hộp thư" chúng tôi. Một ví dụ là application/xml5.An element is a logical document component that either begins with a start-tag and ends with a matching end-tag or consists only of an empty-element tag. The characters between the start-tag and end-tag, if any, are the element's content, and may contain markup, including other elements, which are called child elements. An example is application/xml0. Another is application/xml1.AttributeAn attribute is a markup construct consisting of a name–value pair that exists within a start-tag or empty-element tag. An example is application/xml2, where the names of the attributes are "src" and "alt", and their values are "madonna.jpg" and "Madonna" respectively. Another example is application/xml3, where the name of the attribute is "number" and its value is "3". An XML attribute can only have a single value and each attribute can appear at most once on each element. In the common situation where a list of multiple values is desired, this must be done by encoding the list into a well-formed XML attribute[i] with some format beyond what XML defines itself. Usually this is either a comma or semi-colon delimited list or, if the individual values are known not to contain spaces,[ii] a space-delimited list can be used. application/xml4, where the attribute "class" has both the value "inner greeting-box" and also indicates the two CSS class names "inner" and "greeting-box".XML declarationXML documents may begin with an XML declaration that describes some information about themselves. An example is application/xml5.

Ký tự và trốn thoát [chỉnh sửa][edit]

Các tài liệu XML bao gồm hoàn toàn các ký tự từ tiết mục Unicode. Ngoại trừ một số lượng nhỏ các ký tự điều khiển bị loại trừ cụ thể, bất kỳ ký tự nào được xác định bởi Unicode đều có thể xuất hiện trong nội dung của tài liệu XML.

XML bao gồm các cơ sở để xác định mã hóa các ký tự Unicode tạo nên tài liệu và để thể hiện các ký tự, vì lý do này hay lý do khác, không thể được sử dụng trực tiếp.

Ký tự hợp lệ [Chỉnh sửa][edit]

Các điểm mã Unicode trong các phạm vi sau đây có giá trị trong các tài liệu XML 1.0: [10]

  • U+0009 (tab ngang), u+000a (nguồn cấp dữ liệu), u+000d (trả về vận chuyển): Đây là các điều khiển C0 duy nhất được chấp nhận trong XML 1.0;
  • U+0020, U+D7FF, U+E000, U+FFFD: Điều này không bao gồm một số nhân viên không đặc trưng trong BMP (tất cả các chất thay thế, U+FFFE và U+FFFF bị cấm);
  • U+10000, U+10ffff: Điều này bao gồm tất cả các điểm mã trong các mặt phẳng bổ sung, bao gồm cả những người không ký tự.

XML 1.1 mở rộng tập hợp các ký tự được phép bao gồm tất cả các ký tự trên, cộng với các ký tự còn lại trong phạm vi U+0001, U+001F. [11] Tuy nhiên, đồng thời, nó hạn chế việc sử dụng các ký tự điều khiển C0 và C1 khác ngoài U+0009 (tab ngang), U+000a (nguồn cấp dữ liệu), U+000D (trả về vận chuyển) và U+0085 (dòng tiếp theo ) bằng cách yêu cầu chúng được viết ở dạng thoát (ví dụ U+0001 phải được viết là application/xml6 hoặc tương đương của nó). Trong trường hợp của các ký tự C1, hạn chế này là một sự không tương thích ngược; Nó đã được giới thiệu để cho phép phát hiện lỗi mã hóa phổ biến.

Điểm mã U+0000 (NULL) là ký tự duy nhất không được phép trong bất kỳ tài liệu XML 1.0 hoặc 1.1 nào.

Phát hiện mã hóa [Chỉnh sửa][edit]

Bộ ký tự Unicode có thể được mã hóa thành byte để lưu trữ hoặc truyền theo nhiều cách khác nhau, được gọi là "mã hóa". Unicode tự xác định các mã hóa bao gồm toàn bộ tiết mục; Những người nổi tiếng bao gồm UTF-8 và UTF-16. [12] Có nhiều mã hóa văn bản khác có trước Unicode, chẳng hạn như ASCII và ISO/IEC 8859; Các tiết mục nhân vật của họ trong hầu hết mọi trường hợp là tập hợp con của bộ ký tự Unicode.

XML cho phép sử dụng bất kỳ mã hóa được xác định bởi Unicode và bất kỳ mã hóa nào khác có ký tự cũng xuất hiện trong Unicode. XML cũng cung cấp một cơ chế theo đó bộ xử lý XML có thể đáng tin cậy, mà không có bất kỳ kiến ​​thức nào trước đó, xác định mã hóa nào đang được sử dụng. [13] Mã hóa khác với UTF-8 và UTF-16 không nhất thiết phải được công nhận bởi mỗi trình phân tích cú pháp XML.

Escaping[edit][edit]

XML cung cấp các cơ sở thoát hiểm để bao gồm các ký tự có vấn đề để bao gồm trực tiếp. Ví dụ:

  • Các nhân vật "
  • Một số mã hóa ký tự chỉ hỗ trợ một tập hợp con của Unicode. Ví dụ, việc mã hóa một tài liệu XML trong ASCII là hợp pháp, nhưng ASCII thiếu các điểm mã cho các ký tự Unicode như "é".
  • Có thể không gõ ký tự trên máy của tác giả.
  • Một số nhân vật có glyphs không thể phân biệt trực quan với các ký tự khác, chẳng hạn như không gian không phá vỡ (application/xml7) "" và không gian (application/xml8) "" và chữ Cyrillic Capital A (application/xml9) "và Thủ đô Latin Latin Thư A (text/xml0) "A".

Có năm thực thể được xác định trước:

  • text/xml1 đại diện cho "
  • text/xml2 đại diện cho ">";
  • text/xml3 đại diện cho "&";
  • text/xml4 đại diện cho "'";'";
  • text/xml5 đại diện cho '"'."'.

Tất cả các ký tự Unicode được phép có thể được biểu diễn bằng tham chiếu ký tự số. Hãy xem xét ký tự Trung Quốc "", có mã số trong Unicode là Hexadecimal 4E2D, hoặc thập phân 20.013. Một người dùng có bàn phím không cung cấp phương pháp để nhập ký tự này vẫn có thể chèn nó vào tài liệu XML được mã hóa dưới dạng text/xml6 hoặc text/xml7. Tương tự, chuỗi "Tôi

text/xml9 không được phép vì ký tự null là một trong những ký tự điều khiển bị loại khỏi XML, ngay cả khi sử dụng tham chiếu ký tự số. [15] Một cơ chế mã hóa thay thế như Base64 là cần thiết để thể hiện các ký tự như vậy.

[edit]edit]

Nhận xét có thể xuất hiện ở bất cứ đâu trong một tài liệu bên ngoài đánh dấu khác. Nhận xét không thể xuất hiện trước khi khai báo XML. Nhận xét bắt đầu bằng 0 và kết thúc bằng 1. Để tương thích với SGML, chuỗi "-" (đôi hyphen) không được phép bên trong nhận xét; [16] Điều này có nghĩa là nhận xét không thể được lồng. Ampers và không có ý nghĩa đặc biệt trong các bình luận, vì vậy các tham chiếu thực thể và ký tự không được công nhận như vậy, và không có cách nào để đại diện cho các ký tự bên ngoài bộ ký tự của mã hóa tài liệu.

Một ví dụ về nhận xét hợp lệ: 2

Sử dụng quốc tế [Chỉnh sửa][edit]

XML 1.0 (Phiên bản thứ năm) và XML 1.1 Hỗ trợ việc sử dụng trực tiếp hầu hết mọi ký tự Unicode trong tên thành phần, thuộc tính, nhận xét, dữ liệu ký tự và hướng dẫn xử lý (trừ các ký tự có ý nghĩa biểu tượng đặc biệt trong chính XML, chẳng hạn như ít hơn -Than dấu hiệu, "


<俄语 լեզու="ռուսերեն">данные

Sự đúng đắn của cú pháp và xử lý lỗi [Chỉnh sửa][edit]

Thông số kỹ thuật XML định nghĩa một tài liệu XML là một văn bản được hình thành tốt, có nghĩa là nó đáp ứng một danh sách các quy tắc cú pháp được cung cấp trong đặc điểm kỹ thuật. Một số điểm chính trong danh sách khá dài bao gồm:

  • Tài liệu chỉ chứa các ký tự Unicode hợp pháp được mã hóa đúng.
  • Không có ký tự cú pháp đặc biệt nào như <
    
     xmlns:xs="http://www.w3.org/2001/XMLSchema">
    
    1 xuất hiện ngoại trừ khi thực hiện các vai trò phân tán đánh dấu của họ.
  • Thẻ khởi động, thẻ kết thúc và thẻ yếu tố trống mà các yếu tố phân định được lồng chính xác, không bị thiếu và không bị chồng chéo.
  • Tên thẻ nhạy cảm với trường hợp; Thẻ bắt đầu và thẻ cuối phải phù hợp chính xác.
  • Tên thẻ không thể chứa bất kỳ ký tự nào & nbsp;! "#$%& '()*+,/;? ", hoặc một chữ số số.
  • Một phần tử gốc duy nhất chứa tất cả các phần tử khác.

Định nghĩa của một tài liệu XML không bao gồm các văn bản có chứa vi phạm các quy tắc được hình thành tốt; Họ chỉ đơn giản là không phải XML. Bộ xử lý XML gặp phải vi phạm như vậy là cần thiết để báo cáo các lỗi đó và ngừng xử lý thông thường. Chính sách này, đôi khi được gọi là "xử lý lỗi Draconia", trái ngược hoàn toàn với hành vi của các chương trình xử lý HTML, được thiết kế để tạo ra kết quả hợp lý ngay cả khi có lỗi đánh dấu nghiêm trọng. [17] Chính sách của XML trong lĩnh vực này đã bị chỉ trích là vi phạm luật của Postel ("Hãy bảo thủ trong những gì bạn gửi; hãy tự do trong những gì bạn chấp nhận"). [18]

Thông số kỹ thuật XML định nghĩa một tài liệu XML hợp lệ là tài liệu XML được hình thành tốt, cũng phù hợp với các quy tắc của định nghĩa loại tài liệu (DTD). [19] [20]

Các lược đồ và xác thực [chỉnh sửa][edit]

Ngoài việc được hình thành tốt, một tài liệu XML có thể hợp lệ. Điều này có nghĩa là nó chứa một tham chiếu đến định nghĩa loại tài liệu (DTD) và các yếu tố và thuộc tính của nó được khai báo trong DTD đó và tuân theo các quy tắc ngữ pháp cho chúng mà DTD chỉ định.

Bộ xử lý XML được phân loại là xác thực hoặc không xác thực tùy thuộc vào việc họ có kiểm tra tài liệu XML hay không. Một bộ xử lý phát hiện ra lỗi hợp lệ phải có khả năng báo cáo nó, nhưng có thể tiếp tục xử lý bình thường.

DTD là một ví dụ về lược đồ hoặc ngữ pháp. Kể từ khi xuất bản ban đầu của XML 1.0, đã có một công việc đáng kể trong lĩnh vực ngôn ngữ lược đồ cho XML. Các ngôn ngữ lược đồ như vậy thường ràng buộc tập hợp các phần tử có thể được sử dụng trong một tài liệu, các thuộc tính có thể được áp dụng cho chúng, thứ tự chúng có thể xuất hiện và các mối quan hệ cha mẹ/con cho phép.

Định nghĩa loại tài liệu [Chỉnh sửa][edit]

Ngôn ngữ lược đồ lâu đời nhất cho XML là định nghĩa loại tài liệu (DTD), được kế thừa từ SGML.

DTD có những lợi ích sau:

  • Hỗ trợ DTD có mặt khắp nơi do sự bao gồm của nó trong tiêu chuẩn XML 1.0.
  • DTD là ngắn gọn so với các ngôn ngữ lược đồ dựa trên phần tử và do đó trình bày thêm thông tin trong một màn hình.
  • DTD cho phép khai báo các bộ thực thể công cộng tiêu chuẩn cho các ký tự xuất bản.
  • DTDS xác định loại tài liệu thay vì các loại được sử dụng bởi không gian tên, do đó nhóm tất cả các ràng buộc cho một tài liệu trong một bộ sưu tập.

DTD có những hạn chế sau:

  • Họ không có sự hỗ trợ rõ ràng cho các tính năng mới hơn của XML, quan trọng nhất là không gian tên.
  • Họ thiếu biểu cảm. DTD XML đơn giản hơn DTD SGML và có một số cấu trúc nhất định không thể được thể hiện bằng ngữ pháp thông thường. DTD chỉ hỗ trợ các kiểu dữ liệu thô sơ.
  • Họ thiếu khả năng đọc. Các nhà thiết kế DTD thường sử dụng nhiều thực thể tham số (hoạt động chủ yếu là macro văn bản), giúp xác định các ngữ pháp phức tạp dễ dàng hơn, nhưng với chi phí rõ ràng.
  • Họ sử dụng cú pháp dựa trên cú pháp biểu thức thông thường, được kế thừa từ SGML, để mô tả lược đồ. Các API XML điển hình như SAX không cố gắng cung cấp các ứng dụng một biểu diễn có cấu trúc của cú pháp, do đó, các lập trình viên có thể ít truy cập hơn so với cú pháp dựa trên phần tử.

Hai tính năng đặc biệt phân biệt DTD với các loại lược đồ khác là hỗ trợ cú pháp để nhúng DTD trong các tài liệu XML và để xác định các thực thể, là các đoạn văn bản tùy ý hoặc đánh dấu mà bộ xử lý XML chèn vào DTD và trong tài liệu XML ở đâu được tham chiếu, giống như trốn thoát nhân vật.

Công nghệ DTD vẫn được sử dụng trong nhiều ứng dụng vì tính phổ biến của nó.

Schema[edit][edit]

Một ngôn ngữ lược đồ mới hơn, được W3C mô tả là người kế thừa của DTDS, là lược đồ XML, thường được đề cập bởi chủ nghĩa đầu tiên cho các trường hợp lược đồ XML, XSD (định nghĩa lược đồ XML). XSD mạnh hơn nhiều so với DTD trong việc mô tả các ngôn ngữ XML. Họ sử dụng một hệ thống kiểu dữ liệu phong phú và cho phép các ràng buộc chi tiết hơn trên cấu trúc logic của tài liệu XML. XSDS cũng sử dụng định dạng dựa trên XML, cho phép sử dụng các công cụ XML thông thường để giúp xử lý chúng.

XS: Phần tử lược đồ xác định lược đồ:


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

Thư giãn NG [Chỉnh sửa][edit]

Thư giãn NG (Ngôn ngữ thông thường cho XML thế hệ tiếp theo) ban đầu được chỉ định bởi OASIS và hiện là tiêu chuẩn (Phần 2: Xác thực dựa trên âm thanh thông thường của ISO/IEC 19757-DSDL). Thư giãn các lược đồ có thể được viết bằng cú pháp dựa trên XML hoặc cú pháp không nhỏ gọn hơn của XML; Hai cú pháp là công cụ chuyển đổi đẳng cấu và của James Clark, trang phục có thể chuyển đổi giữa chúng mà không mất thông tin. Thư giãn NG có một định nghĩa đơn giản hơn và khung xác thực so với lược đồ XML, giúp việc sử dụng và thực hiện dễ dàng hơn. Nó cũng có khả năng sử dụng các plug-in Framework DataType; Ví dụ, một tác giả lược đồ thư giãn có thể yêu cầu các giá trị trong tài liệu XML để tuân thủ các định nghĩa trong các kiểu dữ liệu Lược đồ XML.

Schematron[edit][edit]

Schematron là ngôn ngữ để đưa ra các xác nhận về sự hiện diện hoặc vắng mặt của các mẫu trong tài liệu XML. Nó thường sử dụng các biểu thức XPath. Schematron hiện là một tiêu chuẩn (Phần 3: Xác thực dựa trên quy tắc của ISO/IEC 19757-DSDL).

DSDL và các ngôn ngữ lược đồ khác [Chỉnh sửa][edit]

DSDL (Ngôn ngữ định nghĩa lược đồ tài liệu) là tiêu chuẩn ISO/IEC đa phần (ISO/IEC 19757) tập hợp một tập hợp toàn diện các ngôn ngữ lược đồ nhỏ, mỗi ngôn ngữ được nhắm mục tiêu vào các vấn đề cụ thể. DSDL bao gồm cú pháp Full và Compact Full và Compact, ngôn ngữ khẳng định Schematron và ngôn ngữ để xác định các kiểu dữ liệu, các ràng buộc về tiết mục ký tự, đổi tên và mở rộng thực thể và định tuyến dựa trên không gian tên của các đoạn tài liệu cho các trình xác nhận khác nhau. Các ngôn ngữ lược đồ DSDL chưa có sự hỗ trợ của nhà cung cấp các lược đồ XML và ở một mức độ nào đó, một phản ứng cơ sở của các nhà xuất bản công nghiệp đối với việc thiếu tiện ích của các lược đồ XML để xuất bản.

Một số ngôn ngữ lược đồ không chỉ mô tả cấu trúc của một định dạng XML cụ thể mà còn cung cấp các cơ sở hạn chế để ảnh hưởng đến việc xử lý các tệp XML riêng lẻ phù hợp với định dạng này. DTDS và XSD đều có khả năng này; Ví dụ, họ có thể cung cấp cơ sở tăng cường thông tin và mặc định thuộc tính. Thư giãn NG và Schematron cố tình không cung cấp những thứ này.

[edit]edit]

Một cụm các thông số kỹ thuật liên quan chặt chẽ đến XML đã được phát triển, bắt đầu ngay sau khi xuất bản ban đầu của XML 1.0. Nó thường là trường hợp thuật ngữ "XML" được sử dụng để đề cập đến XML cùng với một hoặc nhiều công nghệ khác được coi là một phần của lõi XML.

  • Các không gian tên XML cho phép cùng một tài liệu chứa các phần tử và thuộc tính XML được lấy từ các từ vựng khác nhau, mà không có bất kỳ sự va chạm đặt tên nào xảy ra. Mặc dù các không gian tên XML không phải là một phần của chính đặc tả XML, nhưng hầu như tất cả phần mềm XML cũng hỗ trợ các không gian tên XML.
  • Cơ sở XML xác định thuộc tính 5, có thể được sử dụng để đặt cơ sở để giải quyết các tham chiếu URI tương đối trong phạm vi của một phần tử XML duy nhất.
  • Bộ thông tin XML hoặc XML Infoset là một mô hình dữ liệu trừu tượng cho các tài liệu XML về mặt các mục thông tin. Infoset thường được sử dụng trong các thông số kỹ thuật của các ngôn ngữ XML, để thuận tiện trong việc mô tả các ràng buộc trên các cấu trúc XML mà các ngôn ngữ đó cho phép.
  • XSL (Ngôn ngữ biểu định kiểu mở rộng) là một họ ngôn ngữ được sử dụng để chuyển đổi và hiển thị các tài liệu XML, chia thành ba phần:
  • XSLT (biến đổi XSL), ngôn ngữ XML để chuyển đổi các tài liệu XML thành các tài liệu XML khác hoặc các định dạng khác như HTML, văn bản thuần túy hoặc XSL-FO. XSLT được ghép rất chặt với XPath, nó sử dụng để giải quyết các thành phần của tài liệu XML đầu vào, chủ yếu là các phần tử và thuộc tính.
  • XSL-FO (các đối tượng định dạng XSL), ngôn ngữ XML để hiển thị các tài liệu XML, thường được sử dụng để tạo PDFS.
  • XPath (Ngôn ngữ đường dẫn XML), ngôn ngữ không phải XML để giải quyết các thành phần (phần tử, thuộc tính, v.v.) của tài liệu XML. XPath được sử dụng rộng rãi trong các thông số kỹ thuật Core-XML khác và trong các thư viện lập trình để truy cập dữ liệu được mã hóa XML.
  • XQuery (Truy vấn XML) là ngôn ngữ truy vấn XML bắt nguồn mạnh mẽ trong lược đồ XPath và XML. Nó cung cấp các phương pháp để truy cập, thao tác và trả lại XML và chủ yếu được hình thành như một ngôn ngữ truy vấn cho cơ sở dữ liệu XML.
  • Chữ ký XML xác định cú pháp và quy tắc xử lý để tạo chữ ký kỹ thuật số trên nội dung XML.
  • Mã hóa XML xác định cú pháp và quy tắc xử lý để mã hóa nội dung XML.
  • Mô hình XML (Phần 11: Hiệp hội lược đồ của ISO/IEC 19757 - DSDL) định nghĩa một phương tiện liên kết bất kỳ tài liệu XML nào với bất kỳ loại lược đồ nào được đề cập ở trên.

Một số thông số kỹ thuật khác được hình thành như là một phần của "lõi XML" đã không tìm thấy việc áp dụng rộng rãi, bao gồm Xinclude, Xlink và XPulum.

Giao diện lập trình [Chỉnh sửa][edit]

Các mục tiêu thiết kế của XML bao gồm, "Sẽ dễ dàng viết các chương trình xử lý tài liệu XML." [6] Mặc dù vậy, đặc điểm kỹ thuật XML gần như không có thông tin nào về cách các lập trình viên có thể thực hiện xử lý đó. Thông số kỹ thuật của XML cung cấp từ vựng để chỉ các cấu trúc trong tài liệu XML, nhưng không cung cấp bất kỳ hướng dẫn nào về cách truy cập thông tin này. Một loạt các API để truy cập XML đã được phát triển và sử dụng, và một số đã được tiêu chuẩn hóa.

API hiện tại cho xử lý XML có xu hướng rơi vào các loại này:

  • API định hướng trực tuyến có thể truy cập từ ngôn ngữ lập trình, ví dụ Sax và Stax.
  • API truy cập cây có thể truy cập từ ngôn ngữ lập trình, ví dụ DOM.
  • Liên kết dữ liệu XML, cung cấp bản dịch tự động giữa tài liệu XML và các đối tượng ngôn ngữ lập trình.
  • Các ngôn ngữ chuyển đổi khai báo như XSLT và XQuery.
  • Tiện ích mở rộng cú pháp cho các ngôn ngữ lập trình đa năng, ví dụ LINQ và Scala.

Các cơ sở hướng đến luồng yêu cầu ít bộ nhớ hơn và, đối với một số tác vụ nhất định dựa trên một bộ phận tuyến tính của tài liệu XML, nhanh hơn và đơn giản hơn so với các lựa chọn thay thế khác. Các API truy cập cây và gắn dữ liệu thường yêu cầu sử dụng nhiều bộ nhớ hơn, nhưng thường được tìm thấy thuận tiện hơn để sử dụng bởi các lập trình viên; Một số bao gồm truy xuất khai báo các thành phần tài liệu thông qua việc sử dụng các biểu thức XPath.

XSLT được thiết kế để mô tả khai báo về các phép biến đổi tài liệu XML và đã được triển khai rộng rãi cả trong các gói phía máy chủ và trình duyệt web. XQuery chồng chéo XSLT trong chức năng của nó, nhưng được thiết kế nhiều hơn để tìm kiếm cơ sở dữ liệu XML lớn.

API đơn giản cho XML [Chỉnh sửa][edit]

API đơn giản cho XML (SAX) là API từ vựng, dựa trên sự kiện trong đó một tài liệu được đọc theo đặc tính và nội dung của nó được báo cáo là cuộc gọi lại cho các phương thức khác nhau trên đối tượng xử lý thiết kế của người dùng. Sax nhanh và hiệu quả để thực hiện, nhưng khó sử dụng để trích xuất thông tin ngẫu nhiên từ XML, vì nó có xu hướng gây gánh nặng cho tác giả ứng dụng với việc theo dõi phần nào của tài liệu đang được xử lý. Nó phù hợp hơn với các tình huống trong đó một số loại thông tin luôn được xử lý theo cùng một cách, bất kể chúng xảy ra ở đâu trong tài liệu.

Kéo phân tích cú pháp [Chỉnh sửa][edit]

Kéo phân tích cú pháp xử lý tài liệu như một loạt các mục được đọc theo trình tự bằng cách sử dụng mẫu thiết kế Iterator. Điều này cho phép viết các trình phân tích cú pháp gốc đệ quy trong đó cấu trúc của mã thực hiện phản chiếu phân tích cấu trúc của XML được phân tích cú pháp và kết quả phân tích cú pháp trung gian có thể được sử dụng và truy cập làm các biến cục bộ trong các chức năng thực hiện phân tích cú pháp hoặc truyền xuống ( là tham số hàm) vào các hàm cấp thấp hơn hoặc được trả về (dưới dạng giá trị trả về hàm) cho các hàm cấp cao hơn. [21] Ví dụ về trình phân tích cú pháp bao gồm dữ liệu :: EDIT :: XML trong perl, stax trong ngôn ngữ lập trình Java, xmlpullparser trong smalltalk, xmlreader trong PHP, ElementTree.iterparse trong python, system.xml.xmlreader trong khung. API truyền tải (Nodeiterator và TreeWalker).

Trình phân tích cú pháp kéo tạo một trình lặp lại truy cập tuần tự các phần tử, thuộc tính và dữ liệu khác nhau trong tài liệu XML. Mã sử ​​dụng trình lặp này có thể kiểm tra mục hiện tại (ví dụ: cho dù đó là thẻ khởi động hay thẻ kết thúc hay văn bản) và kiểm tra các thuộc tính của nó (tên cục bộ, không gian tên, giá trị của các thuộc tính XML, giá trị của giá trị của văn bản, v.v.), và cũng có thể di chuyển trình lặp sang mục tiếp theo. Do đó, mã có thể trích xuất thông tin từ tài liệu khi nó đi qua nó. Phương pháp tiếp cận rệp lại có xu hướng cho vay để giữ dữ liệu khi các biến cục bộ được gõ trong mã thực hiện phân tích cú pháp, trong khi Sax, ví dụ, thường yêu cầu một trình phân tích cú pháp để duy trì thủ công dữ liệu trung gian trong một ngăn xếp các phần tử là phần tử của phần tử được phân tích cú pháp. Mã phân tích cú pháp có thể đơn giản hơn để hiểu và duy trì hơn mã phân tích cú pháp sax.

Mô hình đối tượng tài liệu [Chỉnh sửa][edit]

Mô hình đối tượng tài liệu (DOM) là API cho phép điều hướng toàn bộ tài liệu như thể đó là một cây đối tượng nút đại diện cho nội dung của tài liệu. Một tài liệu DOM có thể được tạo bởi trình phân tích cú pháp hoặc có thể được tạo bằng tay bởi người dùng (có giới hạn). Các loại dữ liệu trong các nút DOM là trừu tượng; Việc triển khai cung cấp các ràng buộc cụ thể về ngôn ngữ theo chương trình của họ. Việc triển khai DOM có xu hướng chuyên sâu về bộ nhớ, vì chúng thường yêu cầu toàn bộ tài liệu được tải vào bộ nhớ và được xây dựng như một cây đối tượng trước khi cho phép truy cập.

Liên kết dữ liệu [Chỉnh sửa][edit]

Liên kết dữ liệu XML là liên kết của các tài liệu XML với một hệ thống phân cấp các đối tượng được gõ tùy chỉnh và được gõ mạnh, trái ngược với các đối tượng chung được tạo bởi trình phân tích cú pháp DOM. Cách tiếp cận này đơn giản hóa sự phát triển mã và trong nhiều trường hợp cho phép các vấn đề được xác định tại thời điểm biên dịch thay vì thời gian chạy. Nó phù hợp cho các ứng dụng trong đó cấu trúc tài liệu được biết và cố định tại thời điểm ứng dụng được viết. Ví dụ, các hệ thống liên kết dữ liệu bao gồm kiến ​​trúc Java cho liên kết XML (JAXB), tuần tự hóa XML trong khung .NET. [22] và tuần tự hóa XML trong GSOAP.

XML là kiểu dữ liệu [Chỉnh sửa][edit]

XML đã xuất hiện dưới dạng loại dữ liệu hạng nhất trong các ngôn ngữ khác. ECMAScript cho phần mở rộng XML (E4X) cho ngôn ngữ ECMAScript/JavaScript xác định rõ ràng hai đối tượng cụ thể (XML và XMLLIST) cho JavaScript, hỗ trợ các nút tài liệu XML và Node XML là đối tượng riêng . [23] E4X được hỗ trợ bởi các trình duyệt Mozilla 2.5+ (mặc dù hiện không bị phản đối) và Adobe Actioncript, nhưng chưa được áp dụng phổ biến hơn. Các ký hiệu tương tự được sử dụng trong triển khai LINQ của Microsoft cho Microsoft .NET 3.5 trở lên và trong Scala (sử dụng Java VM). Ứng dụng XMLSH nguồn mở, cung cấp vỏ giống như Linux với các tính năng đặc biệt để thao tác XML, tương tự coi XML là loại dữ liệu, sử dụng ký hiệu. [24] Khung mô tả tài nguyên xác định kiểu dữ liệu 6 để giữ XML được gói, chính tắc. [25] Facebook đã tạo ra các phần mở rộng cho các ngôn ngữ PHP và JavaScript thêm XML vào cú pháp cốt lõi theo kiểu tương tự như E4X, cụ thể là XHP và JSX tương ứng.

History[edit][edit]

XML là một hồ sơ ứng dụng của SGML (ISO 8879). [26]

Tính linh hoạt của SGML đối với màn hình thông tin động được các nhà xuất bản truyền thông kỹ thuật số sớm hiểu vào cuối những năm 1980 trước khi internet tăng lên. [27] [28] Vào giữa những năm 1990, một số học viên của SGML đã có được kinh nghiệm với Web World Wide mới và tin rằng SGML đưa ra giải pháp cho một số vấn đề mà Web có thể phải đối mặt khi nó phát triển. Dan Connolly đã thêm SGML vào danh sách các hoạt động của W3C khi anh gia nhập đội ngũ nhân viên vào năm 1995; Công việc bắt đầu vào giữa năm 1996 khi kỹ sư Sun Microsystems Jon Bosak phát triển một điều lệ và tuyển dụng cộng tác viên. Bosak đã được kết nối tốt trong cộng đồng nhỏ của những người có kinh nghiệm cả trong SGML và Web. [29]

XML được biên soạn bởi một nhóm làm việc gồm mười một thành viên, [30] được hỗ trợ bởi một nhóm lợi ích 150 thành viên (khoảng). Cuộc tranh luận kỹ thuật đã diễn ra trong danh sách gửi thư của nhóm lợi ích và các vấn đề đã được giải quyết bằng sự đồng thuận hoặc, khi thất bại, đa số phiếu bầu của nhóm làm việc. Một hồ sơ về các quyết định thiết kế và các lý do của họ đã được Michael Sperberg-McQueen biên soạn vào ngày 4 tháng 12 năm 1997. [31] James Clark từng là người dẫn đầu kỹ thuật của nhóm làm việc, đáng chú ý là đóng góp cú pháp 7 yếu tố trống và tên "XML". Các tên khác đã được đưa ra để xem xét bao gồm "magma" (kiến trúc tối thiểu cho các ứng dụng đánh dấu tổng quát), "Slim" (ngôn ngữ có cấu trúc cho đánh dấu Internet) và "MGML" (ngôn ngữ đánh dấu tổng quát tối thiểu). Các đồng biên tập của đặc điểm kỹ thuật ban đầu là Tim Bray và Michael Sperberg-McQueen. Nửa chừng dự án Bray đã chấp nhận một sự tham gia tư vấn với Netscape, kích động các cuộc biểu tình mạnh mẽ từ Microsoft. Bray tạm thời được yêu cầu từ chức biên tập. Điều này dẫn đến tranh chấp dữ dội trong nhóm làm việc, cuối cùng được giải quyết bằng cách bổ nhiệm Jean Paoli của Microsoft làm đồng biên tập thứ ba.

Nhóm làm việc XML không bao giờ gặp mặt trực tiếp; Thiết kế đã được thực hiện bằng cách sử dụng kết hợp email và các chương trình truyền hình hàng tuần. Các quyết định thiết kế chính đã đạt được trong một loạt các công việc mạnh mẽ từ tháng 8 đến tháng 11 năm 1996, [32] khi bản thảo làm việc đầu tiên của một đặc điểm kỹ thuật XML được công bố. [33] Công việc thiết kế tiếp theo tiếp tục đến năm 1997 và XML 1.0 đã trở thành một khuyến nghị của W3C vào ngày 10 tháng 2 năm 1998.

Sources[edit][edit]

XML là một hồ sơ của SGML tiêu chuẩn ISO và hầu hết XML đến từ SGML không thay đổi. Từ SGML có sự phân tách các cấu trúc logic và vật lý (các yếu tố và thực thể), tính khả dụng của xác thực dựa trên ngữ pháp (DTDs), phân tách dữ liệu và siêu dữ liệu (các yếu tố và thuộc tính), nội dung hỗn hợp, tách xử lý khỏi biểu diễn (xử lý hướng dẫn) và cú pháp khung góc mặc định. Tuyên bố SGML đã được gỡ bỏ; Do đó, XML có một bộ phân cách cố định và áp dụng Unicode làm bộ ký tự tài liệu.

Các nguồn công nghệ khác cho XML là TEI (Sáng kiến ​​mã hóa văn bản), trong đó xác định một hồ sơ của SGML để sử dụng làm "Cú pháp chuyển nhượng"; Và HTML, trong đó các yếu tố đồng bộ với tài nguyên của chúng, các bộ ký tự tài liệu được tách biệt với mã hóa tài nguyên, thuộc tính 8 được phát minh và (như siêu dữ liệu HTTP) đi kèm với tài nguyên thay vì cần thiết trong khai báo một liên kết. Dự án ERCS (Cú pháp bê tông tham khảo mở rộng) của dự án SPORT (Dự án tiêu chuẩn hóa liên quan đến tài liệu Đông Á) của Nhóm Chuyên gia Xử lý Tài liệu Trung Quốc/Nhật Bản/Hàn Quốc là cơ sở của các quy tắc đặt tên của XML 1.0; Truyền bá cũng đã giới thiệu các tài liệu tham khảo ký tự số thập lục phân và khái niệm tài liệu tham khảo để cung cấp tất cả các ký tự Unicode. Để hỗ trợ ERCS, XML và HTML tốt hơn, tiêu chuẩn SGML là 8879 đã được sửa đổi vào năm 1996 và 1998 với các điều chỉnh của WebSGML. Tiêu đề XML theo sau của ISO HYTIME.

Các ý tưởng được phát triển trong quá trình thảo luận mới lạ trong XML bao gồm thuật toán phát hiện mã hóa và tiêu đề mã hóa, mục tiêu lệnh xử lý, thuộc tính XML: Space và dấu phân cách gần cho thẻ phần tử trống. Khái niệm về sự hình thành tốt trái ngược với tính hợp lệ (cho phép phân tích cú pháp mà không có lược đồ) lần đầu tiên được chính thức hóa trong XML, mặc dù nó đã được triển khai thành công trong phần mềm "Dynatext" công nghệ sách điện tử; [34] phần mềm từ Đại học Waterloo Dự án từ điển tiếng Anh Oxford mới; Bộ xử lý văn bản RISP LISP SGML tại Uniscope, Tokyo; Hệ thống siêu văn phòng tên lửa của Quân đội Hoa Kỳ; Bối cảnh đồ họa cố vấn; Hệ thống xuất bản Interleaf và Xerox.

Versions[edit][edit]

1.0 và 1.1 [Chỉnh sửa][edit]

Đầu tiên (XML 1.0) ban đầu được xác định vào năm 1998. Nó đã trải qua các sửa đổi nhỏ kể từ đó, mà không được đưa ra một số phiên bản mới và hiện đang ở phiên bản thứ năm, như được xuất bản vào ngày 26 tháng 11 năm 2008. Nó được triển khai rộng rãi và vẫn còn đề nghị sử dụng chung.

Thứ hai (XML 1.1) ban đầu được xuất bản vào ngày 4 tháng 2 năm 2004, cùng ngày với XML 1.0 phiên bản thứ ba, [35] và hiện đang ở phiên bản thứ hai, như được xuất bản vào ngày 16 tháng 8 năm 2006. Nó chứa các tính năng (một số gây tranh cãi) nhằm mục đích làm cho XML dễ sử dụng hơn trong một số trường hợp. [36] Các thay đổi chính là cho phép sử dụng các ký tự kết thúc dòng được sử dụng trên các nền tảng EBCDIC và việc sử dụng các tập lệnh và ký tự vắng mặt trong Unicode 3.2. XML 1.1 không được triển khai rộng rãi và được khuyến nghị chỉ sử dụng bởi những người cần các tính năng cụ thể của nó. [37]

Trước khi phát hành phiên bản thứ năm, XML 1.0 khác với XML 1.1 trong việc có các yêu cầu nghiêm ngặt hơn đối với các ký tự có sẵn để sử dụng trong tên phần tử và thuộc tính và định danh duy nhất: trong bốn phiên bản đầu tiên của XML 1.0, các ký tự được liệt kê độc quyền bằng cách sử dụng một phiên bản cụ thể của Tiêu chuẩn Unicode (Unicode 2.0 đến Unicode 3.2.) Phiên bản thứ năm thay thế cơ chế của XML 1.1, có khả năng chống lại tương lai hơn nhưng giảm dự phòng. Cách tiếp cận được thực hiện trong phiên bản thứ năm của XML 1.0 và trong tất cả các phiên bản của XML 1.1 là chỉ có một số ký tự nhất định bị cấm trong tên và mọi thứ khác được phép chứa các ký tự tên phù hợp trong các phiên bản Unicode trong tương lai. Trong phiên bản thứ năm, tên XML có thể chứa các ký tự trong các tập lệnh của Bali, Cham hoặc Phoenician trong số nhiều người khác được thêm vào Unicode kể từ Unicode 3.2. [36]

Hầu như bất kỳ điểm mã Unicode nào cũng có thể được sử dụng trong dữ liệu ký tự và giá trị thuộc tính của tài liệu XML 1.0 hoặc 1.1, ngay cả khi ký tự tương ứng với điểm mã không được xác định trong phiên bản hiện tại của Unicode. Trong các giá trị dữ liệu ký tự và thuộc tính, XML 1.1 cho phép sử dụng nhiều ký tự điều khiển hơn XML 1.0, nhưng, đối với "độ mạnh", hầu hết các ký tự điều khiển được giới thiệu trong XML 1.1 phải được biểu thị dưới dạng tham chiếu ký tự số (và #x7F đến #x9F , đã được cho phép trong XML 1.0, trong XML 1.1 thậm chí được yêu cầu được biểu thị dưới dạng tham chiếu ký tự số [38]). Trong số các ký tự điều khiển được hỗ trợ trong XML 1.1 có hai mã ngắt dòng phải được coi là ký tự khoảng trắng, đây là mã điều khiển duy nhất có thể được viết trực tiếp.

2.0[edit][edit]

Đã có cuộc thảo luận về XML 2.0, mặc dù không có tổ chức nào công bố kế hoạch làm việc cho một dự án như vậy. XML-SW (SW cho Skunkworks), mà một trong những nhà phát triển ban đầu của XML đã viết, [39] chứa một số đề xuất cho XML 2.0 có thể trông như thế nào, bao gồm loại bỏ DTD khỏi cú pháp, cũng như tích hợp các không gian tên XML, Thông tin cơ sở XML và XML được đặt vào tiêu chuẩn cơ sở.

Nhị phân XML [Chỉnh sửa][edit]

World Wide Web Consortium cũng có nhóm làm việc đặc tính nhị phân XML thực hiện nghiên cứu sơ bộ về các trường hợp sử dụng và tính chất để mã hóa nhị phân của bộ thông tin XML. Nhóm làm việc không được thuê để sản xuất bất kỳ tiêu chuẩn chính thức nào. Vì XML theo định nghĩa dựa trên văn bản, ITU-T và ISO đang sử dụng tên Fast Infoset cho định dạng nhị phân của riêng họ (ITU-T rec. X.891 và ISO/IEC 24824-1) để tránh nhầm lẫn.

Criticism[edit][edit]

XML và các phần mở rộng của nó thường xuyên bị chỉ trích vì tính dài, độ phức tạp và dự phòng. [40]

Ánh xạ mô hình cây cơ bản của XML thành các hệ thống ngôn ngữ lập trình hoặc cơ sở dữ liệu có thể khó khăn, đặc biệt là khi XML được sử dụng để trao đổi dữ liệu có cấu trúc cao giữa các ứng dụng, không phải là mục tiêu thiết kế chính của nó. Tuy nhiên, các hệ thống liên kết dữ liệu XML cho phép các ứng dụng truy cập dữ liệu XML trực tiếp từ các đối tượng biểu thị cấu trúc dữ liệu của dữ liệu trong ngôn ngữ lập trình được sử dụng, đảm bảo loại an toàn, thay vì sử dụng DOM hoặc Sax để truy xuất dữ liệu từ biểu diễn trực tiếp của XML chính nó. Điều này được thực hiện bằng cách tự động tạo một ánh xạ giữa các phần tử của Lược đồ XML XSD của tài liệu và các thành viên của một lớp được thể hiện trong bộ nhớ.

Những lời chỉ trích khác cố gắng bác bỏ tuyên bố rằng XML là ngôn ngữ tự mô tả [41] (mặc dù chính đặc điểm kỹ thuật XML không đưa ra tuyên bố như vậy).

Các biểu hiện của JSON, YAML và S thường được đề xuất như là lựa chọn thay thế đơn giản hơn (xem so sánh các định dạng tuần tự hóa dữ liệu) [42] tập trung vào việc thể hiện dữ liệu có cấu trúc cao thay vì các tài liệu, có thể chứa cả nội dung có cấu trúc cao và không có cấu trúc. Tuy nhiên, các thông số kỹ thuật lược đồ XML được tiêu chuẩn hóa W3C cung cấp một phạm vi rộng hơn các loại dữ liệu XSD có cấu trúc so với các định dạng tuần tự hóa đơn giản hơn và cung cấp tính mô -đun và tái sử dụng thông qua các không gian tên XML.

Xem thêm [sửa][edit]

  • Danh sách các ngôn ngữ đánh dấu XML
  • Danh sách các lược đồ XML
  • Lập trình mở rộng
  • So sánh các định dạng tuần tự hóa dữ liệu
  • Nhị phân XML
  • Ebml
  • WBXML
  • Giao thức XML

Notes[edit][edit]

  1. ^tức là, các ký tự trích dẫn được nhúng sẽ là một vấn đề i.e., embedded quote characters would be a problem
  2. ^Một ví dụ phổ biến về điều này là tên lớp CSS hoặc tên nhận dạng. A common example of this is CSS class or identifier names.

References[edit][edit]

  1. ^"Các loại phương tiện truyền thông XML, RFC 7303". Lực lượng đặc nhiệm kỹ thuật Internet. Tháng 7 năm 2014. "XML Media Types, RFC 7303". Internet Engineering Task Force. July 2014.
  2. ^"Đặc điểm kỹ thuật XML 1.0". Tập đoàn web trên toàn thế giới. Truy cập ngày 22 tháng 8 năm 2010. "XML 1.0 Specification". World Wide Web Consortium. Retrieved 22 August 2010.
  3. ^"Ngôn ngữ đánh dấu mở rộng (XML) 1.0". www.w3.org. "Extensible Markup Language (XML) 1.0". www.w3.org.
  4. ^"Dòng thời gian tiêu chuẩn W3C XML và Semantic W3C" (PDF). Dblab.ntua.gr. Được lưu trữ từ bản gốc (PDF) vào ngày 24 tháng 4 năm 2013. Truy cập ngày 14 tháng 8 năm 2016. "XML and Semantic Web W3C Standards Timeline" (PDF). Dblab.ntua.gr. Archived from the original (PDF) on 24 April 2013. Retrieved 14 August 2016.
  5. ^"Giấy phép tài liệu W3C". W3.org. Truy cập ngày 24 tháng 7 năm 2020. "W3C DOCUMENT LICENSE". W3.org. Retrieved 24 July 2020.
  6. ^ AB "XML 1.0 Nguồn gốc và mục tiêu". W3.org. Truy cập ngày 14 tháng 8 năm 2016.a b "XML 1.0 Origin and Goals". W3.org. Retrieved 14 August 2016.
  7. ^Fennell, Philip (tháng 6 năm 2013). "Thái cực của XML". XML London 2013: 80 bóng86. doi: 10.14337/xmllondon13.fennell01. ISBN & NBSP; 978-0-9926471-0-0. Fennell, Philip (June 2013). "Extremes of XML". XML London 2013: 80–86. doi:10.14337/XMLLondon13.Fennell01. ISBN 978-0-9926471-0-0.
  8. ^ Abcdedykes, Lucinda (2005). XML cho người giả (thứ 4 & nbsp; ed.). Hoboken, N.J .: Wiley. ISBN & NBSP; 978-0-7645-8845-7.a b c d e Dykes, Lucinda (2005). XML for Dummies (4th ed.). Hoboken, N.J.: Wiley. ISBN 978-0-7645-8845-7.
  9. ^"Ứng dụng và Sáng kiến ​​XML". XML.Coverages.org. Truy cập ngày 16 tháng 11 năm 2017. "XML Applications and Initiatives". Xml.coverages.org. Retrieved 16 November 2017.
  10. ^"Ngôn ngữ đánh dấu mở rộng (XML) 1.0 (Phiên bản thứ năm)". Tập đoàn web trên toàn thế giới. 2008-11-26. Truy cập ngày 23 tháng 11 năm 2012. "Extensible Markup Language (XML) 1.0 (Fifth Edition)". World Wide Web Consortium. 2008-11-26. Retrieved 23 November 2012.
  11. ^"Ngôn ngữ đánh dấu mở rộng (XML) 1.1 (phiên bản thứ hai)". Tập đoàn web trên toàn thế giới. Truy cập ngày 22 tháng 8 năm 2010. "Extensible Markup Language (XML) 1.1 (Second Edition)". World Wide Web Consortium. Retrieved 22 August 2010.
  12. ^"Ký tự so với byte". Tbray.org. Truy cập ngày 16 tháng 11 năm 2017. "Characters vs. Bytes". Tbray.org. Retrieved 16 November 2017.
  13. ^"Tự động hóa mã hóa ký tự". W3.org. Truy cập ngày 16 tháng 11 năm 2017. "Autodetection of Character Encodings". W3.org. Retrieved 16 November 2017.
  14. ^"Ngôn ngữ đánh dấu mở rộng (XML) 1.0 (Phiên bản thứ năm)". W3.org. Truy cập ngày 16 tháng 11 năm 2017. "Extensible Markup Language (XML) 1.0 (Fifth Edition)". W3.org. Retrieved 16 November 2017.
  15. ^"W3C I18N Câu hỏi thường gặp: HTML, XHTML, XML và mã điều khiển". W3.org. Truy cập ngày 16 tháng 11 năm 2017. "W3C I18N FAQ: HTML, XHTML, XML and Control Codes". W3.org. Retrieved 16 November 2017.
  16. ^"Ngôn ngữ đánh dấu mở rộng (XML)". W3.org. Truy cập ngày 16 tháng 11 năm 2017. Phần "Nhận xét" "Extensible Markup Language (XML)". W3.org. Retrieved 16 November 2017. Section "Comments"
  17. ^Pilgrim, Mark (2004). "Lịch sử xử lý lỗi Draconia trong XML". Được lưu trữ từ bản gốc vào năm 2011-07-26. Truy cập ngày 18 tháng 7 năm 2013. Pilgrim, Mark (2004). "The history of draconian error handling in XML". Archived from the original on 2011-07-26. Retrieved 18 July 2013.
  18. ^"Không có trường hợp ngoại lệ nào đối với luật của Postel [đi sâu vào Mark]". DiveIntomark.org. Được lưu trữ từ bản gốc vào năm 2011-05-14. Truy cập ngày 22 tháng 4 năm 2013. "There are No Exceptions to Postel's Law [dive into mark]". DiveIntoMark.org. Archived from the original on 2011-05-14. Retrieved 22 April 2013.
  19. ^"XML Notepad". Xmlnotepad/codeplex.com. Được lưu trữ từ bản gốc vào ngày 15 tháng 11 năm 2017. Truy cập ngày 16 tháng 11 năm 2017. "XML Notepad". Xmlnotepad/codeplex.com. Archived from the original on 15 November 2017. Retrieved 16 November 2017.
  20. ^"XML Notepad 2007". Microsoft.com. Truy cập ngày 16 tháng 11 năm 2017. "XML Notepad 2007". Microsoft.com. Retrieved 16 November 2017.
  21. ^Ducharme, Bob. "Đẩy, kéo, tiếp theo!". Xml.com. Truy cập ngày 16 tháng 11 năm 2017. DuCharme, Bob. "Push, Pull, Next!". Xml.com. Retrieved 16 November 2017.
  22. ^"XML tuần tự hóa trong khung .NET". Msdn.microsoft.com. Truy cập ngày 31 tháng 7 năm 2009. "XML Serialization in the .NET Framework". Msdn.microsoft.com. Retrieved 31 July 2009.
  23. ^"Xử lý XML với E4X". Trung tâm phát triển Mozilla. Quỹ Mozilla. Được lưu trữ từ bản gốc vào năm 2011-05-01. Truy cập 2010-07-27. "Processing XML with E4X". Mozilla Developer Center. Mozilla Foundation. Archived from the original on 2011-05-01. Retrieved 2010-07-27.
  24. ^"XML Shell: Cú pháp lõi". Xmlsh.org. 2010-05-13. Truy cập ngày 22 tháng 8 năm 2010. "XML Shell: Core Syntax". Xmlsh.org. 2010-05-13. Retrieved 22 August 2010.
  25. ^"Khung mô tả tài nguyên (RDF): Các khái niệm và cú pháp trừu tượng". W3.org. Truy cập ngày 22 tháng 8 năm 2010. "Resource Description Framework (RDF): Concepts and Abstract Syntax". W3.org. Retrieved 22 August 2010.
  26. ^"ISO/IEC 19757-3". ISO/IEC. Ngày 1 tháng 6 năm 2006: vi. "ISO/IEC 19757-3". ISO/IEC. 1 June 2006: vi.
  27. ^Bray, Tim (tháng 2 năm 2005). "Cuộc trò chuyện với Tim Bray: Tìm cách để chế ngự các cửa hàng thông tin rộng lớn của thế giới". Hiệp hội cho "Trang web hàng đợi" của máy tính. Truy cập ngày 16 tháng 4 năm 2006. Bray, Tim (February 2005). "A conversation with Tim Bray: Searching for ways to tame the world's vast stores of information". Association for Computing Machinery's "Queue site". Retrieved 16 April 2006.
  28. ^Ambron, Sueann & Hooper, Kristina, eds. (1988). "Các nhà xuất bản, đa phương tiện và tính tương tác". Đa phương tiện tương tác. Nhóm Cobb. ISBN & NBSP; 1-55615-124-1. Ambron, Sueann & Hooper, Kristina, eds. (1988). "Publishers, multimedia, and interactivity". Interactive multimedia. Cobb Group. ISBN 1-55615-124-1.
  29. ^Eliot Kimber (2006). "XML là 10". DRMACROS-XML-RANTS.BLOGSPOT.com. Truy cập ngày 16 tháng 11 năm 2017. Eliot Kimber (2006). "XML is 10". Drmacros-xml-rants.blogspot.com. Retrieved 16 November 2017.
  30. ^Nhóm làm việc ban đầu được gọi là "Ban đánh giá biên tập." Các thành viên ban đầu và bảy người đã được thêm vào trước khi phiên bản đầu tiên hoàn tất, được liệt kê vào cuối phiên bản đầu tiên của khuyến nghị XML, tại http://www.w3.org/tr/1998/rec-xml-19980210. The working group was originally called the "Editorial Review Board." The original members and seven who were added before the first edition was complete, are listed at the end of the first edition of the XML Recommendation, at http://www.w3.org/TR/1998/REC-xml-19980210.
  31. ^"Các báo cáo từ W3C SGML ERB đến SGML WG và từ W3C XML ERB đến XML SIG". W3.org. Truy cập ngày 31 tháng 7 năm 2009. "Reports From the W3C SGML ERB to the SGML WG And from the W3C XML ERB to the XML SIG". W3.org. Retrieved 31 July 2009.
  32. ^"Mạng công nghệ Oracle cho các nhà phát triển Java - Mạng công nghệ Oracle - Oracle". Java.sun.com. Truy cập ngày 16 tháng 11 năm 2017. "Oracle Technology Network for Java Developers - Oracle Technology Network - Oracle". Java.sun.com. Retrieved 16 November 2017.
  33. ^"Ngôn ngữ đánh dấu mở rộng (XML)". W3.org. 1996-11-14. Truy cập ngày 31 tháng 7 năm 2009. "Extensible Markup Language (XML)". W3.org. 1996-11-14. Retrieved 31 July 2009.
  34. ^Jon Bosak; Sun microsystems (2006-12-07). "Đóng khóa, XML 2006". 2006.xmlconference.org. Được lưu trữ từ bản gốc vào năm 2007-07-11. Truy cập ngày 31 tháng 7 năm 2009. Jon Bosak; Sun Microsystems (2006-12-07). "Closing Keynote, XML 2006". 2006.xmlconference.org. Archived from the original on 2007-07-11. Retrieved 31 July 2009.
  35. ^"Ngôn ngữ đánh dấu mở rộng (XML) 1.0 (Phiên bản thứ ba)". W3.org. Truy cập ngày 22 tháng 8 năm 2010. "Extensible Markup Language (XML) 1.0 (Third Edition)". W3.org. Retrieved 22 August 2010.
  36. ^ AB "Ngôn ngữ đánh dấu mở rộng (XML) 1.1 (Phiên bản thứ hai) & nbsp ;, Đặt vấn đề và danh sách các thay đổi cho XML 1.1". W3.org. Truy cập ngày 20 tháng 1 năm 2012.a b "Extensible Markup Language (XML) 1.1 (Second Edition) , Rationale and list of changes for XML 1.1". W3.org. Retrieved 20 January 2012.
  37. ^Harold, Elliotte Rusty (2004). XML hiệu quả. Addison-Wesley. Trang & nbsp; 10 trận19. ISBN & NBSP; 0-321-15040-6. Harold, Elliotte Rusty (2004). Effective XML. Addison-Wesley. pp. 10–19. ISBN 0-321-15040-6.
  38. ^"Ngôn ngữ đánh dấu mở rộng (XML) 1.1 (phiên bản thứ hai)". W3.org. Truy cập ngày 22 tháng 8 năm 2010. "Extensible Markup Language (XML) 1.1 (Second Edition)". W3.org. Retrieved 22 August 2010.
  39. ^Bray, Tim (10 tháng 2 năm 2002). "Ngôn ngữ đánh dấu mở rộng, SW (XML-SW)". Bray, Tim (10 February 2002). "Extensible Markup Language, SW (XML-SW)".
  40. ^"XML: Thuế khung góc". CodingHorror.com. 11 tháng 5 năm 2008 Truy cập ngày 16 tháng 11 năm 2017. "XML: The Angle Bracket Tax". Codinghorror.com. 11 May 2008. Retrieved 16 November 2017.
  41. ^"Huyền thoại về tự mô tả XML" (PDF). Quy trình làm việc.healthbase.info. Tháng 9 năm 2003. Truy cập ngày 16 tháng 11 năm 2017. "The Myth of Self-Describing XML" (PDF). Workflow.HealthBase.info. September 2003. Retrieved 16 November 2017.
  42. ^"Những lựa chọn thay thế có thể sử dụng cho cú pháp XML mà bạn có biết không?". Stackoverflow.com. Truy cập ngày 16 tháng 11 năm 2017. "What usable alternatives to XML syntax do you know?". StackOverflow.com. Retrieved 16 November 2017.

Đọc thêm [Chỉnh sửa][edit]

  • Phụ lục A của ISO 8879: 1986 (SGML)
  • Lawrence A. Cickyham (2005). "Ngôn ngữ, giao dịch và tiêu chuẩn: Tương lai của các hợp đồng XML". Đánh giá luật của Đại học Washington. SSRN & NBSP; 900616.
  • Bosak, Jon; Bray, Tim (tháng 5 năm 1999). "XML và web thế hệ thứ hai". Khoa học người Mỹ. 280 (5): 89. Bibcode: 1999Sciam.280e..89b. doi: 10.1038/Khoa họcAmerican0599-89. Được lưu trữ từ bản gốc vào ngày 1 tháng 10 năm 2009.280 (5): 89. Bibcode:1999SciAm.280e..89B. doi:10.1038/scientificamerican0599-89. Archived from the original on 1 October 2009.
  • Kelly, Sean (ngày 6 tháng 2 năm 2006). "Mắc lỗi với XML". Nhà phát triển.com. Truy cập ngày 26 tháng 10 năm 2010.. Retrieved 26 October 2010.
  • Thánh Laurent, Simon (ngày 12 tháng 2 năm 2003). "Năm năm sau, XML." Blog O'Reilly XML. Phương tiện truyền thông O'Reilly. Truy cập ngày 26 tháng 10 năm 2010.. Retrieved 26 October 2010.
  • "W3C XML là mười!". Tập đoàn web trên toàn thế giới. 12 tháng 2 năm 2008 Truy cập ngày 26 tháng 10 năm 2010.. Retrieved 26 October 2010.
  • "Giới thiệu về XML" (PDF). Slide khóa học. Gene Pierre. Tháng 10 năm 2012. Được lưu trữ từ bản gốc vào ngày 2015-10-16 .__ 49: CS1 Duy trì: BOT: trạng thái URL gốc không xác định (Liên kết)(PDF). Course Slides. Pierre Geneves. October 2012. Archived from the original on 2015-10-16.9: CS1 maint: bot: original URL status unknown (link)

Liên kết bên ngoài [Chỉnh sửa][edit]

Hướng dẫn what is xml & html? - xml & html là gì?

Wikimedia Commons có phương tiện truyền thông liên quan đến XML.XML.

  • Trang chủ W3C XML
  • Đặc điểm kỹ thuật XML 1.0
  • Hồi tưởng về cú pháp bê tông tham khảo mở rộng được lưu trữ 2019-11-18 tại Wayback Machine của Rick Jelliffe
  • XML, Java và Tương lai của Web (1997) của Jon Bosak
  • http://validator.w3.org/ Dịch vụ xác thực đánh dấu chính thức [W3C]
  • Câu hỏi thường gặp XML ban đầu cho XML SIG của W3C bởi Peter Flynn

XML được sử dụng để làm gì?

XML được sử dụng để làm gì? XML là một trong những định dạng được sử dụng rộng rãi nhất để chia sẻ thông tin có cấu trúc ngày nay: giữa các chương trình, giữa con người, giữa máy tính và con người, cả địa phương và trên các mạng. Nếu bạn đã quen thuộc với HTML, bạn có thể thấy rằng XML rất giống nhau.sharing structured information today: between programs, between people, between computers and people, both locally and across networks. If you are already familiar with HTML, you can see that XML is very similar.

XML vs HTML là gì?

XML là viết tắt của ngôn ngữ đánh dấu mở rộng và được sử dụng để vận chuyển và lưu dữ liệu.Trọng tâm ở đây không phải là hiển thị hoặc sự xuất hiện của dữ liệu.Mặt khác, HTML là viết tắt của Ngôn ngữ đánh dấu siêu văn bản.Ngôn ngữ máy tính này giúp làm cho dữ liệu tương tác nhiều hơn với nhiều tính năng định dạng.

XML Easy Định nghĩa là gì?

XML (Ngôn ngữ đánh dấu có thể mở rộng) là ngôn ngữ đánh dấu tương tự như HTML, nhưng không có thẻ được xác định trước để sử dụng.Thay vào đó, bạn xác định các thẻ của riêng bạn được thiết kế dành riêng cho nhu cầu của bạn.Đây là một cách mạnh mẽ để lưu trữ dữ liệu theo định dạng có thể được lưu trữ, tìm kiếm và chia sẻ.a markup language similar to HTML, but without predefined tags to use. Instead, you define your own tags designed specifically for your needs. This is a powerful way to store data in a format that can be stored, searched, and shared.

XML đưa ra một ví dụ là gì?

XML là viết tắt của ngôn ngữ đánh dấu mở rộng.Nó là một ngôn ngữ đánh dấu dựa trên văn bản có nguồn gốc từ ngôn ngữ đánh dấu tổng quát tiêu chuẩn (SGML).Thẻ XML xác định dữ liệu và được sử dụng để lưu trữ và sắp xếp dữ liệu, thay vì chỉ định cách hiển thị nó giống như các thẻ HTML, được sử dụng để hiển thị dữ liệu.a text-based markup language derived from Standard Generalized Markup Language (SGML). XML tags identify the data and are used to store and organize the data, rather than specifying how to display it like HTML tags, which are used to display the data.