1 |
34
|
jones
|
<?xml version = '1.0'?>
|
2 |
|
|
<!--
|
3 |
|
|
* dsquery.xsql
|
4 |
|
|
*
|
5 |
|
|
* Authors: Matt Jones
|
6 |
|
|
* Copyright: 2000 Regents of the University of California and the
|
7 |
|
|
* National Center for Ecological Analysis and Synthesis
|
8 |
|
|
* For Details: http://www.nceas.ucsb.edu/
|
9 |
|
|
* Created: 2000 April 5
|
10 |
|
|
* Version: 0.01
|
11 |
|
|
* File Info: '$Id$'
|
12 |
|
|
*
|
13 |
|
|
* This is an XSQL (http://technet.oracle.com/tech/xml) document designed
|
14 |
|
|
* to query a relational database and return the result as a well-formed
|
15 |
|
|
* XML document. The query is a general search for datasets that match
|
16 |
|
|
* search criteria from a metadata catalog containing documents that are
|
17 |
|
|
* valid with respect to the eml-dataset.dtd module of the Ecological
|
18 |
|
|
* Metadata Language (EML)
|
19 |
|
|
-->
|
20 |
|
|
<?xml-stylesheet type="text/xsl" href="dsquery.xsl"?>
|
21 |
|
|
<html connection="demo" xmlns:xsql="urn:oracle-xsql">
|
22 |
|
|
<head><title>Query Demo</title></head>
|
23 |
|
|
<body>
|
24 |
|
|
<section>Query form</section>
|
25 |
|
|
<form>
|
26 |
|
|
<method>POST</method>
|
27 |
36
|
jones
|
<action>/xmltodb/xsqltest/dsquery.xsql</action>
|
28 |
34
|
jones
|
<textfield>
|
29 |
|
|
<name>search_string</name>
|
30 |
|
|
<xsql:query tag-case="lower"
|
31 |
|
|
rowset-element="" row-element="" id-attribute="">
|
32 |
|
|
select '{@search_string}' AS val FROM DUAL
|
33 |
|
|
</xsql:query>
|
34 |
|
|
</textfield>
|
35 |
|
|
<input type="submit" name="Run query"/>
|
36 |
|
|
</form>
|
37 |
|
|
<section>Results</section>
|
38 |
|
|
<xsql:query tag-case="lower">
|
39 |
|
|
|
40 |
|
|
SELECT meta_file_id,dataset_id,title,
|
41 |
|
|
CURSOR (SELECT salutation,given_name,surname
|
42 |
|
|
FROM party_individual pi
|
43 |
|
|
WHERE pi.party_individual_id IN
|
44 |
|
|
(SELECT party_individual_id FROM party p
|
45 |
|
|
WHERE p.meta_file_id = ds.meta_file_id)) as originators
|
46 |
|
|
FROM eml_dataset ds
|
47 |
|
|
WHERE UPPER(meta_file_id) LIKE UPPER('%{@search_string}%')
|
48 |
|
|
OR UPPER(dataset_id) LIKE UPPER('%{@search_string}%')
|
49 |
|
|
OR UPPER(title) LIKE UPPER('%{@search_string}%')
|
50 |
|
|
OR UPPER(abstract) LIKE UPPER('%{@search_string}%')
|
51 |
|
|
</xsql:query>
|
52 |
|
|
</body>
|
53 |
|
|
</html>
|