1. Trang chủ
  2. » Giáo án - Bài giảng

Chương 4. Ngôn ngữ đánh dấu mở rộng XML SLIDE GIẢNG DẠY MÔN XML

51 675 1

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 51
Dung lượng 577,5 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

 MỤC TIÊU- Trình bày được: + Các khái niệm trong XML + Định nghĩa kiểu tư liệu - DTD+ Ngôn ngữ định dạng dữ liệu+ Ngôn ngữ tạo liên kết - Tạo được tài liệu XML hợp lệ, hợp khuôn dạng -

Trang 1

CHƯƠNG 4

XML

CƠ SỞ DỮ LIỆU WEB & XML

Trang 2

4.1 Tổng quan về XML

4.2 Định nghĩa kiểu dữ liệu - DTD

4.3 Ngôn ngữ định dạng

4.4 Liên kết

Chương 4: XML

Trang 3

 MỤC TIÊU

- Trình bày được:

+ Các khái niệm trong XML + Định nghĩa kiểu tư liệu - DTD+ Ngôn ngữ định dạng dữ liệu+ Ngôn ngữ tạo liên kết

- Tạo được tài liệu XML hợp lệ, hợp khuôn dạng

- Áp dụng để tạo cấu trúc tài liệu

Chương 4: XML

Trang 4

4.1.1 Giới thiệu

XML - eXtensible Markup Language

là ngôn ngữ xây dựng cấu trúc tài liệu văn bản

 dựa theo chuẩn SGML (Standard Generalized Markup

Language)

 W3C phát triển

 tương tự như cơ sở dữ liệu

 dùng văn bản (text) để mô tả thông tin

4.1 Tổng quan về XML

Trang 5

4.1.1 Giới thiệu

 Đơn vị cơ sở của XML là các ký tự

 Tài liệu xml gồm một hoặc nhiều thực thể (mỗi thực thể thường là một phần)

 XML có thể dùng cho nhiều loại dữ liệu

4.1 Tổng quan về XML

Trang 6

4.1.1 Giới thiệu

Có ba loại văn bản XML:

 Văn bản không hợp lệ: không theo nguyên tắc cú pháp

được quy định bởi đặc tính kỹ thuật XML

 Văn bản hợp lệ: tuân theo nguyên tắc cú pháp XML và quy định trong DTD hoặc lược đồ

 Văn bản chuẩn tuân: theo quy tắc cú pháp XML nhưng

không có DTD hoặc lược đồ.

4.1 Tổng quan về XML

Trang 7

4.1.1 Giới thiệu

ví dụ:

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

<book isbn="978-1594489501">

<title> A Thousand Splendid Suns </title>

<author> Khaled Hosseini </author>

<publisher> Riverhead Hardcover </publisher>

<amazon_price> 14.27 </amazon_price>

</book>

4.1 Tổng quan về XML

Trang 8

4.1.1 Giới thiệu

Các đặc điểm của XML:

 Dễ dàng viết được các chương trình xử lý dữ liệu

 Tài liệu XML dễ đọc và có tính hợp lý cao

 XML dễ dàng được sử dụng trên Internet

 XML hỗ trợ nhiều ứng dụng

 Không đặt nặng tính hình thức trong nội dung thẻ

4.1 Tổng quan về XML

Trang 9

4.1.2 Cấu trúc một tài liệu XML

Một tài liệu XML được chia thành hai phần chính:

- Phần khai báo: khai báo cho tài liệu XML

 khai báo phiên bản, bảng mã ký tự sử dụng trong tài liệu

 định nghĩa kiểu cho tài liệu

Khai báo có thể có hoặc không Nếu có, nó phải là ở dòng đầu tiên trong văn bản

Ví dụ:

<?xml version="1.0" encoding="ISO-8859-1" standalone="no"?>

4.1 Tổng quan về XML

Trang 10

4.1.2 Cấu trúc một tài liệu XML

Một tài liệu XML được chia thành hai phần chính:

- Phần thân: chứa nội dung dữ liệu

 gồm một hay nhiều phần tử,

 mỗi phần tử được chứa trong một cặp thẻ

 phần tử đầu tiên là phần tử gốc (root element)

4.1 Tổng quan về XML

Trang 11

