Ngôn ngữ lập trình Xml. Kiến thức cơ bản về XML dành cho người mới bắt đầu Tài liệu XML hợp lệ và đúng định dạng

(Tiếng Anh) Ngôn ngữ đánh dấu tổng quát tiêu chuẩn - ngôn ngữ đánh dấu tổng quát tiêu chuẩn) đã tự tuyên bố là một siêu ngôn ngữ linh hoạt, toàn diện và toàn diện để tạo ngôn ngữ đánh dấu. Mặc dù khái niệm siêu văn bản có từ năm 1965 nhưng SGML không có mô hình siêu văn bản. Việc tạo ra SGML có thể được gọi một cách tự tin là một nỗ lực nhằm nắm bắt tính bao la, vì nó kết hợp tất cả các khả năng cực kỳ hiếm khi được sử dụng lại với nhau. Đây là nhược điểm chính của nó - sự phức tạp và do đó, giá thành cao của ngôn ngữ này chỉ hạn chế việc sử dụng nó các công ty lớn ai có đủ khả năng để mua cái thích hợp phần mềm và thuê các chuyên gia được trả lương cao. Ngoài ra, các công ty nhỏ hiếm khi có được điều đó. nhiệm vụ phức tạpđể lôi kéo SGML vào giải pháp của họ.

SGML được sử dụng rộng rãi nhất để tạo ra các ngôn ngữ đánh dấu khác; nhờ sự trợ giúp của nó mà ngôn ngữ đánh dấu tài liệu siêu văn bản đã được tạo ra - HTML, đặc tả của ngôn ngữ này đã được phê duyệt vào năm 1992. Sự xuất hiện của nó gắn liền với nhu cầu sắp xếp lượng tài liệu ngày càng tăng nhanh trên Internet. Sự tăng trưởng nhanh chóng về số lượng kết nối Internet và theo đó là các máy chủ web đã dẫn đến nhu cầu về mã hóa như vậy tài liệu điện tử, điều mà SGML không thể giải quyết được do đường cong học tập cao. Sự ra đời của HTML rất ngôn ngữ đơn giảnđánh dấu - nhanh chóng giải quyết vấn đề này: tính dễ học và sự phong phú của các công cụ thiết kế tài liệu khiến nó trở thành ngôn ngữ phổ biến nhất đối với người dùng Internet. Nhưng khi số lượng và chất lượng của tài liệu trên Web tăng lên thì các yêu cầu đặt ra cho chúng cũng tăng lên và tính đơn giản của HTML trở thành nhược điểm chính của nó. Số lượng thẻ hạn chế và sự thờ ơ hoàn toàn đối với cấu trúc của tài liệu đã thúc đẩy các nhà phát triển do hiệp hội W3C đại diện tạo ra một ngôn ngữ đánh dấu không phức tạp như SGML và không thô sơ như HTML. Kết quả là XML, một ngôn ngữ kết hợp tính đơn giản của HTML với logic đánh dấu của SGML và đáp ứng nhu cầu của Internet.

Tài liệu XML hợp lệ và đúng định dạng

Tiêu chuẩn xác định hai mức độ chính xác cho một tài liệu XML:

  • Được xây dựng đúng cách(Tiếng Anh) đúng ngữ pháp). Một tài liệu có định dạng đúng tuân theo tất cả các quy tắc chung về cú pháp XML áp dụng cho bất kỳ tài liệu XML nào. Và ví dụ: nếu thẻ bắt đầu không có thẻ kết thúc tương ứng, thì điều này xây dựng sai Tài liệu XML. Một tài liệu không được xây dựng đúng cách không thể được coi là tài liệu XML; Bộ xử lý XML (trình phân tích cú pháp) sẽ không xử lý nó một cách bình thường và sẽ phân loại tình huống này là lỗi nghiêm trọng.
  • Có hiệu lực(Tiếng Anh) có hiệu lực). Một tài liệu hợp lệ còn tuân thủ các quy tắc ngữ nghĩa nhất định. Cái này nghiêm ngặt hơn xác minh bổ sung tính chính xác của tài liệu để tuân thủ những quy định đã được xác định trước, nhưng đã quy tắc bên ngoài, để giảm thiểu số lượng lỗi, ví dụ, cấu trúc và thành phần của một tài liệu hoặc họ tài liệu cụ thể, nhất định. Những quy tắc này có thể được phát triển bởi chính người dùng và nhà phát triển bên thứ ba, ví dụ: nhà phát triển từ điển hoặc tiêu chuẩn trao đổi dữ liệu. Thông thường các quy tắc như vậy được lưu trữ trong tập tin đặc biệt- sơ đồ, trong đó cấu trúc của tài liệu, tất cả tên hợp lệ của các phần tử, thuộc tính, v.v. đều được mô tả chi tiết. Và ví dụ: nếu một tài liệu chứa tên phần tử chưa được xác định trước đó trong các lược đồ thì tài liệu XML sẽ được xem xét trống rỗng; Khi kiểm tra sự tuân thủ các quy tắc và lược đồ, bộ xử lý XML (trình xác thực) kiểm tra có nghĩa vụ (theo lựa chọn của người dùng) phải báo cáo lỗi.

Hai khái niệm này chưa có bản dịch chuẩn hóa sang tiếng Nga, đặc biệt là khái niệm có hiệu lực, cũng có thể được dịch là có hiệu lực, hợp pháp, đáng tin cậy, phù hợp, hoặc thậm chí được kiểm tra sự tuân thủ các quy tắc, tiêu chuẩn, luật pháp. Một số lập trình viên sử dụng giấy truy tìm đã được thiết lập trong cuộc sống hàng ngày " Có hiệu lực».

Cú pháp XML

Phần này chỉ thảo luận xây dựng đúng Các tài liệu XML, tức là cú pháp của chúng.

Hãy xem ví dụ về một công thức đơn giản được đánh dấu bằng XML:

> bánh mì đơn giản > > Bột mì > Men > Nước ấm > Muối > > > > Trộn tất cả các thành phần và nhào thật kỹ. > > Che lại bằng một miếng vải và để trong một giờ trong phòng ấm áp. > > Nhào lại lần nữa, đặt lên khay nướng và cho vào lò nướng. > > >

Khai báo XML

Dòng đầu tiên của tài liệu XML được gọi là Khai báo XML(Tiếng Anh) Khai báo XML) là một chuỗi biểu thị phiên bản XML. Trong phiên bản 1.0 Khai báo XML có thể bỏ qua, ở phiên bản 1.1 thì bắt buộc phải có. Mã hóa ký tự và sự hiện diện của các phụ thuộc bên ngoài cũng có thể được chỉ ra ở đây.

