1 | <?xml version="1.0" encoding="UTF-8"?> |
---|
2 | <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" |
---|
3 | targetNamespace="http://clarin.eu/schemas/ccs" xmlns:ccs="http://clarin.eu/schemas/ccs"> |
---|
4 | <xs:annotation> |
---|
5 | <xs:documentation> |
---|
6 | This schema is SUPERSEDED BY: Resource.xsd |
---|
7 | with a NEW namespace: http://clarin.eu/fcs/1.0 |
---|
8 | </xs:documentation> |
---|
9 | </xs:annotation> |
---|
10 | |
---|
11 | <xs:annotation> |
---|
12 | <xs:documentation>This schema shall define the generic inner structure |
---|
13 | of one record within the (federated) CLARIN content search. |
---|
14 | This means it would validate the xml-fragment inside sru:record/sru:recordData |
---|
15 | and would be referenced in sru:record/sru:recordSchema |
---|
16 | of the sru:searchRetrieveResponse. |
---|
17 | |
---|
18 | It shall allow: |
---|
19 | a) any metadata about the matched record, including reference to a CMD-record |
---|
20 | b) separate (metadata) description of full Resource and ResourceFragment (matching part of the resource) |
---|
21 | c) providing metadata AND content |
---|
22 | d) various views on the data delivered (text-snippet, image, individual annotation-layers, ...) |
---|
23 | e) providing links (either as PID or as simple URLs) to any of: |
---|
24 | Resource, ResourceFragment, Metadata (CMD-record), DataViews |
---|
25 | </xs:documentation> |
---|
26 | </xs:annotation> |
---|
27 | |
---|
28 | <xs:element name="Resource" type="ccs:ResourceType"> </xs:element> |
---|
29 | <xs:complexType name="ResourceType"> |
---|
30 | <xs:sequence> |
---|
31 | <xs:element maxOccurs="unbounded" minOccurs="0" name="Resource" type="ccs:ResourceType"/> |
---|
32 | <xs:element maxOccurs="unbounded" minOccurs="0" name="DataView" type="ccs:DataViewType"/> |
---|
33 | <xs:element maxOccurs="unbounded" minOccurs="0" name="ResourceFragment" |
---|
34 | type="ccs:ResourceFragmentType"/> |
---|
35 | </xs:sequence> |
---|
36 | <xs:attribute name="pid" type="ccs:pidType" use="optional"/> |
---|
37 | <xs:attribute name="ref" type="ccs:refType" use="optional"/> |
---|
38 | </xs:complexType> |
---|
39 | |
---|
40 | |
---|
41 | <xs:complexType name="ResourceFragmentType"> |
---|
42 | <xs:sequence> |
---|
43 | <xs:element maxOccurs="unbounded" minOccurs="0" name="DataView" type="ccs:DataViewType" |
---|
44 | /> |
---|
45 | </xs:sequence> |
---|
46 | <xs:attribute name="pid" type="ccs:pidType" use="optional"/> |
---|
47 | <xs:attribute name="ref" type="ccs:refType" use="optional"/> |
---|
48 | </xs:complexType> |
---|
49 | |
---|
50 | <xs:complexType name="DataViewType"> |
---|
51 | <xs:annotation> |
---|
52 | <xs:documentation>the content expressed in XML that complies with another XML Schema (namespace=#other). </xs:documentation> |
---|
53 | </xs:annotation> |
---|
54 | <xs:sequence> |
---|
55 | <xs:any namespace="##other" processContents="strict"/> |
---|
56 | </xs:sequence> |
---|
57 | <xs:attribute name="type" type="ccs:DataViewTypeType"/> |
---|
58 | <xs:attribute name="pid" type="ccs:pidType"/> |
---|
59 | <xs:attribute name="ref" type="ccs:refType"/> |
---|
60 | <xs:attribute name="schema" type="ccs:schemaType"/> |
---|
61 | </xs:complexType> |
---|
62 | |
---|
63 | <xs:simpleType name="DataViewTypeType"> |
---|
64 | <xs:annotation> |
---|
65 | <xs:documentation>This is obviously not exhaustive. |
---|
66 | |
---|
67 | Could this be a superset of of MIME-type?</xs:documentation> |
---|
68 | </xs:annotation> |
---|
69 | <xs:restriction base="xs:string"> |
---|
70 | <xs:enumeration value="kwic"/> |
---|
71 | <xs:enumeration value="fulltext"/> |
---|
72 | <xs:enumeration value="image"/> |
---|
73 | </xs:restriction> |
---|
74 | </xs:simpleType> |
---|
75 | |
---|
76 | <xs:simpleType name="pidType"> |
---|
77 | <xs:annotation> |
---|
78 | <xs:documentation>a persistent! identifier of given entity. This should be really only used, when a PID is available. Provider should also fill the sru:record/sru:recordIdentifier-element. If there are more PIDs in one record (for Resource, Metadata, DataView), provider selects the "most important"/primary PID to put into sru:recordIdentifier</xs:documentation> |
---|
79 | </xs:annotation> |
---|
80 | <xs:restriction base="xs:anyURI"/> |
---|
81 | </xs:simpleType> |
---|
82 | |
---|
83 | <xs:simpleType name="refType"> |
---|
84 | <xs:annotation> |
---|
85 | <xs:documentation>a URL to given entity, that can be invoked directly (via HTTP)</xs:documentation> |
---|
86 | </xs:annotation> |
---|
87 | <xs:restriction base="xs:anyURI"/> |
---|
88 | </xs:simpleType> |
---|
89 | |
---|
90 | |
---|
91 | <xs:simpleType name="schemaType"> |
---|
92 | <xs:annotation> |
---|
93 | <xs:documentation>a reference to a schema, describing the content of the DataView</xs:documentation> |
---|
94 | </xs:annotation> |
---|
95 | <xs:restriction base="xs:anyURI"/> |
---|
96 | </xs:simpleType> |
---|
97 | </xs:schema> |
---|