4.1.2 Cấu trúc một tài liệu XML

Ví dụ:

<EMAIL>

<FROM> Peter@gmail.com </FROM>

<TO> Jhon@gmail.com </TO>

<SUBJECT> Invitation </SUBJECT>

<CC> marry@yahoo.com </CC>

</EMAIL>

4.1 Tổng quan về XML

Trang 12

4.1.2 Cấu trúc một tài liệu XML

Một tài liệu XML được coi là hợp khuôn dạng (well-form) nếu:

 các khai báo đặt tại dòng đầu tiên của tài liệu

 chỉ có một thành phần gốc (root)

 mỗi phần tử của tài liệu phải được nằm trong một cặp thẻ

 Các thành phần đều nằm giữa cặp thẻ gốc và phải lồng nhau một cách hợp lý

 các cặp thẻ phải được viết chính xác như nhau

 giá trị của thuộc tính phải nằm giữa ngoặc kép hoặc đơn

4.1 Tổng quan về XML

Trang 13

4.1.2 Cấu trúc một tài liệu XML

- Phần tử gốc

chứa tất cả các phần tử trong văn bản:

<?xml version="1.0"?>

Trang 14

4.1.2 Cấu trúc một tài liệu XML

Trang 15

4.1.2 Cấu trúc một tài liệu XML

- Phần tử

Thuộc tính cho phép xác định thêm thông tin và ý nghĩa của thẻ

 một phần tử có thể chứa các thuộc tính được đặt trong thẻ bắt đầu, ngay sau tên phần tử

 Giá trị của thuộc tính phải được đặt trong cặp nháy đơn hoặc nháy kép

 mỗi tên thuộc tính chỉ được xuất hiện một lần trong mỗi phần tử

4.1 Tổng quan về XML

Trang 16

4.1.2 Cấu trúc một tài liệu XML

Trang 17

4.1.2 Cấu trúc một tài liệu XML

 tất cả thông tin được lưu trữ trong các thuộc tính

4.1 Tổng quan về XML

Trang 18

4.1.2 Cấu trúc một tài liệu XML

Trang 19

4.1.2 Cấu trúc một tài liệu XML

- Một số quy tắc cho phần tử

 Mỗi thẻ bắt đầu phải có thẻ kết thúc, hoặc thẻ đóng

 Các thẻ không được chồng gối lên nhau

 Mỗi tài liệu XML có duy nhất một phần tử gốc

 Tên của phần tử phải tuân theo quy ước đặt tên của XML

 Phân biệt chữ hoa, chữ thường

 Các phần tử lồng nhau là cấu trúc quan trọng trong XML

4.1 Tổng quan về XML

Trang 20

4.1.2 Cấu trúc một tài liệu XML

- Quy tắc đặt tên phần tử

 bắt đầu bằng các ký tự hay dấu ”_”, không được bắt đầu bằng số hay dấu câu

 sau ký tự đầu tiên, có thể dùng số, “-“ và “.”

 không được chứa khoảng trống, dấu hai chấm “:”

 không được bắt đầu bởi nhóm ký tự “xml”

 không được chứa ký tự trống ngay sau dấu mở “<”, nhưng

có thể chứa ký tự trống ngay trước dấu đóng “>”

4.1 Tổng quan về XML

Trang 21

4.1.2 Cấu trúc một tài liệu XML

Ví dụ: đặc tả thông tin về Jane

<?xml version = “1.0” encoding = 8”?>

“UTF-<label>

<name> Jane Smith </name>

<address street = "270 Burlington Road"

Trang 22

4.1.2 Cấu trúc một tài liệu XML

- Chú thích:

 có thể xuất hiện bất cứ đâu trong văn bản

 bắt đầu bằng “<! ” và kết thúc bằng “ >”

 không thể chứa một dấu nối kép “—”

 chú thích có thể chứa bất cứ nội dung gì

Trang 23

4.1.2 Cấu trúc một tài liệu XML

Trang 24

4.1.3 Tài liệu XML hợp khuôn dạng, hợp lệ

- Một tài liệu XML được xem là hợp khuôn dạng nếu:

 đảm bảo những quy tắc cú pháp thiết lập cho XML bởi tổ chức W3C (XML 1.0 - các luật về thẻ, phần tử, thuộc tính, giá trị,…)

 nói cách khác tài liệu XML hợp khuôn dạng là tài liệu XML