Thông số kỹ thuật yêu cầu bộ xử lý XML hỗ trợ mã hóa Unicode UTF-8 và UTF-16 (UTF-32 là tùy chọn). Các mã hóa khác dựa trên tiêu chuẩn ISO/IEC 8859 được công nhận là có thể chấp nhận, được hỗ trợ và sử dụng rộng rãi (nhưng không bắt buộc); các mã hóa khác cũng được chấp nhận, ví dụ: Windows-1251, KOI-8 của Nga. Thông thường, các chữ cái không phải tiếng Latinh không được sử dụng trong thẻ; trong trường hợp này, UTF-8 là cách mã hóa rất thuận tiện - âm lượng thường nhỏ hơn so với UTF-16; việc giải mã có thể được thực hiện cho cả toàn bộ tài liệu cũng như các thuộc tính và văn bản cụ thể; toàn bộ tài liệu không chứa các ký tự bị cấm khi thử phân tích cú pháp với mã hóa không chính xác.

Phần tử gốc

Yêu cầu cú pháp bắt buộc quan trọng nhất là tài liệu chỉ có một phần tử gốc(Tiếng Anh) phần tử gốc) (đôi khi còn được gọi là yếu tố tài liệu(Tiếng Anh) yếu tố tài liệu)). Điều này có nghĩa là văn bản hoặc dữ liệu khác của toàn bộ tài liệu phải được đặt giữa một thẻ gốc bắt đầu và thẻ kết thúc tương ứng của nó.

Kế tiếp ví dụ đơn giản nhất- một tài liệu XML đúng định dạng:

Ví dụ sau đây không phải là một tài liệu XML hợp lệ vì nó có hai phần tử gốc:

> Thực thể số 1 > > Thực thể số 2 >

Một lời bình luận

Một phần tử có thể được đặt ở bất cứ đâu trong cây - một lời bình luận. Nhận xét XML được đặt bên trong một thẻ đặc biệt bắt đầu bằng các ký tự. Hai dấu gạch ngang (--) không thể xuất hiện trong một bình luận.

Các thẻ bên trong một bình luận sẽ không được xử lý.

Thẻ

Phần còn lại của tài liệu XML này bao gồm các phần lồng nhau yếu tố, một số trong đó có thuộc tínhnội dung. Yếu tố thường bao gồm các thẻ mở và đóng kèm theo văn bản và các phần tử khác. Thẻ mở bao gồm tên phần tử trong dấu ngoặc nhọn chẳng hạn , MỘT thẻ đóng bao gồm cùng tên trong dấu ngoặc nhọn, nhưng dấu gạch chéo lên được thêm vào trước tên, ví dụ:. Tên phần tử, như tên thuộc tính, không thể chứa khoảng trắng, nhưng có thể bằng bất kỳ ngôn ngữ nào được mã hóa tài liệu XML hỗ trợ. Tên có thể bắt đầu bằng một chữ cái, dấu gạch dưới hoặc dấu hai chấm. Các ký tự còn lại của tên có thể là các ký tự giống nhau, cũng như số, dấu gạch nối và dấu chấm.

Có một số thực thể được xác định trước trong XML, chẳng hạn như lt (bạn có thể tham khảo nó bằng cách viết<) для левой угловой скобки и amp (ссылка - &) для амперсанда. Возможно также определять собственные сущности. Помимо записи с помощью сущностей отдельных символов, их можно использовать для записи часто встречающихся текстовых блоков.

Dưới đây là ví dụ về cách sử dụng một thực thể được xác định trước để tránh sử dụng ký hiệu trong tên:

> AT&T >

Danh sách đầy đủ các thực thể được xác định trước bao gồm &(&),< (<), >(>), " (") và " (") - hai cái cuối cùng hữu ích để viết dấu phân cách trong các giá trị thuộc tính. Bạn có thể xác định các thực thể của mình trong tài liệu DTD.

Đôi khi cần phải xác định không gian không phá vỡ, thường được sử dụng trong HTML và được ký hiệu là . Không có thực thể được xác định trước như vậy trong XML, nó được viết và việc sử dụng nó sẽ gây ra lỗi. Sự vắng mặt của thực thể rất phổ biến này thường gây ngạc nhiên cho nhiều lập trình viên và điều này tạo ra một số khó khăn khi di chuyển các phát triển HTML của họ sang XML.

Liên kết bằng số ký hiệu(Tiếng Anh) tham chiếu ký tự số) trông giống như một tham chiếu đến một thực thể, nhưng thay vì tên thực thể, ký tự # và một số (theo ký hiệu thập phân hoặc thập lục phân) được chỉ định, là số của ký tự trong bảng ký tự Unicode. Đây thường là các ký tự không thể được mã hóa trực tiếp, chẳng hạn như chữ cái Ả Rập trong tài liệu được mã hóa ASCII. Dấu và có thể được biểu diễn như sau:

> AT&T >

Có các quy tắc khác liên quan đến việc tạo tài liệu XML hợp lệ.

Ưu điểm và nhược điểm

Thuận lợi

sai sót

  • Mô hình hóa sự mơ hồ.
  • XML không có hỗ trợ kiểu dữ liệu được tích hợp trong ngôn ngữ. Nó không có kiểu gõ mạnh, tức là các khái niệm về “số nguyên”, “chuỗi”, “ngày tháng”, “booleans”, v.v.
  • Mô hình dữ liệu phân cấp do XML cung cấp bị hạn chế so với mô hình quan hệ và đồ thị hướng đối tượng và mô hình mạng dữ liệu.

Hiển thị XML trên World Wide Web

Ba cách phổ biến nhất để chuyển đổi tài liệu XML thành dạng mà người dùng có thể hiển thị là:

  1. Áp dụng các kiểu CSS;
  2. Ứng dụng XSL;
  3. Viết trình xử lý tài liệu XML bằng bất kỳ ngôn ngữ lập trình nào.

Để chỉ định một phép chuyển đổi XSL (XSLT) ở phía máy khách, phải có các hướng dẫn XML sau:

Từ điển XML

Vì XML là một ngôn ngữ khá trừu tượng nên các từ vựng XML đã được phát triển.

Từ điển cho phép các nhà phát triển đồng ý về một tập hợp hữu hạn các tên thẻ và thuộc tính của các thẻ đó. Một trong những từ vựng đầu tiên là XHTML, được hầu hết các trình duyệt hiểu được. XHTML thường được sử dụng để lưu trữ và chỉnh sửa nội dung trong CMS.

Nhiều từ vựng chuyên biệt hơn đã được tạo ra, chẳng hạn như giao thức truyền dữ liệu SOAP, giao thức này không thân thiện với con người và khá khó đọc. Có các từ vựng thương mại như CommerceML, xCBL và cXML được sử dụng để truyền dữ liệu định hướng thương mại, những từ điển này bao gồm các mô tả về hệ thống đặt hàng, nhà cung cấp, sản phẩm, v.v.

Thông thường, khi mô tả một tài liệu, một người sẽ nghĩ ra một số từ vựng cho mình, sau đó mô tả bằng DTD, XSD hoặc đơn giản là giải thích “nhanh chóng” cho những người quan tâm.

