Xpath Funtion

Một phần của tài liệu TIỂU LUẬN MÔN CƠ SƠ DỮ LIỆU NÂNG CAO XML database Xpath & XSLT (Trang 31)

Xpath đưa ra một tập các hàm thao tác với nhiều dữ liệu khác nhau. Trong đó có thể phân chia theo kiểu hàm logic, hàm thao tác với dữ liệu dạng text và dữ liệu dạng số

- Các hàm thao tác với các node: Cho phép thao tác tới các node tong tài liệu XML hiện tại

Bảng: Hàm thao tác node

Hàm Trả về

Count(Node-set) Số node trong tập các node Generate-id(Node-set) ID của các node

Last() Phần tử cuối cùng

Local-name(Node-set) Tên của node đầu tiên Name(Node-set) Tên của node đầu tiên Namespace-uri(Node-set) URI

Position() Vị trí của node

Các hàm thao tác dữ liệu dạng logic: tính toán và đưa ra kết quả logic

Bảng: Hàm thao tác kết quả là kiểu logic

Hàm Giá trị trả về

Expr and expr True khi cả hai là true

Expr or expr True khi một trong 2 là true

True() True

False() False

- Hàm thao tác dạng số: tính toán trên các con số

Bảng: Hàm thao tác với dữ liệu số

Toán tử Kiểu trả về

div Chia lấy nguyên hai giá trị số Mod Chia lấy dư hai giá trị số round Làm tròn hai giá trị số Sum() Tổng giá trị của các node

- Hàm thao tác dạng chỗi (text): Thao tác với chỗi dữ liệu

Bảng: Hàm thao tác với dữ liệu text

Hàm Giá trị trả về

Concat(string, string, ….) Nối các string lại với nhau thành một chuỗi Format-number(number, patten,

decimal format) Định dạng số theo mẫu và phần thập phân Normailze-space(string) Chuẩn hóa xâu. Thay thế các space gần liền

nhau về môt space Substring(string, offset,range) Lấy ra xâu con Substring-after(string, to-match) xâu con sau Substring-befor(string, to-match) xâu con trước Translate(string, charater to-match

characters-replate-with) Thay thế các xâu theo mẫu

Contain(string, sub) Kiểm tra tồn tại trong string hay không. True có tồn tại, ngược lại bằng false

Starts-with(string, sub) True nếu bắt đầu chuỗi sub String-length(string) Độ dài chuỗi

Ví dụ sau đây mô tả cách sử dụng hàm trong XSL sử dụng Xpath File data.Xml <?xml version="1.0" encoding="utf-8"?> <data> <number>1</number> <number>3</number> <number>4</number> <number>17</number> <number>8</number> <number>11</number> </data>

File: Transform.xslt <?xml version="1.0" encoding="utf-8"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:template match="/"> <xsl:for-each select="//number"> <xsl:value-of select="."/> <xsl:choose>

<xsl:when test="position()=last()"> <xsl:text> = </xsl:text> </xsl:when>

<xsl:otherwise> <xsl:text> + </xsl:text> </xsl:otherwise> </xsl:choose>

</xsl:for-each>

<xsl:value-of select="sum(//number)"/> </xsl:template>

Một phần của tài liệu TIỂU LUẬN MÔN CƠ SƠ DỮ LIỆU NÂNG CAO XML database Xpath & XSLT (Trang 31)

Tải bản đầy đủ (DOC)

(34 trang)
w