có cấu trúc đúng

4.1 Tổng quan về XML

Trang 25

4.1.3 Tài liệu XML hợp khuôn dạng, hợp lệ

- Để hợp khuôn dạng, tài liệu XML phải đúng các luật sau đây:

 Có một phần tử gốc duy nhất, chứa tất cả phần tử khác

 Mỗi thẻ mở phải có một thẻ đóng giống như nó

 Mỗi phần tử con nằm trọn bên trong phần tử cha của nó

 Giá trị thuộc tính trong XML phải được đặt giữa một cặp ngoặc kép hay một cặp ngoặc đơn

4.1 Tổng quan về XML

Trang 26

4.1.3 Tài liệu XML hợp khuôn dạng, hợp lệ

- Tài liệu xml hợp lệ khi nó là tài liệu được kết hợp với định nghĩa kiểu dữ liệu (DTD) và tuân theo các chuẩn của DTD

- Hầu hết các trình duyệt kiểm tra tính hợp khuôn dạng trước

Tiếp theo một vài trình duyệt có thể kiểm tra thêm tính hợp lệ của tài liệu xml

4.1 Tổng quan về XML

Trang 27

4.1.4 Kiểu dữ liệu

XML có hai nhóm kiểu dữ liệu là kiểu ghép và kiểu cơ bản

 Kiểu ghép là kiểu chứa các phần tử con trong nó hoặc

chứa thêm thuộc tính

 Kiểu cơ bản là các kiểu nội tại đã được định nghĩa sẵn

4.1 Tổng quan về XML

Trang 28

4.1.4 Kiểu dữ liệu

- Kiểu cơ bản

4.1 Tổng quan về XML

Binary Kiểu dữ liệu nhị phânBoolean Kiểu luận lý

Byte Kiểu byte

Decimal Kiểu thập phân

Double Kiểu số thực 64-bitString Kiểu chuỗi

Date Kiểu ngày

Month Kiểu tháng (ví dụ 4, 6)

Century Kiểu thế kỷ (ví dụ 20)

Trang 29

4.1.4 Kiểu dữ liệu

- Kiểu cơ bản

4.1 Tổng quan về XML

Int, integer Kiểu số nguyên

Id Kiểu định danh

Entity Kiểu thực thể

Entities Kiểu đa thực thể

Idref Kiểu tham chiếu định danh

Notation Kiểu ghi chú

NMToken Kiểu Token đơn

NMTokensKiểu đa Token

Trang 30

4.1.4 Kiểu dữ liệu

- Kiểu ghép

cấu trúc gồm có hai hay nhiều kiểu dữ liệu đơn giản

lập trình viên có thể tự định nghĩa các kiểu dữ liệu này

4.1 Tổng quan về XML

Trang 31

4.2.1 Định nghĩa dữ liệu

định nghĩa kiểu dữ liệu (Data Type Definition – DTD) là định

nghĩa kiểu dữ liệu cho các phần tử

 DTD mô tả các quy tắc cấu trúc của tài liệu

 Liệt kê các phần tử, thuộc tính và các thực thể có thể được

sử dụng trong tài liệu

 Cấu trúc của DTD phân cấp theo dạng hình cây

 DTD phải theo cú pháp qui định của W3C

 Có hai loại DTD (Nội và ngoại)

4.2 Định nghĩa kiểu dữ liệu - DTD

Trang 32

>

Ví dụ Khai báo DTD lưu trữ toàn bộ thông tin của một Email

4.2 Định nghĩa kiểu dữ liệu - DTD

Trang 33

4.2 Định nghĩa kiểu dữ liệu - DTD