Một trong những từ điển được sử dụng rộng rãi đó là FB2 - từ điển mô tả định dạng của một cuốn sách, với đủ loại chú thích cuối trang, trích dẫn, thậm chí cả hình ảnh.

Phiên bản XML

  • XML 1.0
  • XML 1.1

Xem thêm

Ghi chú

Văn học

  • David Hunter, Jeff Rafter, Joe Faucett, Eric van der Vlist, v.v. XML. Làm việc với XML, Phiên bản thứ 4 = Bắt đầu XML, Phiên bản thứ 4. - M.: “Biện chứng”, 2009. - 1344 tr. - ISBN 978-5-8459-1533-7
  • David Hunter, Jeff Rafter và những người khác. XML. Khóa học cơ bản= XML bắt đầu. - M.: Williams, 2009. - 1344 tr. - ISBN 978-5-8459-1533-7
  • Robert Tabor. Triển khai XML Dịch vụ web trên Nền tảng Microsoft.NET = Microsoft .NET XML Dịch vụ web. - M.: Williams, 2002. - 464 tr. - ISBN 0-672-32088-6

Liên kết

  • XML trên trang web của Consortium Mạng toàn cầu(W3C)
  • Đặc tả tiêu chuẩn XML 1.0 chính thức
  • Đặc tả tiêu chuẩn XML 1.1 chính thức
  • Tài liệu XML trên các bài viết, diễn đàn trên trang web của IBM

Bạn có biết không, Đâu là sự sai lầm của khái niệm “chân không vật lý”?

Chân không vật lý - khái niệm vật lý lượng tử tương đối tính, theo đó chúng có nghĩa là trạng thái năng lượng (mặt đất) thấp nhất của trường lượng tử hóa, có động lượng bằng 0, động lượng góc và các số lượng tử khác. Các nhà lý thuyết tương đối tính gọi chân không vật lý là một không gian hoàn toàn không có vật chất, chứa đầy một trường không thể đo lường được và do đó chỉ là trường tưởng tượng. Trạng thái như vậy, theo những người theo thuyết tương đối, không phải là một khoảng trống tuyệt đối, mà là một không gian chứa đầy một số hạt ảo (ảo). Lý thuyết trường lượng tử tương đối tính phát biểu rằng, theo nguyên lý bất định Heisenberg, ảo, nghĩa là biểu kiến ​​(rõ ràng với ai?), các hạt liên tục sinh ra và biến mất trong chân không vật lý: cái gọi là dao động trường điểm 0 xảy ra. Các hạt ảo của chân không vật lý, và do đó, theo định nghĩa, bản thân nó không có hệ quy chiếu, vì nếu không thì nguyên lý tương đối của Einstein, cơ sở của thuyết tương đối, sẽ bị vi phạm (nghĩa là một hệ thống đo lường tuyệt đối có tham chiếu). các hạt của chân không vật lý sẽ trở nên khả thi, do đó sẽ bác bỏ rõ ràng nguyên lý tương đối mà SRT dựa vào). Do đó, chân không vật lý và các hạt của nó không phải là những yếu tố của thế giới vật chất mà chỉ là những yếu tố của thuyết tương đối không tồn tại trong thế giới vật chất. thế giới thực, nhưng chỉ trong các công thức tương đối, do đó vi phạm nguyên lý nhân quả (chúng phát sinh và biến mất không có nguyên nhân), nguyên lý khách quan (các hạt ảo có thể được xem xét, tùy theo mong muốn của nhà lý thuyết, tồn tại hoặc không tồn tại), nguyên tắc đo lường thực tế (không quan sát được, không có ISO riêng).

Khi một nhà vật lý này hay một nhà vật lý khác sử dụng khái niệm “chân không vật lý”, thì anh ta hoặc là không hiểu sự vô lý của thuật ngữ này, hoặc là không thành thật, là một người công khai hoặc giấu kín tuân theo hệ tư tưởng tương đối.

Cách dễ nhất để hiểu sự vô lý của khái niệm này là quay lại nguồn gốc xuất hiện của nó. Nó được Paul Dirac khai sinh vào những năm 1930, khi người ta thấy rõ rằng việc phủ nhận ether trong thể tinh khiết, như một nhà toán học vĩ đại nhưng một nhà vật lý tầm thường đã làm, không còn có thể nữa. Có quá nhiều sự thật mâu thuẫn với điều này.

Để bảo vệ thuyết tương đối, Paul Dirac đã đưa ra khái niệm phi vật lý và phi logic về năng lượng âm, sau đó là sự tồn tại của một “biển” gồm hai năng lượng bù trừ cho nhau trong chân không - dương và âm, cũng như một “biển” các hạt bù trừ cho nhau. khác - các electron và positron ảo (nghĩa là rõ ràng) trong chân không.

Giới thiệu về đánh dấu thích hợp

XML có nghĩa Ngôn ngữ đánh dấu mở rộng với sự nhấn mạnh vào đánh dấu(đánh dấu). Bạn có thể tạo văn bản và đánh dấu nó bằng các thẻ đóng khung, biến mọi từ, câu hoặc đoạn thành thông tin có thể nhận dạng và sắp xếp được. Các tệp bạn tạo hoặc bản sao của tài liệu, bao gồm các phần tử (thẻ) và văn bản, đồng thời các phần tử giúp hiểu chính xác tài liệu khi đọc trên giấy hoặc thậm chí xử lý tài liệu bằng điện tử. Càng có nhiều yếu tố mô tả thì càng có nhiều phần của tài liệu có thể được xác định. Kể từ những ngày đầu của việc đánh dấu, một trong những ưu điểm của nó là nếu hệ thống máy tính bị mất, bản in sẽ dữ liệu vẫn có thể đọc được nhờ thẻ.

Ngôn ngữ đánh dấu đã phát triển từ các hình thức đầu tiên được tạo bởi các công ty và cơ quan chính phủ sang Ngôn ngữ đánh dấu tổng quát tiêu chuẩn (SGML), Ngôn ngữ siêu văn bảnđánh dấu (Ngôn ngữ đánh dấu siêu văn bản - HTML) và cuối cùng là XML. SGML có vẻ phức tạp và HTML (về cơ bản ban đầu chỉ là một tập hợp các phần tử) đã được chứng minh là không đủ mạnh để xác định thông tin. XML được thiết kế để trở thành một ngôn ngữ đánh dấu dễ sử dụng và dễ mở rộng.

Trong XML bạn có thể tạo của riêng mình yếu tố riêng, cho phép bạn thể hiện chính xác các phần dữ liệu. Tài liệu không chỉ có thể được chia thành các đoạn văn và tiêu đề mà còn có thể đánh dấu bất kỳ đoạn nào trong tài liệu. Để việc này có hiệu quả, bạn cần xác định danh sách cuối cùng các thành phần của mình và tuân theo nó. Các phần tử có thể được xác định trong Định nghĩa loại tài liệu (DTD) hoặc trong lược đồ, như được thảo luận ngắn gọn bên dưới. Khi bạn đã thành thạo và bắt đầu sử dụng XML, đừng ngại thử nghiệm các tên thành phần khi bạn tạo các tệp thực tế.

