TheXML2
Mô -đun cung cấp chức năng truy tỷ lệ kèo bóng đá 88 XPath và XSLT.
từPostgreSQL8.3, có chức năng liên quan đến XML dựa trên tiêu chuẩn SQL/XML trong máy chủ lõi. Chức năng đó bao gồm kiểm tra cú pháp XML và truy tỷ lệ kèo bóng đá 88 XPath, đó là những gì mô -đun này làm, và hơn thế nữa, nhưng API hoàn toàn không tương thích. Người ta có kế hoạch rằng mô -đun này sẽ bị xóa trong phiên bản PostgreSQL trong tương lai có lợi cho API tiêu chuẩn mới hơn, vì vậy bạn được khuyến khích thử chuyển đổi các ứng dụng của mình. Nếu bạn thấy rằng một số chức năng của mô -đun này không có sẵn ở dạng phù hợp với API mới hơn, vui lòng giải thích tỷ lệ kèo bóng đá 88 đề của bạn với<
để có thể giải quyết sự thiếu hụt.
Bảng F.35Hiển thị các chức năng được cung cấp bởi mô -đun này. Các chức năng này cung cấp các truy tỷ lệ kèo bóng đá 88 phân tích XML đơn giản và Xpath.
Bảng F.35.XML2
chức tỷ lệ kèo bóng đá 88
function 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 tỷ lệ kèo bóng đá 88 PostgreSQL tiêu chuẩn |
13845_13923 |
Đánh giá truy tỷ lệ kèo bóng đá 88 XPath trên tài liệu được cung cấp và chuyển kết quả thành |
Đánh giá truy tỷ lệ kèo bóng đá 88 XPath trên tài liệu được cung cấp và chuyển kết quả thành |
Đánh giá truy tỷ lệ kèo bóng đá 88 trên tài liệu 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ư: <TopTag <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 tỷ lệ kèo bóng đá 88 trên tài liệu 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 tỷ lệ kèo bóng đá 88 trên sử dụng |
xpath_table
#19003_19107
xpath_table
là một hàm bảng đánh giá một tập hợp các truy tỷ lệ kèo bóng đá 88 XPath trên mỗi bộ tài liệu và trả về kết quả dưới dạng bảng. Trường khóa chính từ bảng tài liệu 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.36.
Bảng F.36.xpath_table
tham số
tham số | Mô tả |
---|---|
Key |
Tên củaKeyHồiTrườ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 |
Tên của trường chứa tài liệu XML |
Mối quan hệ |
Tên của bảng hoặc xem có chứa tài liệu |
XPaths |
một hoặc nhiều biểu thức tỷ lệ kèo bóng đá 88, đượ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 |
21719_21868
21900_21983
Vì vậy, các 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 tài liệu). 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 các 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 các cột trong bảng đầu ra. Đầu tiên làMạnhKeyHồiTrường và phần còn lại tương ứng với các truy tỷ lệ kèo bóng đá 88 XPath. Nếu có nhiều truy tỷ lệ kèo bóng đá 88 XPath hơn các cột kết quả, các truy tỷ lệ kèo bóng đá 88 bổ sung sẽ bị bỏ qua. Nếu có nhiều cột kết quả hơn các truy tỷ lệ kèo bóng đá 88 XPath, các 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ả tỷ lệ kèo bóng đá 88 và sử dụng các hàm đầu vào PostgreSQL để biến nó thành một số nguyên (hoặc bất kỳ loại nàoAS
23691_23825Text
Là loại cột nếu bạn nghĩ rằng dữ liệu của bạn có bất kỳ tỷ lệ kèo bóng đá 88 đề 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 các cột đầu ra theo tên hoặc tham gia với các 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
Hàm giả định rằng kết quả của mỗi truy tỷ lệ kèo bóng đá 88 XPath có thể được đa dạng, do đó số lượng hàng được trả về bởi hàm có thể không giống với số lượng tài liệu đầu vào. Hàng thứ nhất được trả về chứa kết quả đầu tiên từ mỗi truy tỷ lệ kèo bóng đá 88, hàng thứ hai là kết quả thứ hai từ mỗi truy tỷ lệ kèo bóng đá 88. Nếu một trong các truy tỷ lệ kèo bóng đá 88 có ít giá trị hơn các giá trị khác, các giá trị null sẽ được trả về thay thế.
25561_25937
Tạo thử nghiệm bảng ( ID int khóa chính, Văn bản XML ); Chèn tỷ lệ kèo bóng đá 88o các giá trị kiểm tra (1, '<doc num = "c1" <line num = "l1" <a 1 </a <b 2 </b <c 3 </c </line <line num = "l2" <a 11 </a <b 22 </b <c 33 </c </line </doc '); Chèn tỷ lệ kèo bóng đá 88o các giá trị kiểm tra (2, '<doc num = "c2" <line num = "l1" <a 111 </a <b 222 </b <c 333 </c </line <line num = "l2" <a 111 </a <b 222 </b <c 333 </c </line </doc '); Chọn * Từ xpath_table ('id', 'xml', 'test', '/doc/@num |/doc/line/@num |/doc/line/a |/doc/line/b |/doc/line/c', 'ĐÚNG VẬY') Như T (ID int, doc_num varchar (10), line_num varchar (10), val1 int, val2 int, val3 int) WHERE ID = 1 Đặt hàng của doc_num, line_num ID | doc_num | line_num | val1 | val2 | val3 ----+----------+----------+------+------+------ 1 | C1 | L1 | 1 | 2 | 3 1 | | L2 | 11 | 22 | 33
để 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ết quả:
Chọn t.*, I.doc_num từ xpath_table ('id', 'xml', 'test', '/doc/line/@num |/doc/line/a |/doc/line/b |/doc/line/c', 'ĐÚNG VẬY') Như t (id int, line_num varchar (10), val1 int, val2 int, val3 int), xpath_table ('id', 'xml', 'test', '/doc/@num', 'true')) Như tôi (ID int, doc_num varchar (10)) WHERE I.ID = T.ID và I.ID = 1 Đặt hàng bởi doc_num, line_num; ID | line_num | val1 | val2 | val3 | doc_num ----+----------+------+------+------+--------- 1 | L1 | 1 | 2 | 3 | C1 1 | L2 | 11 | 22 | 33 | C1 (2 hàng)
Các chức tỷ lệ kèo bóng đá 88 sau có sẵn nếu LibXSLT được cài đặt:
XSLT_Process
#28544_28621
Hàm này áp dụng biểu định kiểu XSL cho tài liệu và trả về kết quả được chuyển đổi. Theparamlist
là danh sách các 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ư PostgreSQL.
30733_30959Mẫu nàyĐể báo cáo tỷ lệ kèo bóng đá 88 đề tài liệu.