मुझे एक ही समस्या का सामना करना पड़ा और मुझे प्रश्न का एक और उत्तर जोड़ने में प्रसन्नता हो रही है:
PostgreSQL 9.2 के साथ दस्तावेज़ में अचानक एक और वाक्य होता है जो xpath फ़ंक्शन को कवर करता है:
बस मैं यह चाहता हूं! तो प्रश्न के संबंध में एक और वैध उत्तर है:PostgreSQL 9.2 में अपग्रेड करें। इसे लिखने के क्षण में, संस्करण 9.2 सिर्फ एक बीटा है, लेकिन मैं पुष्टि कर सकता हूं कि यह काम करता है:
संस्करण विवरण
postgres=# select version();
version
------------------------------------------------------------------------------------------------------------------
PostgreSQL 9.2beta1 on x86_64-unknown-linux-gnu, compiled by gcc (GCC) 4.1.2 20080704 (Red Hat 4.1.2-52), 64-bit
(1 row)
समाधान का प्रदर्शन
(यह प्रदर्शन पोस्टग्रे 9.5 के साथ किया गया था, क्योंकि मूल रूप से मैंने गलत कोड चिपकाया था)
postgres=# SELECT xpath('sum(/my:a/value[.>15])', '<my:a xmlns:my="http://example.com">
postgres'# <value>20</value>
postgres'# <value>10</value>
postgres'# <value>30</value>
postgres'# </my:a>',
postgres(# ARRAY[ARRAY['my', 'http://example.com']]);
xpath
-------
{50}
(1 row)