Xây dựng một tài liệu XML

Như đã đề cập, tệp XML bao gồm văn bản và đánh dấu. Hầu hết văn bản được đặt trong các phần tử trong đó văn bản được bao quanh bởi các thẻ. Ví dụ: giả sử bạn muốn tạo một cuốn sách nấu ăn bằng định dạng XML. Chúng tôi có một công thức gọi là Kem Sundae, cần được chuyển đổi sang XML. Để đánh dấu tên của công thức, chúng tôi đặt văn bản của nó trong một phần tử bắt đầu và kết thúc bằng thẻ. Phần tử này có thể được gọi là tên công thức. Để đánh dấu thẻ bắt đầu của một phần tử, hãy đặt tên của nó trong dấu ngoặc nhọn<>), như thế này: . Sau đó nhập dòng chữ Ice Cream Sundae. Sau văn bản, chúng ta đặt thẻ kết thúc, là tên phần tử trong dấu ngoặc nhọn, cộng với dấu gạch chéo phần tử (/) trước tên phần tử, như sau:. Các thẻ này hình thành yếu tố, vào đó bạn có thể nhập văn bản và thậm chí các phần tử khác.

Tên phần tử có thể được tạo cho tài liệu cá nhân và cho các nhóm tài liệu. Theo yêu cầu của bạn, bạn có thể chỉ định các quy tắc phải tuân theo cho các thành phần. Các yếu tố có thể rất cụ thể hoặc khá chung chung. Các quy tắc cũng phải xác định những gì được chấp nhận để đưa vào mỗi thành phần. Chúng có thể nghiêm ngặt, lỏng lẻo hoặc ở giữa. Chỉ cần tạo các phần tử xác định các phần trong tài liệu mà bạn cho là quan trọng.

Bắt đầu tạo tệp XML

Dòng đầu tiên của tài liệu XML có thể là một khai báo XML. Phần tùy chọn này của tệp định nghĩa nó là tập tin XMLđiều gì có thể giúp được công cụ tự động và yêu cầu mọi người nhận ra tệp là XML chứ không phải SGML hoặc đánh dấu khác.

Tuyên bố có thể trông giống như hoặc bao gồm phiên bản XML ( ) và thậm chí cả mã hóa ký tự, ví dụ:cho Unicode. Vì phần khai báo này phải nằm ở phần đầu của tệp nên nếu bạn dự định kết hợp các tệp XML nhỏ thành một tệp lớn hơn thì tốt nhất nên bỏ qua phần tử tùy chọn này.

Tạo phần tử gốc

Thẻ bắt đầu và kết thúc của phần tử gốc bao quanh toàn bộ văn bản của tài liệu XML. Chỉ nên có một phần tử gốc trong tệp và đây là "phần bìa" bắt buộc cho phần tử đó. hiển thị một đoạn ví dụ tôi đang sử dụng ở đây, với phần tử gốc (công thức). (Tệp XML hoàn chỉnh được cung cấp ở định dạng .)

Liệt kê 1. Phần tử gốc

Khi bạn tạo tài liệu, bạn sẽ đặt văn bản và các thẻ bổ sung giữa .

Tên các phần tử

Phân biệt chữ hoa chữ thường trong thẻ

Tại tạo XML Các thanh ghi của thẻ bắt đầu và kết thúc phải khớp nhau. Nếu không, bạn có thể nhận được thông báo lỗi khi sử dụng hoặc xem XML. Ví dụ, trình duyệt web IE không hiển thị văn bản trong trường hợp trường hợp không khớp. Thay vào đó, nó hiển thị thông báo về sự không khớp của thẻ bắt đầu và thẻ kết thúc.

Vậy là chúng ta có phần tử gốc . Trong XML, tên phần tử được chọn trước tiên, sau đó mô tả hoặc lược đồ DTD tương ứng được xác định dựa trên các tên đó. Tên có thể chứa chữ cái, số và dấu hiệu đặc biệt, chẳng hạn như dấu gạch dưới (_). Dưới đây là một số quy tắc về tên cần nhớ:

  • Không được phép có dấu cách trong tên thành phần.
  • Tên phải bắt đầu bằng một chữ cái, không phải số hoặc ký hiệu. (Sau chữ cái đầu tiên này, bạn có thể sử dụng bất kỳ tổ hợp chữ cái, số và ký hiệu hợp lệ nào.)
  • Trường hợp không quan trọng, nhưng hãy chắc chắn làm theo nó để tránh nhầm lẫn.
Liệt kê 2. Các phần tử khác
Kem Sundae 5 phút

Một tài liệu XML có thể chứa các thẻ trống, không có gì bên trong và có thể được biểu thị dưới dạng một thẻ thay vì một cặp thẻ bắt đầu và kết thúc. Ví dụ: đây có thể là một thẻ độc lập trong kiểu HTML . Nó không chứa bất kỳ phần tử con hoặc văn bản nào, vì vậy nó là phần tử trống và có thể được viết là (có dấu cách và dấu gạch chéo quen thuộc ở cuối).

Các phần tử lồng nhau

Tệp đính kèm là vị trí của các phần tử bên trong các phần tử khác. Những phần tử mới này được gọi là công ty con các phần tử và các phần tử bao quanh chúng là cha mẹ các phần tử. Trong phần tử gốc một số phần tử được lồng nhau. Đây là những đứa trẻ lồng nhau , Bên trong một phần tử có một số phần tử con giống hệt nhau . Việc lồng nhau có thể tạo ra một tài liệu XML có nhiều cấp độ.

Một lỗi cú pháp phổ biến liên quan đến việc lồng các phần tử cha và con. Mỗi phần tử con phải được đặt hoàn toàn giữa thẻ mở và thẻ đóng của nó. phần tử cha. Các phần tử con phải kết thúc trước khi phần tử con tiếp theo bắt đầu.

Một ví dụ về phần đính kèm chính xác được đưa ra trong. Thẻ bắt đầu và kết thúc mà không có dệt với các thẻ khác.

Liệt kê 3. Việc lồng các phần tử XML đúng cách.
Kem Sundae 3 xi-rô sô-cô-la hoặc sô-cô-la kẹo mềm 1 quả hạch 1 quả anh đào 5 phút

Thêm thuộc tính

