Bạn đang xem bài viết Xml: Bài 4.4. Làm Việc Với Kiểu Đơn Giản được cập nhật mới nhất trên website Ictu-hanoi.edu.vn. Hy vọng những thông tin mà chúng tôi đã chia sẻ là hữu ích với bạn. Nếu nội dung hay, ý nghĩa bạn hãy chia sẻ với bạn bè của mình và luôn theo dõi, ủng hộ chúng tôi để cập nhật những thông tin mới nhất.
Đăng ký nhận thông báo về những video mới nhất
Trong bài học cuối cùng này, Làm việc với kiểu đơn giản, bạn sẽ học cách:
Mô tả kiểu đơn giản.
Liệt kê và mô tả các kiểu dữ liệu được sử dụng với kiểu đơn giản.
Giải thích các hạn chế và khía cạnh.
Xác định việc sử dụng các thuộc tính.
4.4.1. Định nghĩa phần tử kiểu đơn giản
Kiểu đơn giản là một phần tử hoặc thuộc tính XML trong đó chỉ chứa văn bản và không chứa các phần tử hoặc thuộc tính khác.
Các khai báo kiểu đơn giản được sử dụng để tạo dữ liệu dạng văn bản và chỉ định kiểu dữ liệu được phép trong các thuộc tính và phần tử.
Cú pháp:
Trong cú pháp này, XXXX là tên của phần tử, YYYY là kiểu dữ liệu của phần tử.
Đoạn mã sau đây thể hiện rằng phần tử TotalNoOfPages có thể được chỉ định là một kiểu số nguyên, cụ thể là một số nguyên dương có ba chữ số.
Book.xml: Các phần tử XML
Book.xsd: Định nghĩa phần tử đơn giản tương ứng
<xs
:element
name
="Book_name" <
xs
:element
name
="TotalNoOfPages" <
xs
:element
name
="Author_name"
Book.xsd: Định nghĩa phần tử đơn giản tương ứng
4.4.2. Các kiểu dữ liệu được sử dụng với kiểu đơn giản
Các phần tử thuộc kiểu đơn giản có xu hướng mô tả nội dung và kiểu dữ liệu của tài liệu hơn là cấu trúc của nó.
Trong Lược đồ XML, người ta có thể đề cập đến kiểu dữ liệu mà một phần tử có thể chứa bằng cách gán cho nó một định nghĩa kiểu đơn giản cụ thể. Vì vậy, dựa trên kiểu dữ liệu mà nó hỗ trợ, lược đồ XML chia các phần tử của các kiểu đơn giản thành hai loại lớn:
kiểu đơn giản có sẵn
kiểu đơn giản do người dùng định nghĩa
4.4.3. Kiểu đơn giản có sẵn
Có một số kiểu đơn giản được tích hợp sẵn, chẳng hạn như số nguyên, ngày tháng, số thực và chuỗi mà người ta có thể sử dụng mà không cần sửa đổi thêm.
Một phần tử đơn giản được tích hợp sẵn có thể chứa một giá trị mặc định hoặc một giá trị cố định. Giá trị 'mặc định' là giá trị được gán tự động cho phần tử khi không có giá trị nào khác được chỉ định. Giá trị 'cố định' được gán cho một phần tử, khi không cần thay đổi giá trị cho phần tử đó. Hình 4.7 mô tả các kiểu đơn giản có sẵn.
Hình 4.7: Các kiểu đơn giản cài sẵn
Cú pháp :
Trong cú pháp này, XXXX là tên của phần tử, YYYY là kiểu dữ liệu của phần tử và ZZZZ là giá trị mặc định được chỉ định cho phần tử.
Đoạn mã sau minh họa việc khai báo kiểu đơn giản có sẵn.
Đoạn mã: kiểu đơn giản tích hợp sẵn: khai báo phần tử
<xs
:element
name
="AccountType"
type
="xs:string" <
xs
:element
name
="BalanceAmount"
type
="xs:integer"
Đoạn mã hiển thị khai báo các kiểu đơn giản được tích hợp sẵn "AccountType" và "BalanceAmount". Giá trị cố định cho "AccountType" là "Savings" và giá trị mặc định cho "BalanceAmount" là "5000".
4.4.4. Kiểu đơn giản do người dùng tạo
Cú pháp:
Đoạn mã sau đây chứng minh các thuộc tính của các kiểu đơn giản do người dùng định nghĩa.
Trong đoạn mã trên, một kiểu dữ liệu mới được tạo gọi là "AngleMeasure", các phần tử thuộc kiểu này có thể chứa các giá trị nguyên, giá trị của "AngleMeasure" phải nằm trong phạm vi từ "0" đến "360".
Ví dụ tiếp theo:
Trong ví dụ trên, một kiểu dữ liệu mới được gọi là "triangle", các phần tử có kiểu này có thể chứa các phần tử có kiểu triangle, các phần tử thuộc kiểu này có thể có giá trị "isosceles" hoặc "right-angled" hoặc "equilateral".
4.4.5. Các hạn chế
Khai báo kiểu dữ liệu đặt ra những hạn chế nhất định đối với nội dung của một phần tử hoặc thuộc tính XML. Nếu một phần tử XML thuộc loại "xs:integer" và chứa một chuỗi như "Welcome", phần tử sẽ không được xác thực. Các giới hạn này được gọi là các hạn chế, định nghĩa các giá trị được phép cho các phần tử và thuộc tính XML.
Cú pháp:
... ...
Với Lược đồ XML, các hạn chế tùy chỉnh có thể được chỉ định trên các phần tử và thuộc tính XML. Những hạn chế này được gọi là các facet.
Các facet được sử dụng để hạn chế tập hợp hoặc phạm vi giá trị mà một kiểu dữ liệu có thể chứa. Phạm vi giá trị được xác định bởi facet phải bằng hoặc nhỏ hơn phạm vi giá trị của kiểu cơ sở.
Có 12 phần tử facet, được khai báo bằng một cú pháp chung. Chúng đều có một thuộc tính giá trị bắt buộc cho biết giá trị của khía cạnh. Một hạn chế có thể chứa nhiều khía cạnh. Bất kỳ giá trị nào xuất hiện trong thể hiện và không gian giá trị phải tuân theo tất cả các facet được liệt kê.
Bảng 4.2 mô tả các ràng buộc facet.
facet
Mô tả
minExclusive
Chỉ định giá trị tối thiểu cho kiểu loại trừ giá trị được cung cấp.
minInclusive
Chỉ định giá trị nhỏ nhất cho kiểu bao gồm giá trị được cung cấp.
maxExclusive
Chỉ định giá trị lớn nhất cho kiểu loại trừ giá trị được cung cấp.
maxInclusive
Chỉ định giá trị lớn nhất cho kiểu bao gồm giá trị được cung cấp.
TotalDigits
Chỉ định tổng số chữ số trong một kiểu số.
fractionDigits
Chỉ định số chữ số phân số trong kiểu số.
length
Chỉ định số lượng mục trong kiểu danh sách hoặc số ký tự trong kiểu chuỗi.
minLength
Chỉ định số mục tối thiểu trong một loại danh sách hoặc số ký tự tối thiểu trong một loại chuỗi.
maxLength
Chỉ định số mục tối đa trong một loại danh sách hoặc số ký tự tối đa trong một loại chuỗi.
enumeration
Chỉ định một giá trị cho phép trong một danh sách được liệt kê.
whiteSpace
Chỉ định cách xử lý khoảng trắng trong kiểu.
pattern
Hạn chế các loại chuỗi.
Cú pháp:
…
Đoạn mã sau đây chứng minh rằng thuộc tính giá trị cung cấp giá trị của facet đó.
Ví dụ:
Ở đây, phép liệt kê facet được thêm vào giới hạn với thuộc tính giá trị là isosceles hoặc right-angled hoặc equilateral. Vì vậy, một phần tử được khai báo là kiểu triangle phải là là isosceles hoặc right-angled hoặc equilateral.
4.4.7. Các thuộc tính
Một thuộc tính có thể được chỉ ra liệu nó là bắt buộc hay tùy chọn hoặc nó có giá trị mặc định hay không. Giá trị mặc định được tự động gán cho thuộc tính khi không có giá trị nào khác được chỉ định.
Ø default
Giá trị default được tự động gán cho thuộc tính khi không có giá trị nào khác được chỉ định. Ví dụ,
Trong ví dụ trên, giá trị của thuộc tính default của attribute genre là fiction.
Ø fixed
Giá trị này làm cho thuộc tính cố định. Một giá trị cố định được tự động gán cho thuộc tính và không thể chỉ định một giá trị khác. Ví dụ,
Trong ví dụ trên, giá trị fiction của thuộc tính fixed được gán cho thuộc tính genre, vì vậy không thể chỉ định một giá trị khác cho nó.
Ø optional
Giá trị này làm cho thuộc tính trở thành tùy chọn, có nghĩa là thuộc tính có thể có bất kỳ giá trị nào. Giá trị mặc định cho bất kỳ attribute nào cũng là tùy chọn. Ví dụ,
Ở ví dụ trên, attribute genre có thể nhận bất kỳ giá trị chuỗi nào.
Ø prohibited
Giá trị này có nghĩa là thuộc tính không thể được sử dụng. Ví dụ,
Trong ví dụ trên thì thể hiện phần tử sẽ không có attribute genre.
Ø required
Giá trị này làm cho thuộc tính trở thành bắt buộc. Thuộc tính có thể có bất kỳ giá trị nào. Ví dụ,
Ở ví dụ trên thì attribute genre phải được sử dụng trong khai báo phần tử XML.
Hình 4.8 mô tả khai báo thuộc tính.
Hình 4.8: Các thuộc tính
Cú pháp :
Cú pháp để xác định một thuộc tính là:
trong đó,
Attribute_name là tên của thuộc tính,
Attribute_datatype chỉ định kiểu dữ liệu của thuộc tính. Có rất nhiều kiểu dữ liệu tích hợp sẵn trong lược đồ XML như chuỗi, số thập phân, số nguyên, boolean, ngày và giờ.
Đoạn mã sau minh họa các thuộc tính của attribute. Trong ví dụ này, các phần tử xs:attribute đứng sau xs:sequence và xs:group tạo nên phần thân của phần tử. Phần tử Name có thể có một attribute tùy chọn có tên là age với kiểu positiveInteger.
.... <
xs
:element
name
="FirstName" <
xs
:element
name
="LastName" <
xs
:attribute
name
="age"
type
="xs:positiveInteger"
....
Kiểm tra kiến thức bài 4.4
1. Câu nào sau đây về phần tử kiểu đơn giản là đúng và câu nào sai?
(A)
(B)
Phần tử của kiểu đơn giản mô tả nội dung và kiểu dữ liệu của một phần tử.
(C)
Các phần tử của kiểu đơn giản tạo nên cấu trúc của một tài liệu XML.
(D)
Một phần tử đơn giản được tích hợp sẵn có thể chứa một giá trị mặc định hoặc một giá trị thuộc tính.
(E)
Giá trị mặc định là giá trị được gán tự động cho phần tử khi không có giá trị nào khác được chỉ định.
2. Bạn có thể đối sánh các từ khóa khác nhau với mô tả tương ứng của chúng không?
Mô tả
Mục
(A)
Specifies the number of digits after decimal point
(1)
pattern
(B)
Restricts string types using regular expressions
(2)
use
(C)
Specifies an allowable value in an enumerated list
(3)
prohibited
(D)
Specifies whether the attribute is required or optional
(4)
fractionDigits
(E)
Specifies that the attribute cannot be used
(5)
enumeration
Tóm tắt mô-đun
Trong mô-đun này, Lược đồ XML, bạn đã học về:
Ø Lược đồ XML
Lược đồ XML là một giải pháp thay thế dựa trên XML cho các DTD, nó mô tả cấu trúc của một tài liệu XML. Ngôn ngữ Lược đồ XML còn được gọi là Định nghĩa Lược đồ XML (XML Schema Definition - XSD). Một Lược đồ XML có thể xác định các phần tử, các thuộc tính, các phần tử con và các giá trị khả dĩ có thể xuất hiện trong một tài liệu. Lược đồ khắc phục các hạn chế của DTD và cho phép các ứng dụng Web trao đổi dữ liệu XML một cách mạnh mẽ mà không cần dựa vào các công cụ xác thực đặc biệt.
Ø Khám phá các lược đồ XML
Lược đồ XML cung cấp một loạt các kiểu dữ liệu. Nó hỗ trợ các kiểu dữ liệu tích hợp như string, boolean, number, dateTime, binary và uri. Các kiểu dữ liệu bổ sung như số nguyên, thập phân, thực, thời gian, chu kỳ thời gian và kiểu dữ liệu do người dùng xác định.
Ø Làm việc với loại phức hợp
Các phần tử có kiểu phức hợp có thể chứa các phần tử lồng nhau và có các attribute. Một phần tử phức hợp có thể được xác định bằng cách đặt tên trực tiếp cho phần tử và bằng cách sử dụng tên và thuộc tính kiểu của kiểu phức hợp. minOccurs chỉ định số lần xuất hiện tối thiểu của phần tử trong tài liệu XML. maxOccurs chỉ định số lần xuất hiện tối đa của phần tử trong tài liệu XML. Nội dung phần tử trong tài liệu XML chỉ chứa các phần tử XML và nội dung hỗn hợp chứa văn bản trộn với các phần tử. Các cấu trúc nhóm trong lược đồ XML chỉ định thứ tự của các phần tử XML.
Ø Làm việc với kiểu đơn giản
Các phần tử của kiểu đơn giản mô tả nội dung và kiểu dữ liệu của phần tử hơn là cấu trúc của nó. Kiểu đơn giản có thể có các kiểu dữ liệu cài sẵn và do người dùng xác định. Định nghĩa kiểu đơn giản nhận một trong hai giá trị, mặc định hoặc cố định theo yêu cầu. Kiểu dữ liệu do người dùng xác định có thể được lấy từ kiểu tích hợp sẵn hoặc kiểu đơn giản hiện có. Việc sử dụng các hạn chế và facet hạn chế nội dung của nó ở các giá trị do người dùng quy định. Lược đồ hỗ trợ việc sử dụng các thuộc tính trong các phần tử, được khai báo với một định nghĩa kiểu đơn giản.
Xml: Bài 4.1. Lược Đồ Xml
Đăng ký nhận thông báo về những video mới nhất
Tổng quan về mô-đun
Trong mô-đun này, bạn sẽ tìm hiểu về:
Lược đồ XML
Khám phá các lược đồ XML
Làm việc với các loại phức tạp
Làm việc với các loại đơn giản
4.1. Lược đồ XML
Trong bài học đầu tiên này, Lược đồ XML, bạn sẽ học cách:
Xác định và mô tả ý nghĩa của lược đồ.
Xác định sự cần thiết của lược đồ.
So sánh và phân biệt các đặc điểm của ĐDDH và lược đồ.
4.1.1. Lược đồ
DTD xác định cấu trúc tài liệu và xác thực tài liệu XML, nhưng có một số hạn chế. Do đó, một giải pháp thay thế dựa trên XML cho DTD, được gọi là lược đồ XML đã được giới thiệu, với mục tiêu khắc phục những hạn chế của DTD.
Từ lược đồ (schema) có nguồn gốc từ một từ Hy Lạp tượng trưng cho hình thức hoặc hình dạng. Nghĩa từ điển của lược đồ là: “Biểu diễn theo sơ đồ; phác thảo hoặc mô hình”. Ban đầu, từ lược đồ được sử dụng bởi các triết gia cho đến khi nó đi vào lĩnh vực khoa học máy tính. Trong ngữ cảnh của phần mềm, lược đồ thường được hiểu là một mô hình được sử dụng để mô tả cấu trúc của cơ sở dữ liệu. Nó xác định các cấu trúc bên trong như bảng, trường và mối quan hệ giữa chúng.
Tuy nhiên, trong ngữ cảnh của XML, như được định nghĩa bởi W3C, một lược đồ là “một tập hợp các quy tắc để ràng buộc cấu trúc và trình bày rõ ràng tập thông tin của các tài liệu XML”. Một lược đồ mô tả một mô hình cho toàn bộ lớp tài liệu. Mô hình mô tả cách dữ liệu được đánh dấu và cũng chỉ định cách sắp xếp các thẻ và văn bản có thể có trong một tài liệu hợp lệ. Một lược đồ có thể được coi là một từ vựng phổ biến cần thiết để trao đổi tài liệu giữa các tổ chức khác nhau.
Lược đồ XML xác định các khối xây dựng hợp lệ của một tài liệu XML. Có thể coi đây là vốn từ vựng chung mà các tổ chức khác nhau có thể dùng chung để trao đổi tài liệu. Ngôn ngữ lược đồ XML được gọi là Định nghĩa lược đồ XML (XML Schema Definition-XSD).
Hình 4.1 mô tả xác thực dữ liệu XML.
Hình 4.1: Xác thực dữ liệu XML
Đoạn mã XML sau thể hiện một thực thể ‘BOOK’. Khi tài liệu này được truy cập thông qua trình duyệt, nó sẽ đại diện cho các chi tiết của một cuốn sách.
Đoạn mã:
Suy luận logic sẽ so sánh các thuộc tính của ‘SÁCH’ này với các thuộc tính của một cuốn sách nói chung. Nói cách khác, kiến thức trước đây của một người về cuốn sách là gì và các thuộc tính của nó có thể là một loại lược đồ, dùng để so sánh với ‘SÁCH’ này. Điều này sẽ giúp xác thực các thuộc tính của cuốn sách.
4.1.2. Định nghĩa Lược đồ XML
Mục tiêu của một Lược đồ XML là xác định cấu trúc hợp lệ của một tài liệu XML, tương tự như một DTD. Lược đồ XML định nghĩa:
các phần tử và thuộc tính có thể xuất hiện trong tài liệu
phần tử nào là phần tử con
thứ tự và số lượng phần tử con
liệu một phần tử trống hay có thể bao gồm văn bản
kiểu dữ liệu cho các phần tử và thuộc tính
giá trị mặc định và cố định cho các phần tử và thuộc tính
Các lược đồ khắc phục những hạn chế của DTD và cho phép các ứng dụng Web trao đổi dữ liệu XML mạnh mẽ hơn mà không cần dựa vào các công cụ xác thực đặc biệt.
Một số tính năng cơ bản mà lược đồ XML cung cấp là:
Cú pháp XML được sử dụng làm cơ sở để tạo các tài liệu lược đồ XML. Nó không yêu cầu học một ngôn ngữ khó hiểu mới như trường hợp của các DTD.
Các lược đồ XML có thể được thao tác giống như bất kỳ tài liệu XML nào khác.
Hình 4.2 mô tả lược đồ XML.
Hình 4.2: Lược đồ XML
4.1.3. Viết một lược đồ XML
Để bắt đầu khám phá các lược đồ với ví dụ Hello World, ta cần hai tệp sau:
Ø Tệp XML
Ø Tệp XSD
Để lưu trữ tài liệu lược đồ, tệp được lưu với ”.xsd” làm phần mở rộng. Tài liệu lược đồ là tài liệu XML và có thể có các khai báo DTD, DOCTYPE.
Hình 4.3 mô tả tệp XSD.
Hình 4.3: Tệp XSD
Đoạn mã sau thể hiện các thuộc tính của lược đồ XML.
Đoạn mã :
Tệp message.xml
Chào thế giới! Tệp: message.xsd 4.1.4. Các đặc điểm của lược đồ
4.1.4. Các đặc điểm của lược đồ
Lược đồ XML cho phép các ứng dụng Web trao đổi dữ liệu XML mạnh mẽ hơn bằng cách sử dụng một loạt các tính năng mới như sau:
Ø Hỗ trợ các kiểu dữ liệu
Sự hỗ trợ của lược đồ XML đối với các kiểu dữ liệu và khả năng tạo các kiểu dữ liệu cần thiết đã khắc phục được những hạn chế của DTD. Nó có nghĩa là dễ dàng xác định và xác nhận nội dung tài liệu hợp lệ và các định dạng dữ liệu. Một nhà phát triển có thể thấy đơn giản khi làm việc với dữ liệu từ cơ sở dữ liệu. Nó cũng có thể dễ dàng thực hiện các hạn chế về dữ liệu.
Ø Linh hoạt và hiệu quả
Các lược đồ có tính linh hoạt và hiệu quả vì chúng sử dụng cùng một cú pháp XML. Do đó, không cần phải học bất kỳ ngôn ngữ mới hoặc bất kỳ trình soạn thảo nào để chỉnh sửa tệp lược đồ. Một trình phân tích cú pháp XML tương tự có thể được sử dụng để phân tích cú pháp các tệp Lược đồ.
Ø Truyền dữ liệu an toàn
Trong quá trình truyền dữ liệu, điều cần thiết là cả người gửi và người nhận phải có cùng “từ vựng”. Với Lược đồ XML, người gửi có thể chỉ định dữ liệu theo cách mà người nhận sẽ hiểu.
Ø Lược đồ có thể mở rộng
Một định nghĩa lược đồ có thể được mở rộng; do đó, có thể sử dụng lại một lược đồ hiện có để tạo một lược đồ khác. Nhà phát triển có thể tạo các kiểu dữ liệu của riêng mình bắt nguồn từ các kiểu tiêu chuẩn. Các lược đồ cũng hỗ trợ tham chiếu nhiều lược đồ trong cùng một tài liệu.
Ø Bắt lỗi cấp cao hơn
XML kiểm tra tính ổn định của một tài liệu XML để xác thực cú pháp cơ bản. Một tài liệu được cho là có cấu trúc tốt nếu nó có khai báo XML, phần tử gốc duy nhất, thẻ bắt đầu và thẻ kết thúc phù hợp, các phần tử lồng nhau đúng cách, v.v. Một tài liệu được định dạng tốt vẫn có thể có lỗi. Lược đồ XML có thể mắc các lỗi cấp cao hơn phát sinh, chẳng hạn như trường thông tin bắt buộc bị thiếu hoặc ở định dạng sai hoặc tên phần tử bị viết sai chính tả.
Ø Hỗ trợ Namespace
Sự hỗ trợ cho Không gian tên XML cho phép lập trình viên xác thực các tài liệu sử dụng đánh dấu từ nhiều không gian tên. Nó có nghĩa là các cấu trúc có thể được sử dụng lại từ các lược đồ đã được xác định trong một không gian tên khác.
Ø Kiểu dữ liệu phong phú hơn
Bản thảo lược đồ xác định boolean, ngày tháng và thời gian, URI, khoảng thời gian và cả các kiểu số như số thập phân, số nguyên, byte, long, v.v.
Ø Kiểu mẫu
Một kiểu mẫu được sử dụng để xác định kiểu dữ liệu có tên tùy chỉnh từ các kiểu dữ liệu đã có từ trước. Ví dụ: kiểu dữ liệu ‘Danh sách liên hệ’ được xác định và sau đó là hai phần tử, ‘Danh sách bạn bè’ và ‘Danh sách chính thức’ được xác định theo kiểu đó.
Ø Nhóm thuộc tính
Có thể có các thuộc tính chung áp dụng cho tất cả các phần tử hoặc một số thuộc tính bao gồm các phần tử đồ họa hoặc bảng. Nhóm thuộc tính cho phép tác giả lược đồ làm cho mối quan hệ này giữa các phần tử được rõ ràng. Thực thể tham số hỗ trợ nhóm trong DTD, điều này giúp đơn giản hóa quá trình tạo DTD, nhưng thông tin không được chuyển cho bộ xử lý.
Ø Kiểu mẫu có thể tinh chỉnh
Một DTD tuân theo kiểu mô hình nội dung ‘đóng’. Mô hình nội dung được định nghĩa là ràng buộc về nội dung của các phần tử trong một tài liệu XML thể hiện. Mô hình nội dung ‘đóng’ mô tả tất cả và chỉ những phần tử và thuộc tính có thể xuất hiện trong nội dung của phần tử. Lược đồ XML cho phép thêm hai khả năng:
Mô hình nội dung loại mở
Mô hình nội dung có thể tinh chỉnh
Trong mô hình nội dung ‘mở’, các phần tử khác với các phần tử bắt buộc cũng có thể có mặt. Mô hình nội dung mở cho phép bao gồm các phần tử con và các thuộc tính bên trong một phần tử không được khai báo trong lược đồ của tài liệu. DTD chỉ hỗ trợ các mô hình nội dung đóng, yêu cầu khai báo tất cả các phần tử và thuộc tính để sử dụng chúng trong một tài liệu. Các phần tử bổ sung có thể có trong mô hình nội dung ‘có thể tái tạo lại’, nhưng lược đồ phải xác định các phần tử bổ sung đó.
4.1.5. So sánh DTD và Lược đồ
XML kế thừa khái niệm DTD từ Ngôn ngữ Đánh dấu Tổng quát Chuẩn (SGML), là một tiêu chuẩn quốc tế cho các ngôn ngữ đánh dấu. DTD được sử dụng để xác định mô hình nội dung, lồng các phần tử theo thứ tự hợp lệ và cung cấp hỗ trợ hạn chế cho các kiểu dữ liệu và thuộc tính. Hạn chế của việc sử dụng DTD là:
Ø DTD được viết bằng cú pháp không phải XML
Các DTD không sử dụng ký hiệu XML và do đó chúng rất khó viết và sử dụng.
Ø DTD không thể mở rộng
Ø DTD không hỗ trợ không gian tên
Không gian tên có thể được sử dụng để giới thiệu một loại phần tử vào tài liệu XML. Tuy nhiên, không gian tên không thể được sử dụng để tham chiếu đến một phần tử hoặc một khai báo thực thể trong DTD. Nếu không gian tên được sử dụng, thì DTD phải được sửa đổi để bao gồm bất kỳ phần tử nào được lấy từ Không gian tên.
Ø DTD cung hạn chế trong việc nhập dữ liệu
Hình 4.4 cho thấy một DTD mẫu.
Hình 4.4: Một DTD mẫu
Đoạn mã sau minh họa một tệp DTD bên ngoài mẫu: program.dtd
Đoạn mã:
Đoạn mã sau minh họa Tệp XML mẫu có tham chiếu đến dtd: program.xml
Đoạn mã:
This is a simple Java Program. It will display the message “Hello world!” on execution. public static void main(String[] args) System.out.println(“Hello World!”);
Ngoài ra, các ví dụ được hiển thị ở đây để chứng minh cách DTD và lược đồ được tham chiếu.
Tài liệu XML đơn giản: Book.xml
Đoạn mã sau minh họa một tài liệu XML đơn giản có tên ” chúng tôi “:
Đoạn mã:
Tệp DTD cho Book.xml
Đoạn mã sau minh họa một tệp DTD có tên “Book.dtd” xác định các phần tử của Tài liệu chúng tôi .
Đoạn mã:
Dòng đầu tiên của đoạn mã xác định phần tử Book là phần tử gốc, lần lượt bao gồm ba phần tử con: ‘Title’, ‘Author’ và ‘Chapter’. Phần còn lại của đoạn mã xác định các phần tử ‘Title’, ‘Author’ và ‘Chapter’ thuộc loại “#PCDATA”.
Lược đồ XML cho Book.xml
Đoạn mã sau thể hiện tệp Lược đồ XML tương ứng được gọi là “Book.xsd” xác định các phần tử của tài liệu XML chúng tôi .
Đoạn mã:
<
xs
:schema
xmlns:
xs
=”http://www.w3.org/2001/XMLSchema”
targetNamespace
=”http://www.booksworld.com”
xmlns
=”http://www.booksworld.com”
Phần tử Book phức tạp vì nó bao quanh các phần tử khác. Các phần tử con Title, Author, Chapter đơn giản hơn vì chúng không chứa các phần tử khác.
Tham chiếu đến chúng tôi trong tài liệu cá thể có tên Book.xml
Đoạn mã sau thể hiện tham chiếu đến tài liệu “Book.dtd” được đặt bên trong tài liệu XML có tên Book.xml.
Đoạn mã:
Tham chiếu đến XML Schema chúng tôi trong tài liệu cá thể có tên Book.xml
Tài liệu XML này có tham chiếu đến một Lược đồ XML.
Đoạn mã sau cùng với đoạn mã trước chứng minh cách lược đồ và DTD được khai báo và tham chiếu trong các tài liệu XML thể hiện.
Đoạn mã:
<
Book
xmlns
=”http://www.booksworld.com”
xmlns:
xsi
=”http://www.w3.org/2001/XMLSchema-instance”
Các lược đồ khắc phục những hạn chế của DTD và cho phép các ứng dụng Web trao đổi dữ liệu XML mạnh mẽ hơn mà không cần dựa vào các công cụ xác thực đặc biệt.
4.1.6. Ưu điểm của lược đồ XML so với DTD
Lược đồ XML cung cấp một loạt các tính năng mới:
Ø Kiểu dữ liệu Richer
Bản thảo lược đồ xác định các kiểu boolean, số, ngày và giờ, URI, số nguyên, số thập phân, số thực và cả khoảng thời gian.
Ø Kiểu mẫu
Một kiểu mẫu cho phép xác định kiểu dữ liệu được đặt tên riêng từ các kiểu dữ liệu đã có từ trước. Ví dụ: người ta có thể xác định kiểu dữ liệu ‘Danh sách liên hệ’, sau đó xác định hai phần tử, “Danh sách bạn bè” và ‘Danh sách chính thức’ theo kiểu đó.
Ø Nhóm thuộc tính
Có thể có các thuộc tính chung áp dụng cho tất cả các phần tử hoặc một số thuộc tính bao gồm các phần tử đồ họa hoặc bảng. Nhóm thuộc tính cho phép tác giả lược đồ làm cho mối quan hệ này rõ ràng.
Ø Các kiểu mẫu có thể xác định lại
Một DTD tuân theo kiểu mô hình ‘đóng’. Nó mô tả tất cả, và chỉ những phần tử và thuộc tính có thể xuất hiện trong nội dung của phần tử. Lược đồ XML cho phép thêm hai khả năng: ‘mở’ và ‘có thể nạp lại’. Trong mô hình nội dung ‘mở’, các phần tử khác với các phần tử bắt buộc cũng có thể có mặt. Các phần tử bổ sung có thể có trong mô hình nội dung có thể tái tạo lại, nhưng lược đồ phải xác định các phần tử bổ sung đó.
Đoạn mã:
Đoạn mã sau minh họa một tệp lược đồ mẫu: mail.xsd
<
xs
:schema
xmlns:
xs
=”http://www.w3.org/2001/XMLSchema”
targetNamespace
=”http://www.abc.com”
xmlns
=”http://www.abc.com”
Đoạn mã sau minh họa Tệp XML mẫu có tham chiếu đến giản đồ: mail.xml
<
xmlns
=”http://www.abc.com”
xmlns:
xsi
=”http://www.w3.org/2001/XMLSchema-instance”
Kiểm tra kiến thức bài 4.1
1. Câu nào trong số các câu sau về lược đồ là đúng và câu nào là sai?
(A)
Lược đồ XML xác định cấu trúc của một tài liệu XML.
(B)
Lược đồ XML là một tiện ích bổ sung dựa trên XML cho các DTD.
(C)
Cú pháp XML được sử dụng làm cơ sở để tạo một lược đồ, vì vậy nó có thể được lưu trữ với cùng một phần mở rộng .xml (dot XML).
(D)
Lược đồ XML xác định số lượng phần tử con có thể xuất hiện trong một tài liệu XML.
(LÀ)
Một Lược đồ XML xác định xem một phần tử trống hay có thể bao gồm văn bản.
2. Bạn có thể kết hợp các tính năng khác nhau cho DTD và lược đồ với mô tả tương ứng của chúng không?
Sự miêu tả
Đặc tính
(A)
Cho phép xác định kiểu dữ liệu được đặt tên riêng từ các kiểu dữ liệu đã có từ trước.
(1)
Nhóm thuộc tính
(B)
Cho phép tác giả giản đồ làm cho các thuộc tính chung áp dụng cho tất cả các phần tử hoặc một số thuộc tính bao gồm các phần tử đồ họa hoặc bảng.
(2)
Hỗ trợ không gian tên
(C)
Mô tả các phần tử không bắt buộc phải có trong tài liệu XML.
(3)
Mô hình đóng
(D)
Chỉ mô tả những phần tử và thuộc tính có thể xuất hiện trong nội dung của phần tử.
(4)
Cổ mẫu
(LÀ)
Cho phép xác thực các tài liệu sử dụng đánh dấu từ nhiều không gian tên.
(5)
Mở mô hình
Giải Bài Tập Sbt Địa Lý 9 Bài 4: Lao Động Và Việc Làm
Giải bài tập SBT Địa lý 9 bài 4: Lao động và việc làm – Chất lượng cuộc sống
Giải bài tập môn Địa lý lớp 9
Bài tập môn Địa lý lớp 9
Giải bài tập SBT Địa lí 9 bài 4: Lao động và việc làm – Chất lượng cuộc sống được VnDoc sưu tầm và đăng tải, tổng hợp lý thuyết. Đây là lời giải hay cho các câu hỏi trong sách bài tập nằm trong chương trình giảng dạy môn Địa lí lớp 9. Hi vọng rằng đây sẽ là những tài liệu hữu ích trong công tác giảng dạy và học tập của quý thầy cô và các em học sinh.
Giải bài tập SBT Địa lý 9 bài 2: Dân số và sự gia tăng dân số
Giải bài tập SBT Địa lý 9 bài 3: Phân bố dân cư và các loại hình quần cư
Giải bài tập SBT Địa lý 9 bài 5: Thực hành phân tích và so sánh tháp dân số năm 1989 và năm 1999
Câu 1: Nhận xét về sự thay đổi trong cơ cấu sử dụng lao động phân theo thành phần kinh tế ở nước ta và ý nghĩa của sự thay đổi đó.
Dựa vào bảng 4.2:
Bảng 4.2. CƠ CẤU SỬ DỤNG LAO ĐỘNG PHÂN THEO THÀNH PHẦN KINH TẾ Ở NUỚC TA QUA CÁC NĂM
Hướng dẫn trả lời:
Nhận xét:
Trong thời kì trên cơ cấu sử dụng lao động phân theo thành phần kinh tế ở nước tat hay đổi theo hướng:
Tỉ lệ lao động của khu vực nhà nước giảm dần.
Tỉ lệ lao động của các khu vực kinh tế khác tăng dần.
Ý nghĩa:
Phát huy ngày càng tốt hơn các thành phần kinh tế, các nguồn lực ở trong và ngoài nước.
Tạo điều kiện sử dụng hợp lí nguồn lao động, góp phần giải quyết việc làm.
Khẳng định nền kinh tế nước ta là nền kinh tế nhiều thành phần, tạo sức hút đối với các nhà đầu tư nước ngoài.
Câu 2: Nhận xét tình hình thất nghiệp và thiếu việc làm ở thành thị và nông thôn của cả nước, Đồng bằng sông Hồng và Đồng bằng sông Cửu Long.
Bảng 4.3. TỈ LỆ THẤT NGHIỆP VÀ TỈ LỆ THIẾU VIỆC LÀM CỦA LỰC LƯỢNG LAO ĐỘNG TRONG ĐỘ TUỔI Ở NƯỚC TA VÀ CÁC VÙNG, NĂM 2011
(Đơn vị: %)
Hướng dẫn trả lời:
Tỉ lệ thất nghiệp ở thành thị thường cao hơn nông thôn kể cả trên phạm vi toàn quốc cũng như ở Đồng bằng sông Hồng và Đồng bằng sông Cửu Long.
Tỉ lệ thiếu việc làm thì ngược lại cao hơn thành thị; tỉ lệ thất nghiệp cũng như thiếu việc làm ở Đồng bằng sông Hồng cao hơn so với Đồng bằng sông Cửu Long.
Câu 3: Nhận xét sự chênh lệch về thu nhập bình quân đầu người giữa thành thị và nông thôn so với trung bình cả nước
Căn cứ vào bảng 4.4
Bảng 4.4. THU NHẬP BÌNH QUÂN ĐẦU NGUỜI TRÊN THÁNG THEO GIÁ THỰC TẾ CỦA CÁC KHƯ VỰC NUỚC TA, NĂM 2010 (Đơn vị: nghìn đồng)
Hướng dẫn trả lời:
So với trung bình cả nước, thu nhập ở thành thị cao hơn, ở nông thôn lại thấp hơn.
Giải Phóng Cả Gb Bộ Nhớ Cho Iphone 7 Với Vài Mẹo Đơn Giản
1./ Xóa các ứng dụng, game ít dùng
Game và những ứng dụng mà bạn cài trên điện thoại iPhone 7 chính là nguyên nhân làm dung lượng bộ nhớ thiết bị cạn kiệt nhanh chóng. Vì thế, hãy vào trung tâm ứng dụng kiểm tra xem có những game hay ứng dụng nào không cần thiết hoặc không xài thì hãy gỡ bỏ ngay. Điều này sẽ giúp bạn giải phóng một lượng lớn dung lượng bộ nhớ cho iPhone 7.
Bạn có biết không, tin nhắn cũng làm một trong những ứng dụng tiêu tốn dung lượng lớn. Đặc biệt nếu như bạn dùng iMessage để gửi hình ảnh, video v.v.. Hoặc nhiều tin nhắn rác từ nhà mạng. Vì thế nên xóa tin nhắn thường xuyên. Ngoài ra, IOS cũng cho phép tùy chọn thời gian lưu trữ tin nhắn. Nếu muốn bạn có thể dùng và điều chỉnh thời gian cho phù hợp.
Cách điều chỉnh như sau: Bạn vào Cài đặt, chọn Tin nhắn và sau đó vào Lưu tin nhắn và chọn 30 ngày hoặc 1 năm. Với tùy chọn này, hệ thống sẽ tự động xóa các tin nhắn cũ sau thời gian tùy chọn.
3./ Ngừng sử dụng “kho ảnh của tôi”
My Photo Stream (kho ảnh của tôi) là một tính năng sẵn có trên iCloud với chức năng đồng bộ hình ảnh từ điện thoại trên tất cả các thiết bị. Điều đó có nghĩa là hình ảnh bạn chụp trên iPad sẽ được đồng bộ trên iPhone không cần dây hay gì cả. Nếu bạn là tín đồ “sống ảo” và không muốn sử dụng tính năng này thì hãy tắt đi ngay.
4./ Tắt tính năng giữ ảnh gốc khi chụp HDR
5./ Dùng Google Driver hay Dropbox để lưu trữ
Bạn đang gặp tình trạng đầy bộ nhớ iPhone 7 và không muốn loại nhiều hình ảnh, tài liệu khỏi điện thoại. Có cách cho bạn đây, vừa tiết kiệm dung lượng bộ nhớ iPhone 7 lại được sao lưu tự động trên các dịch vụ lưu dựa trên đám mây.
Google Driver là một trong những dịch vụ tốt nhất bởi nó không chỉ lưu trữ không giới hạn ảnh độ phân giải thấp hơn 2.048 x 2.048 pixel, video thời gian ít hơn 15 phút mà còn miễn phí.
Cập nhật thông tin chi tiết về Xml: Bài 4.4. Làm Việc Với Kiểu Đơn Giản trên website Ictu-hanoi.edu.vn. Hy vọng nội dung bài viết sẽ đáp ứng được nhu cầu của bạn, chúng tôi sẽ thường xuyên cập nhật mới nội dung để bạn nhận được thông tin nhanh chóng và chính xác nhất. Chúc bạn một ngày tốt lành!