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

Giáo án - Bài giảng: CÔNG NGHỆ XML VÀ ỨNG DỤNG- XPATH &XLST

33 1,4K 3
Tài liệu đã được kiểm tra trùng lặp

Đ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

Tiêu đề Công nghệ XML và Ứng dụng: XPATH & XSLT
Trường học Đại học Khoa học Tự Nhiên
Chuyên ngành Khoa Công nghệ Thông tin
Thể loại Giáo án
Định dạng
Số trang 33
Dung lượng 705,59 KB

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

Nội dung

XPATH & XSLT Công nghệ XML và Ứng dụng: / Đại học Khoa học Tự Nhiên Khoa Công nghệ Thông tin... Nội dungXPATH - Các biểu thức XPATH thông dụng - Axes XSLT Lập trình C#... child:: : Ch

Trang 1

XPATH & XSLT

Công nghệ XML và Ứng dụng:

/ Đại học Khoa học Tự Nhiên

Khoa Công nghệ Thông tin

Trang 2

Nội dung

XPATH

- Các biểu thức XPATH thông dụng

- Axes XSLT Lập trình (C#)

Trang 4

- /AAA/BBB : nút BBB là con của AAA

- /AAA/DDD/CCC : CCC – con DDD – con AAA (gốc)

// : Nút ở độ sâu bất kì // CCC: nút CCC ở độ sâu bất kì

Trang 5

- /AAA/*: Tất cả các nút con trực tiếp của AAA

* : Chọn tất cả các node với tên bất kỳ

-/*/BBB : Tất cả các nút BBB ở cấp thứ 2 ( node con trực tiếp của node gốc )

//*: TẤT CẢ CÁC NODE

Trang 6

- /AAA/BBB[1]: Nút BBB thứ 1 (con của AAA)

[ ] : Truy xuất đến các node theo thứ tự nào đó hoặc theo chỉ mục

Ngoài ra, có thể dùng để chỉ định biểu thức điều kiện chọn lựa node

- /AAA/BBB[2] : Nút BBB thứ 2 (con của AAA)

- /AAA/BBB[ last() ]: Nút BBB cuối cùng

- /AAA/BBB[CCC= “content” ]: Nút BBB thứ

3 (có nút con CCC với nội dung là content )

Trang 9

name() : Lấy tên thẻ, starts-with(), contains() : xử lý chuỗi

- //*[ starts-with ( name (), „E‟)]:

- //*[ contains ( name (), „B‟)]

Những node có tên là DDD Những node có tên bắt đầu bằng „E‟ Những node mà tên có chứa „B‟

string-length() : chiều dài chuỗi

- //*[string-length(name())=3]

Những node có chiều dài tên thẻ là 3

Trang 11

child:: : Chọn tất cả node con của node hiện thời

Trang 15

following-sibling:: : Tất cả các thẻ “em” cùng cấp với node hiện hành

Trang 17

Không overlap nhau

“Or” ( | ) lại sẽ cho kết quả là tất cả các node của tài liệu

Trang 19

XSLT:

• e X tensible S tylesheet L anguage T ransformation

• Sử dụng các khuôn mẫu (template) để biến đổi cây nguồn (source tree) thành cây đích (result tree)

• XSLT chuyển đổi XML thành HTML, PDF, ASCII text, RTF, XML…

• XSLT sử dụng cú pháp XML

• Cách thức hoạt động

• Chương trình sẽ duyệt tài liệu xml (duyệt cây)

• - Với mỗi node khớp với khuôn mẫu định nghĩa trong file XSLT , sẽ được xử lý như định nghĩa trong file XSLT

Trang 20

XSLT Transformation

Engine XSLT

Document

XML Document

Result Document

Trang 22

• Các thẻ XSLT cơ bản:

• <xsl:stylesheet>

• <xsl:template name = “name” match = “xpath”>

• <xsl:value-of select = “xpath”>

• <xsl:attribute>

• <xsl:text>

• <xsl:for-each select = “xpath”>

• <xsl:if test = “condition”>

http://www.w3schools.com/xsl/

Trang 23

Biểu thức XPATH

Trang 24

<xsl:value-of> Rút trích nội dung nằm trong các thẻ XML (

inner text hay thuộc tính của node ) và kết xuất ra file kết quả

Nội dung rút trích được xác định thông qua thuộc tính select

Nếu select trả về một tập các thẻ thì nội dung tất cả các thẻ này

đều được kết xuất ra file kết quả

Trang 25

<xsl:for-each> Duyệt và xử lý thông tin từng thẻ trong tập thẻ kết quả được chọn ra từ thuộc tính select

<root>

<hoten id=“1”>Nguyen Van A</hoten>

<hoten id=“2”>Nguyen Thi B</hoten>

Trang 26

<xsl:sort>: Thực hiện sắp xếp trên file output

<root>

<hoten>Tran Van A</hoten>

<hoten>Nguyen Thi B</hoten>

</root>

<xsl:stylesheet….>

<xsl:template match=“/”>

<xsl:for-each select = “//hoten”>

<xsl:sort order=“ascending” select=“.”/>

Trang 27

<xsl:for-each select = “//value”>

<xsl:sort data-type=“number” select=“.”/>

Trang 28

<xsl:for-each select = “//value”>

<xsl:sort data-type=“number” select=“.”/>

Trang 30

<xsl:apply-templates> Áp dụng template cho node hiện tại hoặc các node con của nó

<root>

<hoten id=“1”>Nguyen Van A</hoten>

<hoten id=“2”>Nguyen Thi B</hoten>

Trang 31

<xsl:element>, <xsl:attribute>

<root>

<sinhvien id=“1”>Nguyen Van A</sinhvien >

<sinhvien id=“2”>Tran Thi B</sinhvien >

Trang 32

Nội dung

XPATH

- Các biểu thức XPATH thông dụng

- Axes XSLT

Lập trình (C#)

Trang 33

Lập trình

XmlDocument xdoc = new XmlDocument();

xdoc.Load (xml_file );

XslTransform xsl = new XslTransform();

XmlTextWriter wt = new XmlTextWriter( out_htm_file , Encoding.UTF8); try

Ngày đăng: 16/04/2014, 14:41

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