Các phần tử đôi khi được thêm vào Thuộc tính. Các thuộc tính bao gồm một cặp tên-giá trị, trong đó giá trị được lấy từ dấu ngoặc kép("), như thế này: type="dessert" . Thuộc tính cho phép bạn lưu cùng với phần tử Tùy chọn bổ sung, thay đổi giá trị của các tham số này từ phần tử này sang phần tử khác trong cùng một tài liệu.

Một thuộc tính—hoặc thậm chí nhiều thuộc tính—được chỉ định trong thẻ bắt đầu của phần tử: . Khi thêm nhiều thuộc tính, chúng được phân tách bằng dấu cách: . hiển thị tệp XML như hiện tại.

Liệt kê 4. Tệp XML của chúng tôi với các phần tử và thuộc tính
Kem Sundae 5 phút

Có thể sử dụng bất kỳ số lượng thuộc tính nào. Xem xét những chi tiết bạn có thể thêm vào tài liệu của mình. Các thuộc tính đặc biệt hữu ích nếu tài liệu được lưu trữ - ví dụ: theo loại công thức nấu ăn. Tên thuộc tính có thể chứa các ký tự giống như tên thành phần, với cùng quy tắc loại trừ khoảng trắng và bắt đầu tên bằng một chữ cái.

XML được xây dựng đúng và sai

Nếu bạn tuân theo các quy tắc được xác định trong khung của mình, bạn có thể dễ dàng tạo mã XML đúng định dạng. XML đúng là một mã XML được biên dịch tuân thủ tất cả các quy tắc XML: đặt tên chính xác cho các phần tử, phần đính kèm, đặt tên thuộc tính, v.v.

Tùy thuộc vào chính xác những gì bạn làm với XML, bạn có thể cần phải làm việc với XML có định dạng phù hợp. Hãy xem xét ví dụ trên về việc sắp xếp theo loại công thức. Điều cần thiết là các yếu tố chứa thuộc tính loại. Điều rất quan trọng là có thể kiểm tra thành công mã và đảm bảo rằng giá trị của thuộc tính này luôn tồn tại.

Đang được xác minh (xác nhận)đề cập đến việc kiểm tra cấu trúc tài liệu xem có tuân thủ các quy tắc được thiết lập cho nó và định nghĩa các phần tử con cho từng phần tử cha hay không. Các quy tắc này được xác định trong Mô tả loại tài liệu(DTD) hoặc trong sơ đồ. Kiểu xác thực này yêu cầu bạn tạo một DTD hoặc lược đồ, sau đó tham chiếu tệp DTD hoặc lược đồ trong các tệp XML của bạn.

Để kích hoạt tính năng xác thực, bạn cần đặt phần khai báo loại tài liệu (DOCTYPE) ở gần đầu tài liệu XML của mình. Dòng này chứa liên kết đến DTD hoặc lược đồ (danh sách các thành phần và quy tắc) sẽ được sử dụng để xác minh của tài liệu này. Chuỗi DOCTYPE có thể giống như chuỗi trong .

Liệt kê 5. DOCTYPE

Ví dụ này có nghĩa là tệp danh sách mặt hàng của bạn có tên tên tệp.dtd nằm trên máy tính của bạn (nghĩa là trong thư mục HỆ THỐNG, không phải trong thư mục CÔNG KHAI).

Sử dụng thực thể

Thực thể có thể là đoạn văn bản hoặc ký tự đặc biệt. Chúng có thể được chỉ định bên trong tài liệu hoặc bên ngoài nó. Để tránh lỗi và hiển thị chính xác, các thực thể phải được khai báo và thể hiện đúng.

Bạn không thể nhập trực tiếp các ký tự đặc biệt vào văn bản. Dùng trong văn bản ký tự đặc biệt chúng cần được tạo thành các thực thể và phải sử dụng mã của các ký tự này. Bạn có thể xác định các cụm từ, chẳng hạn như tên công ty, dưới dạng thực thể, sau đó sử dụng chúng trong toàn bộ văn bản của mình. Để tạo một thực thể, hãy đặt tên cho nó rồi chèn tên đó rồi chèn tên đó vào văn bản sau ký hiệu (&) và kết thúc bằng dấu chấm phẩy—ví dụ: (hoặc tên khác). Sau đó đặt mã này vào dòng DOCTYPE của bạn trong dấu ngoặc vuông(), như trong . Mã này chỉ định văn bản được thay thế cho thực thể.

Liệt kê 6. Thực thể

Việc sử dụng các thực thể giúp tránh lặp đi lặp lại cùng một cụm từ hoặc thông tin. Nó cũng có thể giúp việc chỉnh sửa văn bản dễ dàng hơn (ví dụ: nếu một công ty thay đổi tên) ở nhiều nơi cùng một lúc bằng cách thiết lập chuỗi định nghĩa thực thể.

Làm thế nào để tránh những sai lầm

Khi bạn tìm hiểu cách tạo các tệp XML, hãy mở chúng trong trình soạn thảo XML để đảm bảo chúng chính xác về mặt hình thức và đảm bảo rằng các quy tắc XML được tuân thủ. Ví dụ: nếu bạn có Windows® Internet Explorer®, bạn chỉ cần mở tệp XML của mình trong trình duyệt. Nếu các thành phần, thuộc tính và văn bản của bạn được hiển thị thì tệp XML được soạn thảo chính xác. Nếu có lỗi, có thể bạn đã nhầm lẫn điều gì đó trong cú pháp và bạn cần kiểm tra cẩn thận tài liệu của mình xem có lỗi chính tả hoặc thiếu thẻ và dấu câu hay không.

Phần kết luận

Đã học được một số quy tắc đơn giản, bạn có thể linh hoạt phát triển của riêng mình phần tử XML và thuộc tính của chúng. Các quy tắc XML không phức tạp. Việc gõ một tài liệu XML cũng dễ dàng. Điều quan trọng là phải hiểu những gì bạn muốn từ tài liệu của mình về khả năng sắp xếp và tìm kiếm, sau đó thiết kế các thành phần và thuộc tính để đáp ứng các yêu cầu đó.

Khi đã hiểu rõ mục đích và biết cách đánh dấu văn bản của mình, bạn có thể tạo yếu tố hiệu quả và các thuộc tính. Từ quan điểm này, đánh dấu cẩn thận là tất cả những gì cần thiết để tạo ra một tài liệu XML đúng định dạng và có thể sử dụng được.

Tiêu chuẩn xác định hai mức độ chính xác cho một tài liệu XML:

  • Được xây dựng đúng cách(Đúng ngữ pháp). Một tài liệu có định dạng đúng tuân theo tất cả các quy tắc chung về cú pháp XML áp dụng cho bất kỳ tài liệu XML nào. Và ví dụ: nếu thẻ bắt đầu không có thẻ kết thúc tương ứng, thì điều này xây dựng sai Tài liệu XML. Một tài liệu không được xây dựng đúng cách không thể được coi là tài liệu XML; Bộ xử lý XML (trình phân tích cú pháp) sẽ không xử lý nó một cách bình thường và sẽ phân loại tình huống này là lỗi nghiêm trọng.
  • Có hiệu lực(Có hiệu lực). Một tài liệu hợp lệ còn tuân thủ các quy tắc ngữ nghĩa nhất định. Đây là bước kiểm tra bổ sung nghiêm ngặt hơn về tính chính xác của tài liệu nhằm tuân thủ các quy tắc bên ngoài đã được xác định trước, nhằm giảm thiểu số lượng lỗi, ví dụ: cấu trúc và thành phần của một tài liệu cụ thể hoặc họ tài liệu nhất định. Các quy tắc này có thể được phát triển bởi chính người dùng hoặc bởi nhà phát triển bên thứ ba, chẳng hạn như nhà phát triển từ điển hoặc tiêu chuẩn trao đổi dữ liệu. Thông thường, các quy tắc như vậy được lưu trữ trong các tệp đặc biệt - sơ đồ, trong đó cấu trúc của tài liệu, tất cả tên hợp lệ của các phần tử, thuộc tính, v.v. được mô tả chi tiết. Và ví dụ: nếu một tài liệu chứa tên phần tử chưa được xác định trước đó trong các lược đồ thì tài liệu XML sẽ được xem xét trống rỗng; Khi kiểm tra sự tuân thủ các quy tắc và lược đồ, bộ xử lý XML (trình xác thực) kiểm tra có nghĩa vụ (theo lựa chọn của người dùng) phải báo cáo lỗi.

Hai khái niệm này chưa có bản dịch chuẩn hóa sang tiếng Nga, đặc biệt là khái niệm có hiệu lực, cũng có thể được dịch là có hiệu lực, hợp pháp, đáng tin cậy, phù hợp, hoặc thậm chí được kiểm tra sự tuân thủ các quy tắc, tiêu chuẩn, luật pháp. Một số lập trình viên sử dụng giấy truy tìm đã được thiết lập trong cuộc sống hàng ngày " Có hiệu lực».

Cú pháp XML

Phần này chỉ thảo luận xây dựng đúng Các tài liệu XML, tức là cú pháp của chúng.

XML là một cấu trúc phân cấp được thiết kế để lưu trữ bất kỳ dữ liệu nào; về mặt trực quan, cấu trúc này có thể được biểu diễn dưới dạng cây. Yêu cầu cú pháp bắt buộc quan trọng nhất là tài liệu chỉ có một phần tử gốc(phần tử gốc) (còn gọi là yếu tố tài liệu). Điều này có nghĩa là văn bản hoặc dữ liệu khác của toàn bộ tài liệu phải được đặt giữa thứ duy nhất thẻ gốc bắt đầu và thẻ kết thúc tương ứng.

Ví dụ đơn giản nhất sau đây là một tài liệu XML được định dạng đúng: Đây là cuốn sách: "Cuốn sách nhỏ" Dòng đầu tiên của tài liệu XML được gọi là Khai báo XML(Khai báo XML) là một chuỗi tùy chọn cho biết phiên bản Tiêu chuẩn XML(thường là 1.0), mã hóa ký tự và các phần phụ thuộc bên ngoài cũng có thể được chỉ định ở đây. Thông số kỹ thuật yêu cầu bộ xử lý XML hỗ trợ mã hóa Unicode UTF-8 và UTF-16 (UTF-32 là tùy chọn). Các mã hóa khác dựa trên tiêu chuẩn ISO/IEC 8859 được công nhận là có thể chấp nhận, được hỗ trợ và sử dụng rộng rãi (nhưng không bắt buộc); các mã hóa khác cũng được chấp nhận, ví dụ: Windows-1251, KOI-8 của Nga.

Một lời bình luận có thể được đặt ở bất cứ đâu trên cây. Nhận xét XML được đặt bên trong một cặp thẻ . Hai dấu gạch nối (--) không thể được sử dụng ở bất kỳ đâu trong nhận xét.

Dưới đây là ví dụ về công thức nấu ăn đơn giản được đánh dấu bằng XML:

bánh mì đơn giản Bột mì Men Nước ấm Muối

Kết cấu

Phần còn lại của tài liệu XML này bao gồm các phần lồng nhau yếu tố, một số trong đó có thuộc tínhnội dung. Yếu tố thường bao gồm các thẻ mở và đóng kèm theo văn bản và các phần tử khác. Thẻ mở bao gồm tên thành phần trong dấu ngoặc nhọn, ví dụ: " »; thẻ đóng bao gồm cùng tên trong dấu ngoặc nhọn nhưng có dấu gạch chéo lên trước tên, ví dụ: “ ». Nội dung phần tử(nội dung) là mọi thứ nằm giữa thẻ mở và thẻ đóng, bao gồm văn bản và các phần tử (lồng nhau) khác. Dưới đây là ví dụ về phần tử XML chứa thẻ mở, thẻ kết thúc và nội dung của phần tử:

Nhào lại lần nữa, đặt lên khay nướng và cho vào lò nướng.

Bột mì

Trong ví dụ trên, thành phần thành phần có hai thuộc tính: số lượng có giá trị 3 và đơn vị có giá trị glass. Theo quan điểm của đánh dấu XML, các thuộc tính trên không có ý nghĩa gì mà chỉ đơn giản là một tập hợp các ký tự.

Ngoài văn bản, một phần tử có thể chứa các phần tử khác:

Trộn tất cả các thành phần và nhào thật kỹ. Che lại bằng một miếng vải và để trong một giờ trong phòng ấm áp. Nhào lại lần nữa, đặt lên khay nướng và cho vào lò nướng.

Trong trường hợp này, phần tử Hướng dẫn chứa ba phần tử bước. XML không cho phép các phần tử chồng chéo. Ví dụ: đoạn mã sau không chính xác vì phần tử "em" và "strong" trùng nhau.

Bình thường có dấu nổi bật và nhấn mạnh tận tụy

Mỗi tài liệu XML phải chứa chính xác một phần tử gốc(phần tử gốc hoặc yếu tố tài liệu), do đó đoạn sau đây không thể được coi là tài liệu XML hợp lệ.

Thực thể số 1 Thực thể số 2

Để biểu thị một phần tử không có nội dung, được gọi là phần tử trống, cần thiết sử dụng một hình thức ghi đặc biệt bao gồm một thẻ duy nhất trong đó dấu gạch chéo được đặt sau tên thành phần. Nếu một phần tử không được khai báo trống trong DTD nhưng nó không có nội dung trong tài liệu thì cho phép sử dụng hình thức ghi âm này. Ví dụ:

XML định nghĩa hai phương thức để viết các ký tự đặc biệt: tham chiếu thực thể và tham chiếu ký tự. Nước hoa(thực thể) trong XML đề cập đến dữ liệu được đặt tên, thường là văn bản, đặc biệt là các ký tự đặc biệt. Tham chiếu thực thể(tham chiếu thực thể) được chỉ định ở vị trí thực thể đó và bao gồm ký hiệu (“&”), tên thực thể và dấu chấm phẩy (“;”). Có một số thực thể được xác định trước trong XML, chẳng hạn như "lt" (bạn có thể tham khảo nó bằng cách viết "< ») для левой угловой скобки и « amp » (ссылка - « & ») для амперсанда, возможно также определять собственные сущности. Помимо записи с помощью сущностей отдельных символов, их можно использовать для записи часто встречающихся текстовых блоков. Ниже приведён пример использования предопределённой сущности для избежания использования знака амперсанда в названии:

AT&T

Danh sách đầy đủ các thực thể được xác định trước bao gồm & (“&”),< («<»), >(">"), " ("") và " ("") - hai cái cuối cùng hữu ích để viết dấu phân cách trong các giá trị thuộc tính. Bạn có thể xác định các thực thể của mình trong tài liệu DTD.

Đôi khi cần phải xác định một không gian không ngắt, thường được sử dụng trong HTML và được biểu thị là trong XML không có thực thể được xác định trước như vậy, nó được ghi lại và việc sử dụng nó sẽ gây ra lỗi. Sự vắng mặt của thực thể rất phổ biến này thường gây ngạc nhiên cho nhiều lập trình viên và điều này tạo ra một số khó khăn khi di chuyển các phát triển HTML của họ sang XML.

Liên kết bằng số ký hiệu(tham chiếu ký tự số) trông giống như tham chiếu đến một thực thể, nhưng thay vì tên thực thể, ký tự # và một số (theo ký hiệu thập phân hoặc thập lục phân) được chỉ định, là số ký tự trong bảng ký tự Unicode. Đây thường là các ký tự không thể được mã hóa trực tiếp, chẳng hạn như chữ cái Ả Rập trong tài liệu được mã hóa ASCII. Dấu và có thể được biểu diễn như sau:

AT&T

Có nhiều quy tắc khác liên quan đến việc tạo một tài liệu XML hợp lệ, nhưng mục đích của quy tắc này tổng quan ngắn gọn Nó chỉ nhằm trình bày những điều cơ bản cần thiết để hiểu cấu trúc của một tài liệu XML.

Câu chuyện

Năm ra đời của XML có thể được coi là năm 1996, khi kết thúc năm đó, phiên bản dự thảo của đặc tả ngôn ngữ xuất hiện hoặc khi đặc tả này được phê duyệt. Mọi chuyện bắt đầu với sự xuất hiện của ngôn ngữ SGML vào năm 1986.

SGML (Ngôn ngữ đánh dấu tổng quát tiêu chuẩn) đã tự tuyên bố là ngôn ngữ meta linh hoạt, toàn diện và toàn diện để tạo ngôn ngữ đánh dấu. Mặc dù thực tế là khái niệm siêu văn bản xuất hiện vào năm 1965 (và các nguyên tắc cơ bản được hình thành vào năm 1945), SGML không có mô hình siêu văn bản. Việc tạo ra SGML có thể được gọi một cách tự tin là một nỗ lực nhằm nắm bắt tính bao la, vì nó kết hợp tất cả các khả năng cực kỳ hiếm khi được sử dụng lại với nhau. Đây là nhược điểm chính của nó - sự phức tạp và do đó, chi phí cao của ngôn ngữ này chỉ giới hạn việc sử dụng nó ở những công ty lớn có đủ khả năng mua phần mềm thích hợp và thuê các chuyên gia được trả lương cao. Ngoài ra, các công ty nhỏ hiếm khi gặp phải những vấn đề đủ phức tạp để nhờ SGML giải quyết.

SGML được sử dụng rộng rãi nhất để tạo ra các ngôn ngữ đánh dấu khác; nhờ sự trợ giúp của nó mà ngôn ngữ đánh dấu tài liệu siêu văn bản đã được tạo ra - HTML, đặc tả của ngôn ngữ này đã được phê duyệt vào năm 1992. Sự xuất hiện của nó gắn liền với nhu cầu sắp xếp lượng tài liệu ngày càng tăng nhanh trên Internet. Sự tăng trưởng nhanh chóng về số lượng kết nối với Internet và theo đó là các máy chủ Web kéo theo nhu cầu mã hóa các tài liệu điện tử mà SGML không thể đáp ứng được do độ khó phát triển cao. Sự ra đời của HTML, một ngôn ngữ đánh dấu rất đơn giản, đã nhanh chóng giải quyết vấn đề này: tính dễ học và sự phong phú của các công cụ thiết kế tài liệu khiến nó trở thành ngôn ngữ phổ biến nhất đối với người dùng Internet. Nhưng khi số lượng và chất lượng của tài liệu trên Web tăng lên thì các yêu cầu đặt ra cho chúng cũng tăng lên và tính đơn giản của HTML trở thành nhược điểm chính của nó. Số lượng thẻ hạn chế và sự thờ ơ hoàn toàn đối với cấu trúc của tài liệu đã thúc đẩy các nhà phát triển do hiệp hội W3C đại diện tạo ra một ngôn ngữ đánh dấu không phức tạp như SGML và không thô sơ như HTML. Kết quả là, kết hợp tính đơn giản của HTML với logic đánh dấu của SGML và đáp ứng nhu cầu của Internet, XML đã ra đời.

Ưu điểm và nhược điểm

Thuận lợi

sai sót

  • Mô hình hóa sự mơ hồ.
  • XML không có hỗ trợ kiểu dữ liệu được tích hợp trong ngôn ngữ. Nó không có kiểu gõ mạnh, tức là các khái niệm về “số nguyên”, “chuỗi”, “ngày tháng”, “booleans”, v.v.
  • Mô hình dữ liệu phân cấp do XML cung cấp bị hạn chế so với mô hình quan hệ và mô hình dữ liệu mạng và đồ thị hướng đối tượng.

Hiển thị XML trên World Wide Web

Ba cách phổ biến nhất để chuyển đổi tài liệu XML thành dạng mà người dùng có thể hiển thị là:

  1. Áp dụng các kiểu CSS;
  2. Áp dụng phép chuyển đổi XSLT;
  3. Viết trình xử lý tài liệu XML bằng bất kỳ ngôn ngữ lập trình nào.

Không có sử dụng CSS hoặc XSL Tài liệu XML hiển thị dưới dạng văn bản thuần túy trong hầu hết các trình duyệt Web. Một số trình duyệt như Internet Explorer, Mozilla và Mozilla Firefox hiển thị cấu trúc tài liệu ở dạng xem dạng cây, cho phép bạn thu gọn và mở rộng các nút bằng cú nhấp chuột.

Áp dụng kiểu CSS

Quá trình này tương tự như việc áp dụng CSS vào tài liệu HTML để hiển thị.

áp dụng CSS khi được hiển thị trong trình duyệt, tài liệu XML phải chứa liên kết đặc biệt vào bảng định kiểu. Ví dụ:

Điều này khác với cách tiếp cận HTML sử dụng phần tử .

Áp dụng phép biến đổi XSLT

XSL là công nghệ mô tả cách định dạng hoặc chuyển đổi dữ liệu tài liệu XML. Tài liệu được chuyển đổi sang định dạng phù hợp để hiển thị trên trình duyệt. Trình duyệt là nhất sử dụng thường xuyên XSL, nhưng đừng quên rằng khi sử dụng XSL, bạn có thể chuyển đổi XML sang bất kỳ định dạng nào, chẳng hạn

Một tài liệu đáp ứng yêu cầu được gọi là hình thành chính xác. đặt tối thiểu tiêu chí phù hợp cho một tài liệu XML. Một tài liệu XML đúng định dạng có thể chứa các nhận xét, hướng dẫn xử lý và dấu cách.

Lúc đầu nó đi Tiêu đề tài liệu XML . Tiêu đề trong ví dụ là phổ quát, điều duy nhất là mã hóa đôi khi khác nhau

Tiếp theo là phần DOCTYPE , trong đó mô tả các thực thể khác nhau. Theo một nghĩa nào đó, một thực thể là một hằng số mà chúng ta có thể sử dụng trong phần nội dung của tài liệu XML để làm cho nó ngắn hơn và dễ bảo trì hơn sau này.

Sau phần DOCTYPE đến Nội dung tài liệu XML . Mọi thứ ở đây đều tương tự như cú pháp của ngôn ngữ HTML, nghĩa là có các thẻ (hay còn gọi là phần tử), chúng có các thuộc tính cũng như các thẻ nội bộ. Nhưng không giống như HTML, ở đây bạn tự nghĩ ra tên của các thành phần; XML cũng có cú pháp rất nghiêm ngặt, nghĩa là không được có bất kỳ thẻ không đóng hoặc thiếu dấu ngoặc kép nào trong các giá trị thuộc tính thẻ.

Hãy chú ý đến cách sử dụng những cái chúng tôi mô tả trong phần này CDATA nước hoa. Ví dụ: nếu bạn cần hiển thị một số ký tự đặc biệt, & hoặc < , thì bạn phải sử dụng các thực thể dành riêng thích hợp.

Về mối quan hệ giữa các yếu tố khác nhau. Có 5 loại kết nối:

  • Cha mẹ. Phần tử gốc của một phần tử nhất định là phần tử cao hơn chính xác 1 cấp.
  • Yếu tố con. Ngược lại với cha mẹ. Phần tử con là phần tử có đúng 1 cấp độ bên dưới và nằm bên trong phần tử đã cho. Xin lưu ý rằng luôn có một phụ huynh và có thể có nhiều con.
  • Tổ tiên. Tổ tiên là phần tử của một cái nhất định lớn hơn 1 mức cao hơn.
  • Hậu duệ. Tương tự như vậy phần tử con, nhưng chỉ các phần tử phải ở dưới mức lồng nhau thứ nhất trong phần tử đã cho.
  • Anh trai. Một phần tử được gọi là anh em của một phần tử khác nếu nó ở cùng cấp độ với phần tử kia. Tất nhiên, ngoài một cấp độ, còn cần có sự hiện diện của cha mẹ chung.

Một tài liệu XML bao gồm hai phần chính: phần mở đầu và phần tử gốc, như trong Hình 2.1.



Cơm. 2.1

Lời mở đầu

TRONG trong ví dụ này Lời mở đầu của tài liệu bao gồm ba dòng:

Dòng đầu tiên là khai báo XML cho biết đây là tài liệu XML và chứa số phiên bản. (Tại thời điểm tạo khóa học, thông tin mới nhất Phiên bản XMLđược đánh số 1.0.) Khai báo XML là tùy chọn, mặc dù đặc tả yêu cầu đưa nó vào. Nếu bạn bao gồm một khai báo XML thì nó phải ở đầu tài liệu.

Dòng thứ hai của phần mở đầu bao gồm một khoảng trắng. Để cải thiện vẻ bề ngoài bạn có thể chèn bất kỳ số lượng tài liệu nào dòng trống giữa các yếu tố của lời mở đầu. Chúng sẽ bị bỏ qua trong quá trình xử lý.

Dòng thứ ba của phần mở đầu là một bình luận. Việc thêm chú thích vào tài liệu XML là không cần thiết nhưng nó có thể làm cho tài liệu dễ hiểu hơn. Bình luận bắt đầu bằng các ký tự. Giữa hai nhóm ký tự này bạn có thể đặt bất kỳ văn bản nào (ngoại trừ -->); Bộ xử lý XML sẽ bỏ qua nó.

Một prolog cũng có thể chứa các thành phần tùy chọn sau:

  • Tuyên bố loại tài liệu xác định loại và cấu trúc của tài liệu.
  • Phần khai báo loại tài liệu phải nằm sau phần khai báo XML;
  • một hoặc nhiều hướng dẫn xử lý có chứa thông tin về thứ tự các bước khi bộ xử lý XML xử lý ứng dụng.

Phần tử gốc

Phần chính thứ hai của một tài liệu XML là một phần tử gốc , do đó chứa các phần tử bổ sung.

Trong tài liệu XML, các phần tử xác định cấu trúc logic của nó và mang thông tin có trong tài liệu (trong ví dụ của chúng tôi, đây là thông tin về sách, chẳng hạn như tên sách, tác giả, giá). Một phần tử điển hình bao gồm thẻ bắt đầu, nội dung phần tử và thẻ kết thúc. Nội dung của một phần tử có thể là dữ liệu ký tự, các phần tử (lồng nhau) khác hoặc kết hợp giữa dữ liệu và phần tử lồng nhau.

Trong ví dụ này, phần tử gốc là HÀNG KHO. Thẻ bắt đầu của nó là , thẻ kết thúc – và nội dung là tám phần tử BOOK lồng nhau.

Ghi chú. Văn bản trong tài liệu XML bao gồm dữ liệu ký tự xen kẽ và dữ liệu liên quan đến đánh dấu. Đánh dấu là văn bản được phân cách bằng dấu phân cách mô tả cấu trúc của tài liệu. Cụ thể là thẻ bắt đầu và kết thúc phần tử, thẻ phần tử trống, khai báo loại tài liệu, hướng dẫn xử lý, dấu phân cách phần CDATA, liên kết tượng trưng, ​​tham chiếu thực thể. Phần còn lại của văn bản là dữ liệu tượng trưng - nội dung thông tin thực sự của tài liệu (trong ví dụ của chúng tôi, đây là tiêu đề, tên tác giả, giá cả và các thông tin khác về cuốn sách).

Phần tử gốc trong tài liệu XML tương tự như phần tử BODY trong trang HTML, ngoại trừ việc bạn có thể đặt cho nó bất kỳ tên hợp lệ nào.

Lần lượt, mỗi phần tử BOOK chứa một số phần tử lồng nhau, như trong Hình 2.2.