TheXML2
Mô -đun cung cấp chức năng truy vấn XPath và XSLT.
Bảng F.34Hiển thị kèo bóng đá pháp chức năng được cung cấp bởi mô -đun này. kèo bóng đá pháp chức năng này cung cấp kèo bóng đá pháp truy vấn phân tích XML đơn giản và Xpath.
Bảng F.34.XML2
Chức năng
chức năng Mô tả |
---|
Phân tích tài liệu đã cho và trả về đúng nếu tài liệu được hình thành tốt XML. (Lưu ý: Đây là bí danh cho chức năng kèo bóng đá pháp tiêu chuẩn |
Đánh giá truy vấn XPath trên kèo bóng đá pháp được cung cấp và chuyển kết quả thành |
13275_13353 |
Đánh giá truy vấn XPath trên kèo bóng đá pháp được cung cấp và chuyển kết quả thành |
Đánh giá truy vấn trên kèo bóng đá pháp và gói kết quả trong các thẻ XML. Nếu kết quả là đa trị, đầu ra sẽ trông giống như: <Boptag <itemTag Giá trị 1 có thể là một đoạn XML </itemTag <itemTag Giá trị 2 .... </itemTag </toptag Nếu |
như |
như |
Đánh giá truy vấn trên kèo bóng đá pháp và trả về nhiều giá trị được phân tách bởi bộ phân cách được chỉ định, ví dụ |
Đây là một trình bao bọc cho chức năng trên sử dụng |
xpath_table
17860_17964
xpath_table
là một hàm bảng đánh giá một tập hợp các truy vấn XPath trên mỗi bộ kèo bóng đá pháp và trả về kết quả dưới dạng bảng. Trường khóa chính từ bảng kèo bóng đá pháp gốc được trả về làm cột đầu tiên của kết quả để tập kết quả có thể dễ dàng được sử dụng trong các kết nối. Các tham số được mô tả trongBảng F.35.
Bảng F.35.xpath_table
tham số
tham số | Mô tả |
---|---|
Key |
Tên củaKeyxôngTrường - Đây chỉ là một trường được sử dụng làm cột đầu tiên của bảng đầu ra, tức là, nó xác định bản ghi mà mỗi hàng đầu ra xuất hiện (xem ghi chú bên dưới về nhiều giá trị) |
Document |
19569_19620 |
quan hệ |
Tên của bảng hoặc xem có chứa kèo bóng đá pháp |
XPaths |
Một hoặc nhiều biểu thức XPath, được phân tách bởi |
Tiêu chí |
Nội dung của mệnh đề WHERE. Điều này không thể được bỏ qua, vì vậy hãy sử dụng |
20576_20725
20757_20840
Vì vậy, kèo bóng đá pháp tham số đó có thể làbất cứ điều gìhợp lệ ở các vị trí cụ thể đó. Kết quả từ lựa chọn này cần trả về chính xác hai cột (nó sẽ trừ khi bạn cố gắng liệt kê nhiều trường cho khóa hoặc kèo bóng đá pháp). Coi chừng rằng cách tiếp cận đơn giản này đòi hỏi bạn phải xác nhận bất kỳ giá trị do người dùng nào cung cấp để tránh các cuộc tấn công tiêm SQL.
Hàm phải được sử dụng trong Atừ
Biểu thức, vớiAS
mệnh đề để chỉ định kèo bóng đá pháp cột đầu ra; Ví dụ
Chọn * Từ xpath_table ('article_id', 'Bài báo_xml', 'Bài báo', '/Bài báo/Tác giả |/Bài báo/Trang |/Bài báo/Tiêu đề', 'Date_Endered' '2003-01-01' '') Như t (intent_id integer, văn bản tác giả, số nguyên trang_count, văn bản tiêu đề);
TheAS
mệnh đề xác định tên và loại của kèo bóng đá pháp cột trong bảng đầu ra. Đầu tiên làKeyHồiTrường và phần còn lại tương ứng với kèo bóng đá pháp truy vấn XPath. Nếu có nhiều truy vấn XPath hơn kèo bóng đá pháp cột kết quả, kèo bóng đá pháp truy vấn bổ sung sẽ bị bỏ qua. Nếu có nhiều cột kết quả hơn kèo bóng đá pháp truy vấn XPath, kèo bóng đá pháp cột bổ sung sẽ không có.
Lưu ý rằng ví dụ này xác địnhpage_count
Cột kết quả dưới dạng số nguyên. Hàm xử lý nội bộ với các biểu diễn chuỗi, vì vậy khi bạn nói rằng bạn muốn một số nguyên trong đầu ra, nó sẽ lấy biểu diễn chuỗi của kết quả XPath và sử dụng các hàm đầu vào kèo bóng đá pháp để biến nó thành một số nguyên (hoặc bất kỳ loại nàoAS
Yêu cầu mệnh đề). Một lỗi sẽ dẫn đến nếu nó không thể làm điều này - ví dụ: nếu kèo bóng đá pháp quả trống - vì vậy bạn có thể muốn chỉ bám vàoText
Là loại cột nếu bạn nghĩ rằng dữ kèo bóng đá pháp của bạn có bất kỳ vấn đề nào.
Cuộc gọiChọn
Câu lệnh không nhất thiết phải chỉ làChọn *
- Nó có thể tham chiếu kèo bóng đá pháp cột đầu ra theo tên hoặc tham gia với kèo bóng đá pháp bảng khác. Hàm tạo ra một bảng ảo mà bạn có thể thực hiện bất kỳ thao tác nào bạn muốn (ví dụ: tập hợp, nối, sắp xếp, v.v.). Vì vậy, chúng tôi cũng có thể có:
Chọn T.Title, P.Fullname, P.Email Từ xpath_table ('artical_id', 'article_xml', 'bài viết', '/Bài báo/Tiêu đề |/Bài báo/Tác giả/@ID', 'XPath_String (article_xml,' '/article/@date' ')' '2003-03-20' '')) Như t (intent_id integer, văn bản tiêu đề, số nguyên Author_id), tblpeopleinfo như p WHERE T.Author_id = p.person_id;
như một ví dụ phức tạp hơn. Tất nhiên, bạn có thể bọc tất cả những điều này trong một quan điểm để thuận tiện.
Thexpath_table
23928_24317
Trong một số trường hợp, người dùng sẽ biết rằng truy vấn XPath đã cho sẽ chỉ trả về một kết quả duy nhất (có lẽ là một mã nhận dạng kèo bóng đá pháp duy nhất)-nếu được sử dụng cùng với truy vấn XPath trả về nhiều kết quả, kết quả có giá trị đơn sẽ chỉ xuất hiện trên hàng đầu tiên của kết quả. Giải pháp cho việc này là sử dụng trường chính như là một phần của việc tham gia với truy vấn XPath đơn giản hơn. Ví dụ:
24742_25796
để nhậndoc_num
Trên mỗi dòng, giải pháp là sử dụng hai lời mời củaxpath_table
và tham gia kèo bóng đá pháp quả:
26013_26571
kèo bóng đá pháp chức năng sau có sẵn nếu LibXSLT được cài đặt:
27039_27053
27212_27289
Hàm này áp dụng biểu định kiểu XSL cho kèo bóng đá pháp và trả về kết quả được chuyển đổi. Theparamlist
là danh sách kèo bóng đá pháp bài tập tham số sẽ được sử dụng trong chuyển đổi, được chỉ định trong biểu mẫua = 1, b = 2
. Lưu ý rằng phân tích phân tích tham số rất đơn giản: Giá trị tham số không thể chứa dấu phẩy!
Ngoài ra còn có phiên bản hai tham số củaXSLT_Process
không chuyển bất kỳ tham số nào cho phép biến đổi.
John Grey<jgray@azuli.co.uk
Phát triển mô -đun này được tài trợ bởi Torchbox Ltd. (www.torchbox.com). Nó có cùng giấy phép BSD như kèo bóng đá pháp.
Nếu bạn thấy bất cứ điều gì trong kèo bóng đá pháp không chính xác, không khớp Kinh nghiệm của bạn với tính năng cụ thể hoặc yêu cầu làm rõ thêm, Vui lòng sử dụngMẫu nàyĐể báo cáo vấn đề kèo bóng đá pháp.