<!ELEMENT SUBJECT (#PCDATA)>

<!ELEMENT BODY (#PCDATA)>

]>

<EMAIL>

<TO> Smith@gmail.com </TO>

<FROM> John@yahoo.com </FROM>

<CC> peter@hotmail.com </CC>

<SUBJECT> Play a game <SUBJECT>

<BODY> We have a game on this Sunday </BODY>

</EMAIL>

Trang 34

4.2.1 Định nghĩa dữ liệu

Khi khai báo một phần tử có khả năng chứa nhiều phần tử con

 chúng ta phải lặp lại khai báo <ELEMENT>

 sử dụng các ký tự đại diện (*)

Ví dụ:

<?xml version="1.0"?>

<!DOCTYPE EMAILS [

<!ELEMENT EMAILS ( EMAIL ) * >

<!ELEMENT EMAIL (To, From, CC, Subject,Body)>

]>

4.2 Định nghĩa kiểu dữ liệu - DTD

Trang 35

4.2.1 Định nghĩa dữ liệu

Một số nguyên tắc sử dụng ký tự đại diện

Giả sử a, b là hai phần tử con muốn khai báo và định nghĩa

 a*: Không có hoặc có nhiều phần tử con giống nhau

 a+: Có một hoặc nhiều phần tử con giống nhau

 a?: Phần tử a hoặc không có phần tử nào cả

 a, b: Phần tử a tiếp đến là phần tử b

 a|b: Phần tử a hoặc b nhưng không được cả hai

 (expresstion) Tập các phần tử expresstion trong cặp ngoặc

sẽ ảnh hưởng bởi ký tự đại diện *, + hoặc ?

4.2 Định nghĩa kiểu dữ liệu - DTD

Trang 36

4.2.1 Định nghĩa dữ liệu

một DTD có thể chứa các thành phần sau:

 ELEMENT Định nghĩa một phần tử

 ATTRIBUTE Định nghĩa một thuộc tính của một ELEMENT

 ENTITY Định nghĩa một thực thể

 NOTATION Định nghĩa chú thích

 #PCDATA Chứa dữ liệu văn bản

4.2 Định nghĩa kiểu dữ liệu - DTD

Trang 37

4.2.1 Định nghĩa dữ liệu

- Phần tử

phần tử có thể chứa dữ liệu, phần tử con hoặc thuộc tính

<!ELEMENT name content_mode>

 name là tên phần tử;

 content_mode có thể là EMPTY, ANY hoặc cả hai

 ANY: phần tử có thể chứa bất kỳ kiểu nội dung nào kể cả phần tử khác,

trình phân tích sẽ không kiểm tra cú pháp hay xác định tính hợp lệ của nội dung phần tử

4.2 Định nghĩa kiểu dữ liệu - DTD

Trang 38

4.2.1 Định nghĩa dữ liệu

- Phần tử

 EMPTY: Khai báo phần tử rỗng

 phần tử không mang nội dung nhưng có quyền mang giá trị cho thuộc tính

Trang 39

4.2.1 Định nghĩa dữ liệu

- Thuộc tính

Thuộc tính chứa thông tin về phần tử hay nội dung của phần tử

<!ATTLIST element attribute type default>

 element là tên của phần tử

 attribute là tên thuộc tính

 type là kiểu dữ liệu

 default giá trị mặc định

4.2 Định nghĩa kiểu dữ liệu - DTD

Trang 40

4.2.1 Định nghĩa dữ liệu

- Thuộc tính

Ví dụ:

4.2 Định nghĩa kiểu dữ liệu - DTD

<?xml version="1.0" standalone ="yes"? >

<!DOCTYPE DOCUMENT [

<!ELEMENT DOCUMENT (CUSTOMER)*>

<!ELEMENT CUSTOMER (NAME, ORDER, DAY, PRODUCT)>

<!ELEMENT NAME (#PCDATA)>

<!ELEMENT ORDER (#PCDATA)>

<!ELEMENT DAY (#PCDATA)>

<!ELEMENT PRODUCT (#PCDATA)>

<!ATTLIST CUSTUMER TYPE CDATA #IMPLIED>

Trang 41

4.2.1 Định nghĩa dữ liệu

- #PCDATA (Parsed Character Data)

Khai báo phần tử chứa dữ liệu văn bản thô, không định dạng

<!ELEMENT CUSTOMER (#PCDATA)>

Trang 42

4.2.1 Định nghĩa dữ liệu

- #PCDATA (Parsed Character Data)

Ví dụ sau đây là không hợp lệ vì phần #PCDATA chứa phần tử:

4.2 Định nghĩa kiểu dữ liệu - DTD

<?xml version="1.0"?>

<!DOCTYPE DOCUMENT [

<!ELEMENT DOCUMENT (CUSTOMER)*>

<!ELEMENT CUSTOMER (#PCDATA)>

Trang 43

4.2.1 Định nghĩa dữ liệu

- #PCDATA (Parsed Character Data)

Có thể định nghĩa một DTD vừa có khả năng chứa dữ liệu thuần text vừa chứa dữ liệu thể hiện phần định dạng (kiểu nội dung hỗn hợp)

Ví dụ:

4.2 Định nghĩa kiểu dữ liệu - DTD

<!DOCTYPE DOCUMENT [

<!ELEMENT DOCUMENT (CUSTOMER)*>

<!ELEMENT CUSTOMER (NAME, ORDER, PRODUCT)>

<!ELEMENT PRODUCT (#PCDATA | PRODUCT_ID)>

<!ELEMENT PRODUCT_ID (#PCDATA)>

]>

Trang 44

4.2.1 Định nghĩa dữ liệu

- DTD ngoại

dựa trên các DTD đã được định nghĩa sẵn (tệp tin dtd)

ứng dụng XML có thể chia sẻ và dùng chung với ứng dụng khác

Có hai cách tham chiếu ngoại: Tham chiếu ngoại riêng (Peivate DTDs) và tham chiếu ngoại chung (Public DTDs)

4.2 Định nghĩa kiểu dữ liệu - DTD

Trang 45

4.2.1 Định nghĩa dữ liệu

- DTD ngoại dùng riêng

 tham chiếu ngoại riêng được sử dụng cho một nhóm người

và mang tính cá nhân

 khai báo tham chiếu ngoại riêng bằng cách sử dụng từ

khóa SYSTEM trong chỉ thị khai báo <!DOCTYPE>

4.2 Định nghĩa kiểu dữ liệu - DTD

Trang 46

4.2.1 Định nghĩa dữ liệu

- DTD ngoại dùng riêng

Ví dụ:

4.2 Định nghĩa kiểu dữ liệu - DTD

<?xml version="1.0" standalone ="no"? >

<!DOCTYPE DOCUMENT SYSTEM

Trang 47

4.2.1 Định nghĩa dữ liệu

- DTD ngoại dùng riêng

Tệp tin order.dtd như sau:

4.2 Định nghĩa kiểu dữ liệu - DTD

<!ELEMENT DOCUMENT (CUSTOMER)*>

<!ELEMENT CUSTOMER (NAME, ORDER, PRODUCT)>

<!ELEMENT NAME (#PCDATA)>

<!ELEMENT ORDER (#PCDATA)>

<!ELEMENT PRODUCT (#PCDATA )>

Trang 48

4.2.1 Định nghĩa dữ liệu

- DTD ngoại dùng chung

 sử dụng từ khóa PUBLIC vào khai báo <!DOCTYPE>

 cần phải tạo ra một định danh chung hình thức (FPI –

Formal Public Identifier) và tuân theo một số qui tắc cho FPI

- Trường đầu tiên của FPI xác định kết nối DTD đến một chuẩn hình thức Đối với các DTD do chúng ta tự định nghĩa, trường này sẽ là một ký tự chấm (.).

Đối với các chuẩn hình thức, trường này sẽ tự tham chiếu đến chuẩn của

nó (ví dụ như ISO/IEC:13449:2000).

4.2 Định nghĩa kiểu dữ liệu - DTD

Trang 49

- Trường thứ tư chỉ định ngôn ngữ mà định nghĩa TD sử dụng (ví dụ với tiếng Anh chúng ta dùng là EN)

Các trường trong FPI cách nhau bằng cặp dấu sổ trái (//)

4.2 Định nghĩa kiểu dữ liệu - DTD

Trang 50

4.2.1 Định nghĩa dữ liệu

Ví dụ:

4.2 Định nghĩa kiểu dữ liệu - DTD

<?xml version="1.0" standalone ="no"? >

<!DOCTYPE DOCUMENT PUBLIC

".//viethanit//Custom XML Version 1.0//EN"

Trang 51

HỌC GÌ – NHỚ GÌ?

XML

Ngày đăng: 23/06/2017, 16:40

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w