1 |
8613
|
cjones
|
<?xml version="1.0" encoding="UTF-8"?>
|
2 |
|
|
<xs:schema targetNamespace="http://ns.dataone.org/service/types/v1.1"
|
3 |
|
|
xmlns:d1="http://ns.dataone.org/service/types/v1"
|
4 |
|
|
xmlns:d1_v1.1="http://ns.dataone.org/service/types/v1.1"
|
5 |
|
|
xmlns:xs="http://www.w3.org/2001/XMLSchema"
|
6 |
|
|
version="1.1.0"
|
7 |
|
|
elementFormDefault="unqualified" attributeFormDefault="unqualified">
|
8 |
|
|
|
9 |
|
|
<!--
|
10 |
|
|
$HeadURL: https://repository.dataone.org/software/cicore/branches/D1_SCHEMA_v1.1/dataoneTypes.xsd $
|
11 |
|
|
$Id: dataoneTypes.xsd 10341 2012-10-10 14:07:49Z vieglais $
|
12 |
|
|
|
13 |
|
|
About this document:
|
14 |
|
|
|
15 |
|
|
This XML Schema document defines the common data structures that are used
|
16 |
|
|
to support messaging between the major components of the DataONE
|
17 |
|
|
infrastructure and to guide structure design for storage of information
|
18 |
|
|
required for normal operations.
|
19 |
|
|
|
20 |
|
|
License:
|
21 |
|
|
|
22 |
|
|
This work was created by participants in the DataONE project, and is
|
23 |
|
|
jointly copyrighted by participating institutions in DataONE. For
|
24 |
|
|
more information on DataONE, see our web site at http://dataone.org.
|
25 |
|
|
|
26 |
|
|
Copyright 2011
|
27 |
|
|
|
28 |
|
|
Licensed under the Apache License, Version 2.0 (the "License");
|
29 |
|
|
you may not use this file except in compliance with the License.
|
30 |
|
|
You may obtain a copy of the License at
|
31 |
|
|
|
32 |
|
|
http://www.apache.org/licenses/LICENSE-2.0
|
33 |
|
|
|
34 |
|
|
Unless required by applicable law or agreed to in writing, software
|
35 |
|
|
distributed under the License is distributed on an "AS IS" BASIS,
|
36 |
|
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
37 |
|
|
See the License for the specific language governing permissions and
|
38 |
|
|
limitations under the License.
|
39 |
|
|
|
40 |
|
|
Formatting:
|
41 |
|
|
|
42 |
|
|
- This document should be saved as a UTF-8 encoded file.
|
43 |
|
|
|
44 |
|
|
- Indent using spaces, not tabs, with two spaces per indent level.
|
45 |
|
|
|
46 |
|
|
- Line wrapping should be set to 80 chars, adjusted as necessary
|
47 |
|
|
|
48 |
|
|
- Documentation entries contain formatting instructions for integration with
|
49 |
|
|
the DataONE architecture documentation, available at:
|
50 |
|
|
|
51 |
|
|
http://mule1.dataone.org/ArchitectureDocs-current
|
52 |
|
|
|
53 |
|
|
-->
|
54 |
|
|
|
55 |
|
|
<!-- ************************************
|
56 |
|
|
DEFINE REUSABLE SIMPLE TYPES HERE
|
57 |
|
|
************************************ -->
|
58 |
|
|
|
59 |
|
|
|
60 |
|
|
|
61 |
|
|
<!-- ***************************************
|
62 |
|
|
DEFINE REUSABLE COMPLEX TYPES HERE
|
63 |
|
|
*************************************** -->
|
64 |
|
|
|
65 |
|
|
<!-- NOTE THAT ALL SERIALIZEABLE ROOT ELEMENTS FOR MESSAGES SHOULD BE OF A
|
66 |
|
|
COMPLEX TYPE -->
|
67 |
|
|
<xs:import namespace="http://ns.dataone.org/service/types/v1"
|
68 |
|
|
schemaLocation="http://ns.dataone.org/service/types/v1" />
|
69 |
|
|
|
70 |
|
|
|
71 |
|
|
<!-- QueryEngineDescription -->
|
72 |
|
|
<xs:complexType name="QueryEngineDescription">
|
73 |
|
|
<xs:annotation>
|
74 |
|
|
<xs:documentation>Describes a query engine that can be used to search content on the node.
|
75 |
|
|
Query engines may be general purpose or specialized for particular communities or domains.</xs:documentation>
|
76 |
|
|
</xs:annotation>
|
77 |
|
|
<xs:sequence>
|
78 |
|
|
<xs:element name="queryEngineVersion" type="xs:string" minOccurs="1" maxOccurs="1">
|
79 |
|
|
<xs:annotation>
|
80 |
|
|
<xs:documentation>The version of the underlying query engine. Used by clients to determine possible
|
81 |
|
|
compatibility concerns or features available.</xs:documentation>
|
82 |
|
|
</xs:annotation>
|
83 |
|
|
</xs:element>
|
84 |
|
|
<xs:element name="querySchemaVersion" type="xs:string" minOccurs="0" maxOccurs="1">
|
85 |
|
|
<xs:annotation>
|
86 |
|
|
<xs:documentation>Version of the schema in use by the query engine, e.g. "1.0.1"</xs:documentation>
|
87 |
|
|
</xs:annotation>
|
88 |
|
|
</xs:element>
|
89 |
|
|
<xs:element name="name" type="xs:string" minOccurs="1" maxOccurs="1">
|
90 |
|
|
<xs:annotation>
|
91 |
|
|
<xs:documentation>The full, human readable name of the query engine. For example:
|
92 |
|
|
"Apache SOLR"</xs:documentation>
|
93 |
|
|
</xs:annotation>
|
94 |
|
|
</xs:element>
|
95 |
|
|
<xs:element name="additionalInfo" type="d1:NonEmptyString" minOccurs="0" maxOccurs="unbounded">
|
96 |
|
|
<xs:annotation>
|
97 |
|
|
<xs:documentation>An optional human readable description of the query engine. This can be
|
98 |
|
|
used to describe any special capabilities or intended uses for the query engine. For example,
|
99 |
|
|
a query engine may be tuned to suit a particular audience or domain as opposed to providing
|
100 |
|
|
a general purpose discovery mechanism.</xs:documentation>
|
101 |
|
|
<xs:documentation>This field may also contain links to additional information about the query engine,
|
102 |
|
|
such as documentation for the search syntax provided by the query engine implemntors.</xs:documentation>
|
103 |
|
|
</xs:annotation>
|
104 |
|
|
</xs:element>
|
105 |
|
|
<xs:element name="queryField" type="d1_v1.1:QueryField" minOccurs="0" maxOccurs="unbounded">
|
106 |
|
|
<xs:annotation>
|
107 |
|
|
<xs:documentation>A list of query fields supported by the query engine.</xs:documentation>
|
108 |
|
|
</xs:annotation>
|
109 |
|
|
</xs:element>
|
110 |
|
|
</xs:sequence>
|
111 |
|
|
</xs:complexType>
|
112 |
|
|
|
113 |
|
|
<!-- QueryEngineList -->
|
114 |
|
|
<xs:complexType name="QueryEngineList">
|
115 |
|
|
<xs:annotation>
|
116 |
|
|
<xs:documentation>A list of query engine names that indicate the possible values for
|
117 |
|
|
CNRead.getQueryEngineDescription and CNRead.query REST API endpoints.</xs:documentation>
|
118 |
|
|
</xs:annotation>
|
119 |
|
|
<xs:sequence>
|
120 |
|
|
<xs:element name ="queryEngine" type="d1:NonEmptyString"
|
121 |
|
|
minOccurs="0" maxOccurs="unbounded">
|
122 |
|
|
<xs:annotation>
|
123 |
|
|
<xs:documentation>The name of a queryEngine. This value will be used as a path element in
|
124 |
|
|
REST API calls and so should not contain characters that will need to be escaped.</xs:documentation>
|
125 |
|
|
</xs:annotation>
|
126 |
|
|
</xs:element>
|
127 |
|
|
</xs:sequence>
|
128 |
|
|
</xs:complexType>
|
129 |
|
|
|
130 |
|
|
<!-- QueryField -->
|
131 |
|
|
<xs:complexType name="QueryField">
|
132 |
|
|
<xs:annotation>
|
133 |
|
|
<xs:documentation></xs:documentation>
|
134 |
|
|
</xs:annotation>
|
135 |
|
|
<xs:sequence>
|
136 |
|
|
<xs:element name="name" type="d1:NonEmptyString" minOccurs="1" maxOccurs="1">
|
137 |
|
|
<xs:annotation>
|
138 |
|
|
<xs:documentation>The name of the field as used programmatically when
|
139 |
|
|
constructing queries or other rferences to the field.</xs:documentation>
|
140 |
|
|
</xs:annotation>
|
141 |
|
|
</xs:element>
|
142 |
|
|
<xs:element name="description" type="xs:string" minOccurs="0" maxOccurs="unbounded">
|
143 |
|
|
<xs:annotation>
|
144 |
|
|
<xs:documentation>An optional, repeatable, brief description of the field that can be
|
145 |
|
|
used to help guide developers or end users in appropriate use of the field. May for
|
146 |
|
|
example, contain a links to additional documentation.</xs:documentation>
|
147 |
|
|
</xs:annotation>
|
148 |
|
|
</xs:element>
|
149 |
|
|
<xs:element name="type" type="d1:NonEmptyString" minOccurs="1" maxOccurs="1">
|
150 |
|
|
<xs:annotation>
|
151 |
|
|
<xs:documentation>The type of the field, expressed in the language peculiar to the
|
152 |
|
|
query engine being described.</xs:documentation>
|
153 |
|
|
</xs:annotation>
|
154 |
|
|
</xs:element>
|
155 |
|
|
<xs:element name="searchable" type="xs:boolean" minOccurs="1" maxOccurs="1">
|
156 |
|
|
<xs:annotation>
|
157 |
|
|
<xs:documentation>Indicates if the field may be used in constructing queries (as opposed
|
158 |
|
|
to only appearing in results)</xs:documentation>
|
159 |
|
|
</xs:annotation>
|
160 |
|
|
</xs:element>
|
161 |
|
|
<xs:element name="returnable" type="xs:boolean" minOccurs="1" maxOccurs="1">
|
162 |
|
|
<xs:annotation>
|
163 |
|
|
<xs:documentation>Indicates if the field values may be returned in search results.</xs:documentation>
|
164 |
|
|
</xs:annotation>
|
165 |
|
|
</xs:element>
|
166 |
|
|
<xs:element name="sortable" type="xs:boolean" minOccurs="1" maxOccurs="1">
|
167 |
|
|
<xs:annotation>
|
168 |
|
|
<xs:documentation>Indicates if the field can be used for sorting results.</xs:documentation>
|
169 |
|
|
</xs:annotation>
|
170 |
|
|
</xs:element>
|
171 |
|
|
<xs:element name="multivalued" type="xs:boolean" minOccurs="0" maxOccurs="1">
|
172 |
|
|
<xs:annotation>
|
173 |
|
|
<xs:documentation>Indicates if the field may contain multiple values. Some query engines
|
174 |
|
|
such as SOLR support this capability.</xs:documentation>
|
175 |
|
|
</xs:annotation>
|
176 |
|
|
</xs:element>
|
177 |
|
|
</xs:sequence>
|
178 |
|
|
</xs:complexType>
|
179 |
|
|
|
180 |
|
|
|
181 |
|
|
<!-- ******************************************
|
182 |
|
|
DEFINE ROOT ELEMENTS OF MESSAGES HERE
|
183 |
|
|
****************************************** -->
|
184 |
|
|
<!-- NOTE THAT ALL SERIALIZEABLE ROOT ELEMENTS FOR MESSAGES SHOULD BE OF A
|
185 |
|
|
COMPLEX TYPE -->
|
186 |
|
|
|
187 |
|
|
<!-- These root-level element definitions are provided for selected types so
|
188 |
|
|
that those types can be used in serialized messages in method calls in
|
189 |
|
|
DataONE. Any type that is included as a parameter to or a return type
|
190 |
|
|
from a DataONE service should have a corresponding root element of that
|
191 |
|
|
type defined here.
|
192 |
|
|
-->
|
193 |
|
|
|
194 |
|
|
<xs:element name="queryEngineList" type="d1_v1.1:QueryEngineList" />
|
195 |
|
|
<xs:element name="queryEngineDescription" type="d1_v1.1:QueryEngineDescription"></xs:element>
|
196 |
|
|
</xs:schema>
|