Bài giảng XML - Chương 2: XML Schema (Lược đồ XML)

Schema là một giải pháp tổng quát hoá DTD. Nó mô tả cấu trúc một tài liệu XML.

 Nó xác định:

+Tập hợp các thành phần chứa bên trong tài liệu XML.

+Cung cấp các qui tắc về cách kết hợp các phần tử.

 

 

 

ppt74 trang | Chuyên mục: XML | Chia sẻ: dkS00TYs | Lượt xem: 5429 | Lượt tải: 1download
Tóm tắt nội dung Bài giảng XML - Chương 2: XML Schema (Lược đồ XML), để xem tài liệu hoàn chỉnh bạn click vào nút "TẢI VỀ" ở trên
* XML Sshema * CHƯƠNG 2 XML SCHEMA (LƯỢC ĐỒ XML) * XML Sshema * Chương 2 : XML Schema Khái niệm cơ bản về lược đồ XML Cấu trúc lược đồ Các kiểu dữ liệu cho lược đồ * XML Sshema * I. Khái niệm về lược đồ XML Khái niệm Cú pháp Không gian tên Các loại khai báo phần tử cho lược đồ * XML Sshema * Khái niệm lược đồ Schema là một giải pháp tổng quát hoá DTD. Nó mô tả cấu trúc một tài liệu XML. Nó xác định: +Tập hợp các thành phần chứa bên trong tài liệu XML. +Cung cấp các qui tắc về cách kết hợp các phần tử. * XML Sshema * Khái niệm lược đồ (tt) Cụ thể, nó định nghĩa: + Các phần tử và thứ tự xuất hiện của các phần tử trong tài liệu. + Các thuộc tính và kiểu dữ liệu của các thuộc tính xuất hiện trong tài liệu . + Có thể định nghĩa ra các kiểu dữ liệu mới. * XML Sshema * Lịch sử Schama được định nghĩa bởi tổ chức W3C. Microsoft là nhà phát triển hổ trợ schema mạnh mẽ nhất. * XML Sshema * Ưu điểm của schema Tuy không đơn giản hơn DTD nhưng Schema tỏ ra mạnh mẽ và chính xác hơn. Ưu điểm nổi bật của schema là nó cho phép định nghĩa và khai báo kiểu dữ liệu thực sự mà bạn muốn sử dụng. * XML Sshema * Lưu ý về cú pháp Phần tử không rỗng phải có tag mở và đóng Phần tử rỗng phải kết thúc bằng Thuộc tính phải có giá trị và giá trị được đặt trong cặp dấu nháy “” Các phần tử lồng vào nhau phải đúng qui tắc * XML Sshema * Không gian tên Không gian tên :  Khi đó dùng tiền tố xsd (XML Schema Definition) làm tiền tố cho các phần tử Không gian tên:  Khi đó dùng tiền tố xsi (XML Schema Instance) làm tiền tố cho các phần tử * XML Sshema * Các loại khai báo phần tử cho lược đồ Các phần tử chứa các phần tử con và có thể chứa nhiều thuộc tính gọi là kiểu phức hợp (complex types). Các phần tử chỉ chứa dữ liệu đơn giản như chuỗi, số, ngày tháng – không chứa các thuộc tính – không chứa các phần tử con gọi là kiểu đơn giản (simple types). * XML Sshema * Complex type Cú pháp: Định nghĩa nội dung mà phần tử có thể chứa * XML Sshema * Complex type (tt) Ví dụ 1 Ví dụ 2 * XML Sshema * Simple type Các phần tử chỉ chứa dữ liệu đơn giản như chuỗi, số, ngày tháng – không chứa các thuộc tính – không chứa các phần tử con Có thể xây dựng ra kiểu dữ liệu mới được dẫn xuất từ kiểu dữ liệu cơ bản (giới hạn miền giá trị, định nghĩa kiểu giá trị liệt kê) * XML Sshema * Simple type (tt) Cú pháp: * XML Sshema * Ví dụ simpleType 	 	 	 	 * XML Sshema * II. Cấu trúc lược đồ XML Cấu trúc của lược đồ Khai báo phần tử Mô hình nội dung cho phần tử chứa trong lược đồ Khai báo thuộc tính Khai báo phần tử và thuộc tính toàn cục và cục bộ Một số phần tử có sẵn trong lược đồ Một số thuộc tính có sẵn * XML Sshema * Cấu trúc lược đồ Cú pháp: Dạng 1: Định nghĩa cấu trúc lược đồ * XML Sshema * Cấu trúc lược đồ (tt) Ví dụ: …… * XML Sshema * Cấu trúc lược đồ (tt) Cú pháp: Dạng 2: Định nghĩa cấu trúc lược đồ * XML Sshema * Cấu trúc lược đồ (tt) Ví dụ: …… * XML Sshema * Khai báo phần tử Dùng từ khoá element để khai báo một phần tử trong lược đồ Dùng thuộc tính name để đặt tên cho phần tử Dùng thuộc tính type để chỉ định kiểu dữ liệu cho phần tử * XML Sshema * Khai báo phần tử Cú pháp: Hoặc: * XML Sshema * Mô hình nội dung của phần tử Tuần tự (sequence) Chọn lựa (choice) Phần tử rỗng Nội dung hỗn hợp Giới hạn dữ liệu cho phần tử Tạo giá trị liệt kê cho phần tử Tạo nhóm Nhóm all Chú thích trong lược đồ * XML Sshema * Tuần tự (sequence) Xác định thứ tự xuất hiện các phần tử sequence có thể chứa thuộc tính minOccurs và maxOccurs . Cú pháp 	Định nghĩa các phần tử con Ví dụ * XML Sshema * Chọn lựa (choice) Chỉ chọn 1 phần tử trong nhóm các phần tử được định nghĩa choice có thể chứa thuộc tính minOccurs và maxOccurs . Cú pháp: Định nghĩa danh sách các phần tử có thể chọn Ví dụ * XML Sshema * Chứa nội dung hỗn hợp Phần tử có thể chứa văn bản và phần tử con Phải khai báo thuộc tính mixed=“true” trong khai báo kiểu dữ liệu cho phần tử * XML Sshema * Chứa nội dung hỗn hợp Cú pháp (ví dụ ) 	Định nghĩa các phần tử con mà nó chứa	 * XML Sshema * Khai báo phần tử rỗng Xây dựng phần tử rỗng bằng cách khai báo phần tử có kiểu là complexType nhưng không chứa nội dung Cú pháp: * XML Sshema * Ví dụ phần tử rỗng 	 	 	 	 * XML Sshema * Giới hạn dữ liệu cho phần tử Là hình thức giới hạn miền giá trị cho một kiểu dữ liệu nào đó hoặc tạo ra một kiểu dữ liệu đơn giản được dẫn xuất từ các kiểu dữ liệu có sẵn. Cú pháp: * XML Sshema * Giới hạn dữ liệu cho phần tử Ví dụ: * XML Sshema * Tạo dữ liệu dạng liệt kê Là hình thức tạo ra một số giá trị mà phần tử có thể nhận được Cú pháp: 	 * XML Sshema * Ví dụ tạo dữ liệu liệt kê 	 	 	 	 	 	 	 	 * XML Sshema * Tạo nhóm Cú pháp: 	 	 	 	……………… 	 * XML Sshema * Tạo nhóm (tt) Ví dụ: * XML Sshema * Nhóm all Nhóm all: không có thứ tự, xuất hiện tối đa một lần Cú pháp: 	 	 	 	……………………… 	 	 * XML Sshema * Chú thích trong lược đồ Cú pháp: 	Nội dung 	 	Nội dung diễn giải tư liệu 	 * XML Sshema * Khai báo thuộc tính Dùng từ khoá attribute để khai báo và đặt trong phần khai báo kiểu dữ liệu cho phần tử Cú pháp * XML Sshema * Ví dụ về khai báo thuộc tính 	 	 	 * XML Sshema * Một số giá trị cho thuộc tính use + prohibited + optional + required + default + fixed * XML Sshema * Thuộc tính nhóm Là hình thức định nghĩa ra một danh sách các thuộc tính. Muốn dùng nhóm thuộc tính này cho phần tử nào đó ta dùng thuộc tính ref để tham chiếu tới. * XML Sshema * Thuộc tính nhóm (tt) Cú pháp: 	 	 …………………………… * XML Sshema * Thuộc tính nhóm (tt) Cú pháp: 	 	Define content 	 	 * XML Sshema * PHẦN TỬ CHỨA DỮ LIỆU CƠ BẢN VÀ CÓ THUỘC TÍNH 	 	 	 * XML Sshema * PHẦN TỬ CHỨA DỮ LIỆU CƠ BẢN VÀ CÓ THUỘC TÍNH – VÍ DỤ 	 	 	 * XML Sshema * ĐỊNH NGHĨA KIỂU MỞ RỘNG 	 	 	 	 	 * XML Sshema * 	 * XML Sshema * 	 	 	 	 	 	 	 	 	 	 	 	 * XML Sshema * 	 	 	 	 	 	 	 	 	 	 * XML Sshema * 	 	 	 	 	 	 	 	 * XML Sshema * Khai báo phần tử và thuộc tính toàn cục và cục bộ Khai báo cục bộ Khai báo toàn cục Cách sử dụng phần tử , thuộc tính toàn cục,cục bộ Ví dụ * XML Sshema * Khai báo cục bộ Là hình thức khai báo các phần tử, thuộc tính chứa trong một phần tử khác hoặc được định nghĩa bên trong một kiểu dữ liệu phức hợp Phạm vi sử dụng: không được phép sử dụng bên ngoài khai báo này * XML Sshema * Ví dụ khai báo cục bộ 	 	 	 	 	 	 	 	 	 * XML Sshema * Khai báo toàn cục Là hình thức khai báo ở bất kỳ vị trí nào bên trong lược đồ nhưng không chứa bên trong các phần tử và định nghĩa các kiểu dữ liệu phức hợp Phạm vi sử dụng: được sử dụng trong toàn bộ lược đồ. * XML Sshema * Ví dụ khai báo toàn cục 	 * XML Sshema * Sử dụng phần tử, thuộc tính toàn cục và cục bộ Để sử dụng các phần tử toàn cục hay cục bộ ta dùng thuộc tính ref để tham chiếu đến phần tử hoặc thuộc tình cần sử dụng Cú pháp: * XML Sshema * Một số phần tử có sẵn trong lược đồ include (ví dụ) và import (ví dụ) minInclusive , maxInclusive minExclusive , maxExclusive restriction ,enumeration key (tạo khoá chính cho lược đồ) keyref (tạo khoá ngoạI cho lược đồ) * XML Sshema * Ví dụ include 	 	 * XML Sshema * File AddressType.xsd 	 	 	 	 	 * XML Sshema * Ví dụ import 	 	 * XML Sshema * key Vị trí khai báo: chứa trong của phần tử Cú pháp 	 	 * XML Sshema * keyref Vị trí khai báo: chứa trong của phần tử Cú pháp 	 	 * XML Sshema * Ví dụ tạo khoá chính 	 	 	 ...................... 	 	 	 	 	 	 	 * XML Sshema * Ví dụ tạo khoá ngoại 	 	 	......... 	 	 	 	 	 	 * XML Sshema * Một số thuộc tính xây dựng sẵn nillable noNamespaceSchemaLocation targetNamespcae attributeFormDefault elementFormDefault schemaLocation namespace * XML Sshema * III. Các kiểu dữ liệu cho lược đồ Các kiểu dữ liệu cơ bản Các kiểu dữ liệu xây dựng sẵn được dẫn xuất (derived) từ kiểu dữ liệu cơ bản Các kiểu dữ liệu do người sử dụng định nghĩa (complexType and simpleType) * XML Sshema * Các kiểu dữ liệu cơ bản (chính:Primitive data type) Boolean String URIs Numeric types Time types XML types * XML Sshema * Các kiểu dữ liệu dẫn xuất từ kiểu cơ bản Một số kiểu dữ liệu được dẫn xuất từ kiểu cơ bản Cách định dạng các kiểu dữ liệu * XML Sshema * Một số kiểu dữ liệu dẫn xuất từ kiểu cơ bản ID , IDREF ,IDREFS Name , NCName integer , int , long ,short nonPositiveInteger, negativeInteger, positivInteger, nonNegativeInteger Ví dụ * XML Sshema * Cách định dạng các kiểu dữ liệu (1) length	 minLength maxLength union enumeration maxInclusive * XML Sshema * Cách định dạng các kiểu dữ liệu (2) maxExclusive minInclusive minExclusive totalDigits fractionDigits * XML Sshema * Facets maxExclusive,maxInclusive, minExclusive,minInclusive Xác định minimum and maximum giá trị cho phép Áp dụng cho các kiểu dữ liệu byte, unsignedByte, integer, positiveInteger, negativeInteger, nonNegativeInteger, nonPositiveInteger, int, unsignedInt, long, number, unsignedLong, short, unsignedShort, number, float, double, time, dateTime, duration, date, gMonth, gYear, gDay, and gMonthDay. * XML Sshema * Facets : totalDigits và  fractionDigits totalDigits xác định tối đa có bao nhiêu số thập phân fractionDigits: xác định tối đa có bao nhiêu chữ số thập phân sau dấu phẩy Áp dụng cho các kiểu dữ liệu:byte, unsignedByte, integer, positiveInteger, negativeInteger, nonNegativeInteger, nonPositiveInteger, int, unsignedInt, long, unsignedLong, short, and unsignedShort. Không dùng cho số float và double * XML Sshema * HƯỚNG DẪN SỬ DỤNG XML SPY ĐỂ TẠO LƯỢC ĐỒ * XML Sshema * 											 

File đính kèm:

  • pptBài giảng XML - Chương 2 XML Schema (Lược đồ XML).ppt
Tài liệu liên quan