Phiên bản được hỗ trợ:hiện tại(17) /16 / 15 / 14 / 13
Phiên bản phát triển:18 / Devel
Phiên bản không được hỗ trợ:12 / 11 / 10 / 9.6 / 9.5 / 9.4 / 9.3 / 9.2 / 9.1 / 9.0 / 8.4 / 8.3

F.50. xml2

TheXML2Mô -đun cung cấp chức năng truy vấn XPath và XSLT.

F.50.1. Thông báo từ chối

từkèo bóng đá pháp9938_10499để có thể giải quyết sự thiếu hụt.

F.50.2. Mô tả về kèo bóng đá pháp chức năng

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.XML2Chức năng

chức năng

Mô tả

XML_VALID(Document Text) →Boolean

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ẩnxml_is_well_formed (). Tênxml_valid ()về mặt kỹ thuật không chính xác vì tính hợp lệ và tính hình thành có ý nghĩa khác nhau trong XML.)

XPath_String12528_12533Document Text, Truy vấn Text) →Text

Đá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ànhText.

XPath_Number(Document Text, Truy vấn Text) →Real

13275_13353Real.

xpath_bool(kèo bóng đá pháp Text, Truy vấn Text) →Boolean

Đá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ànhBoolean.

XPath_Nodeset(Document Text, Truy vấn Text, TopTag Text, itemTag Text) →Text

Đá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ếuTopTaghoặcitemTaglà một chuỗi trống, thẻ có liên quan bị bỏ qua.

xpath_nodeset(Document Text, Truy vấn Text, itemTag Text) →Text

nhưxpath_nodeset (kèo bóng đá pháp, truy vấn, toptag, itemTag)Nhưng kèo bóng đá pháp quả bỏ quaTopTag.

XPath_Nodeset(Document Text, Truy vấn Text) →Text

nhưxpath_nodeset (kèo bóng đá pháp, truy vấn, toptag, itemTag)Nhưng kèo bóng đá pháp quả bỏ qua cả hai thẻ.

XPath_List(Document Text, Truy vấn Text, phân tách Text) →Text

Đá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ụGiá trị 1, Giá trị 2, Giá trị 3nếuphân tách,.

XPath_List(Document Text, Truy vấn Text) →Text

Đây là một trình bao bọc cho chức năng trên sử dụng,làm dấu phân cách.


F.50.3.xpath_table

17860_17964

xpath_tablelà 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_tabletham 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ụngTRUEhoặc1 = 1Nếu bạn muốn xử lý tất cả kèo bóng đá pháp hàng trong quan hệ


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ớiASmệ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 đề);

TheASmệ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_countCộ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àoASYê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àoTextLà 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ọnCâ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.

F.50.3.1. kèo bóng đá pháp quả đa trị

Thexpath_table23928_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_numTrên mỗi dòng, giải pháp là sử dụng hai lời mời củaxpath_tablevà tham gia kèo bóng đá pháp quả:

26013_26571

F.50.4. Chức năng XSLT

kèo bóng đá pháp chức năng sau có sẵn nếu LibXSLT được cài đặt:

F.50.4.1.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. Theparamlistlà 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_Processkhông chuyển bất kỳ tham số nào cho phép biến đổi.

F.50.5. Tác giả

John Grey

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.

Gửi hiệu chỉnh

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.