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.48. XML2 - Xpath truy tỷ lệ kèo bóng đá 88 và chức năng XSLT#

TheXML2Mô -đun cung cấp chức năng truy tỷ lệ kèo bóng đá 88 XPath và XSLT.

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

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.

F.48.2. Mô tả về các chức tỷ lệ kèo bóng đá 88#

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.XML2chức tỷ lệ kèo bóng đá 88

function

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 tỷ lệ kèo bóng đá 88 PostgreSQL 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_String(tài liệu Text, Truy tỷ lệ kèo bóng đá 88 Text) →Text

13845_13923Text.

xpath_number(Document Text, Truy tỷ lệ kèo bóng đá 88 Text14300_14307Real

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

xpath_bool(tài liệu 14730_14736, Truy tỷ lệ kèo bóng đá 88 Text) →Boolean

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

XPath_Nodeset(Document Text, Truy tỷ lệ kèo bóng đá 88 Text, TopTag Text, itemTag Text) →Text

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

XPath_Nodeset(Document Text, Truy tỷ lệ kèo bóng đá 88 Text, itemTag Text) →Text

nhưxpath_nodeset (tài liệu, truy tỷ lệ kèo bóng đá 88, toptag, itemTag)Nhưng kết quả bỏ quaTopTag.

XPath_Nodeset(16930_16940 Text, Truy tỷ lệ kèo bóng đá 88 Text) →Text

nhưxpath_nodeset (tài liệu, truy tỷ lệ kèo bóng đá 88, toptag, itemTag)Nhưng kết quả bỏ qua cả hai thẻ.

XPath_List(Document Text, Truy tỷ lệ kèo bóng đá 88 Text, phân tách Text) →Text

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

XPath_List(Document Text, Truy tỷ lệ kèo bóng đá 88 18318_18324) →Text

Đây là một trình bao bọc cho chức tỷ lệ kèo bóng đá 88 trên sử dụng,làm dấu phân cách.


F.48.3.xpath_table #

19003_19107

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


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

TheASmệ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_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ả 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àoAS23691_23825TextLà 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ọnCâ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.

F.48.3.1. Kết quả đa trị#

Thexpath_tableHà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_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ế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)

F.48.4. tỷ lệ kèo bóng đá 88#

Các chức tỷ lệ kèo bóng đá 88 sau có sẵn nếu LibXSLT được cài đặt:

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

F.48.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ư PostgreSQL.

Gửi hiệu chỉnh

30733_30959Mẫu nàyĐể báo cáo tỷ lệ kèo bóng đá 88 đề tài liệu.