bio-nexml 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (57) hide show
  1. data/Gemfile +15 -0
  2. data/Gemfile.lock +24 -0
  3. data/LICENSE.txt +20 -0
  4. data/README.rdoc +47 -0
  5. data/Rakefile +55 -0
  6. data/TODO.txt +6 -0
  7. data/VERSION +1 -0
  8. data/bio-nexml.gemspec +126 -0
  9. data/extconf.rb +2 -0
  10. data/lib/bio-nexml.rb +0 -0
  11. data/lib/bio.rb +321 -0
  12. data/lib/bio/db/nexml.rb +109 -0
  13. data/lib/bio/db/nexml/mapper.rb +113 -0
  14. data/lib/bio/db/nexml/mapper/framework.rb +157 -0
  15. data/lib/bio/db/nexml/mapper/inflection.rb +99 -0
  16. data/lib/bio/db/nexml/mapper/repository.rb +59 -0
  17. data/lib/bio/db/nexml/matrix.rb +1046 -0
  18. data/lib/bio/db/nexml/parser.rb +622 -0
  19. data/lib/bio/db/nexml/schema/README.txt +21 -0
  20. data/lib/bio/db/nexml/schema/abstract.xsd +159 -0
  21. data/lib/bio/db/nexml/schema/characters/README.txt +1 -0
  22. data/lib/bio/db/nexml/schema/characters/abstractcharacters.xsd +361 -0
  23. data/lib/bio/db/nexml/schema/characters/characters.xsd +22 -0
  24. data/lib/bio/db/nexml/schema/characters/continuous.xsd +190 -0
  25. data/lib/bio/db/nexml/schema/characters/dna.xsd +282 -0
  26. data/lib/bio/db/nexml/schema/characters/protein.xsd +280 -0
  27. data/lib/bio/db/nexml/schema/characters/restriction.xsd +239 -0
  28. data/lib/bio/db/nexml/schema/characters/rna.xsd +283 -0
  29. data/lib/bio/db/nexml/schema/characters/standard.xsd +261 -0
  30. data/lib/bio/db/nexml/schema/external/sawsdl.xsd +21 -0
  31. data/lib/bio/db/nexml/schema/external/xhtml-datatypes-1.xsd +177 -0
  32. data/lib/bio/db/nexml/schema/external/xlink.xsd +75 -0
  33. data/lib/bio/db/nexml/schema/external/xml.xsd +145 -0
  34. data/lib/bio/db/nexml/schema/meta/README.txt +2 -0
  35. data/lib/bio/db/nexml/schema/meta/annotations.xsd +100 -0
  36. data/lib/bio/db/nexml/schema/meta/meta.xsd +294 -0
  37. data/lib/bio/db/nexml/schema/nexml.xsd +104 -0
  38. data/lib/bio/db/nexml/schema/taxa/README.txt +2 -0
  39. data/lib/bio/db/nexml/schema/taxa/taxa.xsd +39 -0
  40. data/lib/bio/db/nexml/schema/trees/README.txt +2 -0
  41. data/lib/bio/db/nexml/schema/trees/abstracttrees.xsd +135 -0
  42. data/lib/bio/db/nexml/schema/trees/network.xsd +113 -0
  43. data/lib/bio/db/nexml/schema/trees/tree.xsd +149 -0
  44. data/lib/bio/db/nexml/schema/trees/trees.xsd +36 -0
  45. data/lib/bio/db/nexml/taxa.rb +147 -0
  46. data/lib/bio/db/nexml/trees.rb +663 -0
  47. data/lib/bio/db/nexml/writer.rb +265 -0
  48. data/test/data/nexml/test.xml +69 -0
  49. data/test/test_bio-nexml.rb +17 -0
  50. data/test/unit/bio/db/nexml/tc_factory.rb +119 -0
  51. data/test/unit/bio/db/nexml/tc_mapper.rb +78 -0
  52. data/test/unit/bio/db/nexml/tc_matrix.rb +551 -0
  53. data/test/unit/bio/db/nexml/tc_parser.rb +21 -0
  54. data/test/unit/bio/db/nexml/tc_taxa.rb +118 -0
  55. data/test/unit/bio/db/nexml/tc_trees.rb +370 -0
  56. data/test/unit/bio/db/nexml/tc_writer.rb +633 -0
  57. metadata +253 -0
@@ -0,0 +1,21 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <xs:schema targetNamespace="http://www.w3.org/ns/sawsdl" xmlns="http://www.w3.org/ns/sawsdl" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:wsdl="http://www.w3.org/ns/wsdl">
3
+
4
+ <xs:simpleType name="listOfAnyURI">
5
+ <xs:list itemType="xs:anyURI"/>
6
+ </xs:simpleType>
7
+
8
+ <xs:attribute name="modelReference" type="listOfAnyURI"/>
9
+ <xs:attribute name="liftingSchemaMapping" type="listOfAnyURI"/>
10
+ <xs:attribute name="loweringSchemaMapping" type="listOfAnyURI"/>
11
+
12
+ <xs:element name="attrExtensions">
13
+ <xs:complexType>
14
+ <xs:annotation>
15
+ <xs:documentation>This element is for use in WSDL 1.1 only. It does not apply to WSDL 2.0 documents. Use in
16
+ WSDL 2.0 documents is invalid.</xs:documentation>
17
+ </xs:annotation>
18
+ <xs:anyAttribute namespace="##any" processContents="lax"/>
19
+ </xs:complexType>
20
+ </xs:element>
21
+ </xs:schema>
@@ -0,0 +1,177 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <xs:schema
3
+ xmlns:xs="http://www.w3.org/2001/XMLSchema"
4
+ xmlns="http://www.w3.org/1999/xhtml/datatypes/"
5
+ xmlns:xh11d="http://www.w3.org/1999/xhtml/datatypes/"
6
+ targetNamespace="http://www.w3.org/1999/xhtml/datatypes/"
7
+ elementFormDefault="qualified"
8
+ >
9
+ <xs:annotation>
10
+ <xs:documentation>
11
+ XHTML Datatypes
12
+ This is the XML Schema datatypes module for XHTML
13
+
14
+ Defines containers for the XHTML datatypes, many of
15
+ these imported from other specifications and standards.
16
+
17
+ $Id: xhtml-datatypes-1.xsd,v 1.11 2008/10/07 16:57:03 ahby Exp $
18
+ </xs:documentation>
19
+ <xs:documentation source="xhtml-copyright-1.xsd"/>
20
+ <xs:documentation source="http://www.w3.org/TR/2001/REC-xhtml-modularization-20010410/abstraction.html#s_common_attrtypes"/>
21
+ </xs:annotation>
22
+
23
+ <!-- nn for pixels or nn% for percentage length -->
24
+ <xs:simpleType name="Length">
25
+ <xs:union memberTypes="xs:nonNegativeInteger">
26
+ <xs:simpleType>
27
+ <xs:restriction base="xs:token">
28
+ <xs:pattern value="\d+[%]|\d*\.\d+[%]"/>
29
+ </xs:restriction>
30
+ </xs:simpleType>
31
+ </xs:union>
32
+ </xs:simpleType>
33
+ <!-- space-separated list of link types -->
34
+ <xs:simpleType name="LinkTypes">
35
+ <xs:list itemType="xs:NMTOKEN"/>
36
+ </xs:simpleType>
37
+ <!-- single or comma-separated list of media descriptors -->
38
+ <xs:simpleType name="MediaDesc">
39
+ <xs:restriction base="xs:string"/>
40
+ </xs:simpleType>
41
+ <!-- pixel, percentage, or relative -->
42
+ <xs:simpleType name="MultiLength">
43
+ <xs:union memberTypes="xh11d:Length">
44
+ <xs:simpleType>
45
+ <xs:restriction base="xs:token">
46
+ <xs:pattern value="\d*\*"/>
47
+ </xs:restriction>
48
+ </xs:simpleType>
49
+ </xs:union>
50
+ </xs:simpleType>
51
+ <!-- one or more digits (NUMBER) -->
52
+ <xs:simpleType name="Number">
53
+ <xs:restriction base="xs:nonNegativeInteger"/>
54
+ </xs:simpleType>
55
+ <!-- integer representing length in pixels -->
56
+ <xs:simpleType name="Pixels">
57
+ <xs:restriction base="xs:nonNegativeInteger"/>
58
+ </xs:simpleType>
59
+ <!-- script expression -->
60
+ <xs:simpleType name="Script">
61
+ <xs:restriction base="xs:string"/>
62
+ </xs:simpleType>
63
+ <!-- sixteen color names or RGB color expression-->
64
+ <xs:simpleType name="Color">
65
+ <xs:union memberTypes="xs:NMTOKEN">
66
+ <xs:simpleType>
67
+ <xs:restriction base="xs:token">
68
+ <xs:pattern value="#[0-9a-fA-F]{3}([0-9a-fA-F]{3})?"/>
69
+ </xs:restriction>
70
+ </xs:simpleType>
71
+ </xs:union>
72
+ </xs:simpleType>
73
+ <!-- textual content -->
74
+ <xs:simpleType name="Text">
75
+ <xs:restriction base="xs:string"/>
76
+ </xs:simpleType>
77
+ <!-- Imported Datatypes -->
78
+ <!-- a single character, as per section 2.2 of [XML] -->
79
+ <xs:simpleType name="Character">
80
+ <xs:restriction base="xs:string">
81
+ <xs:length value="1" fixed="true"/>
82
+ </xs:restriction>
83
+ </xs:simpleType>
84
+ <!-- a character encoding, as per [RFC2045] -->
85
+ <xs:simpleType name="Charset">
86
+ <xs:restriction base="xs:string"/>
87
+ </xs:simpleType>
88
+ <!-- a space separated list of character encodings, as per [RFC2045] -->
89
+ <xs:simpleType name="Charsets">
90
+ <xs:list itemType="Charset"/>
91
+ </xs:simpleType>
92
+ <!-- media type, as per [RFC2045] -->
93
+ <xs:simpleType name="ContentType">
94
+ <xs:restriction base="xs:string"/>
95
+ </xs:simpleType>
96
+ <!-- comma-separated list of media types, as per [RFC2045] -->
97
+ <xs:simpleType name="ContentTypes">
98
+ <xs:restriction base="xs:string"/>
99
+ </xs:simpleType>
100
+ <!-- date and time information. ISO date format -->
101
+ <xs:simpleType name="Datetime">
102
+ <xs:restriction base="xs:dateTime"/>
103
+ </xs:simpleType>
104
+ <!-- formal public identifier, as per [ISO8879] -->
105
+ <xs:simpleType name="FPI">
106
+ <xs:restriction base="xs:normalizedString"/>
107
+ </xs:simpleType>
108
+
109
+ <!-- a window name as used in the target attribute -->
110
+ <xs:simpleType name="FrameTarget">
111
+ <xs:union>
112
+ <xs:simpleType>
113
+ <xs:restriction base="xs:NMTOKEN">
114
+ <xs:enumeration value="_blank"/>
115
+ <xs:enumeration value="_self"/>
116
+ <xs:enumeration value="_parent"/>
117
+ <xs:enumeration value="_top"/>
118
+ </xs:restriction>
119
+ </xs:simpleType>
120
+ <xs:simpleType>
121
+ <xs:restriction base="xs:string">
122
+ <xs:pattern value="[a-zA-Z].*"/>
123
+ </xs:restriction>
124
+ </xs:simpleType>
125
+ </xs:union>
126
+ </xs:simpleType>
127
+
128
+ <!-- a language code, as per [RFC3066] -->
129
+ <xs:simpleType name="LanguageCode">
130
+ <xs:restriction base="xs:language"/>
131
+ </xs:simpleType>
132
+ <!-- a comma separated list of language ranges -->
133
+ <xs:simpleType name="LanguageCodes">
134
+ <xs:restriction base="xs:string"/>
135
+ </xs:simpleType>
136
+ <!-- a Uniform Resource Identifier, see [URI] -->
137
+ <xs:simpleType name="URI">
138
+ <xs:restriction base="xs:anyURI"/>
139
+ </xs:simpleType>
140
+ <!-- a space-separated list of Uniform Resource Identifiers, see [URI] -->
141
+ <xs:simpleType name="URIs">
142
+ <xs:list itemType="xs:anyURI"/>
143
+ </xs:simpleType>
144
+ <!-- comma-separated list of MultiLength -->
145
+ <xs:simpleType name="MultiLengths">
146
+ <xs:restriction base="xs:string"/>
147
+ </xs:simpleType>
148
+ <!-- character Data -->
149
+ <xs:simpleType name="CDATA">
150
+ <xs:restriction base="xs:string"/>
151
+ </xs:simpleType>
152
+ <!-- CURIE placeholder datatypes -->
153
+ <xs:simpleType name="CURIE">
154
+ <xs:restriction base="xs:string">
155
+ <xs:pattern value="(([\i-[:]][\c-[:]]*)?:)?.+" />
156
+ <xs:minLength value="1"/>
157
+ </xs:restriction>
158
+ </xs:simpleType>
159
+ <xs:simpleType name="CURIEs">
160
+ <xs:list itemType="xh11d:CURIE"/>
161
+ </xs:simpleType>
162
+ <xs:simpleType name="SafeCURIE">
163
+ <xs:restriction base="xs:string">
164
+ <xs:pattern value="\[(([\i-[:]][\c-[:]]*)?:)?.+\]" />
165
+ <xs:minLength value="3"/>
166
+ </xs:restriction>
167
+ </xs:simpleType>
168
+ <xs:simpleType name="SafeCURIEs">
169
+ <xs:list itemType="xh11d:SafeCURIE"/>
170
+ </xs:simpleType>
171
+ <xs:simpleType name="URIorSafeCURIE">
172
+ <xs:union memberTypes="xs:anyURI xh11d:SafeCURIE" />
173
+ </xs:simpleType>
174
+ <xs:simpleType name="URIorSafeCURIEs">
175
+ <xs:list itemType="xh11d:URIorSafeCURIE"/>
176
+ </xs:simpleType>
177
+ </xs:schema>
@@ -0,0 +1,75 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <!-- METS XLink Schema, v. 2, Nov. 15, 2004 -->
3
+ <schema targetNamespace="http://www.w3.org/1999/xlink" xmlns="http://www.w3.org/2001/XMLSchema" xmlns:xlink="http://www.w3.org/1999/xlink" elementFormDefault="qualified">
4
+ <!-- global attributes -->
5
+ <attribute name="href" type="anyURI"/>
6
+ <attribute name="role" type="string"/>
7
+ <attribute name="arcrole" type="string"/>
8
+ <attribute name="title" type="string" />
9
+ <attribute name="show">
10
+ <simpleType>
11
+ <restriction base="string">
12
+ <enumeration value="new" />
13
+ <enumeration value="replace" />
14
+ <enumeration value="embed" />
15
+ <enumeration value="other" />
16
+ <enumeration value="none" />
17
+ </restriction>
18
+ </simpleType>
19
+ </attribute>
20
+ <attribute name="actuate">
21
+ <simpleType>
22
+ <restriction base="string">
23
+ <enumeration value="onLoad" />
24
+ <enumeration value="onRequest" />
25
+ <enumeration value="other" />
26
+ <enumeration value="none" />
27
+ </restriction>
28
+ </simpleType>
29
+ </attribute>
30
+ <attribute name="label" type="string" />
31
+ <attribute name="from" type="string" />
32
+ <attribute name="to" type="string" />
33
+ <attributeGroup name="simpleLink">
34
+ <attribute name="type" type="string" fixed="simple" form="qualified" />
35
+ <attribute ref="xlink:href" use="optional" />
36
+ <attribute ref="xlink:role" use="optional" />
37
+ <attribute ref="xlink:arcrole" use="optional" />
38
+ <attribute ref="xlink:title" use="optional" />
39
+ <attribute ref="xlink:show" use="optional" />
40
+ <attribute ref="xlink:actuate" use="optional" />
41
+ </attributeGroup>
42
+ <attributeGroup name="extendedLink">
43
+ <attribute name="type" type="string" fixed="extended" form="qualified" />
44
+ <attribute ref="xlink:role" use="optional" />
45
+ <attribute ref="xlink:title" use="optional" />
46
+ </attributeGroup>
47
+ <attributeGroup name="locatorLink">
48
+ <attribute name="type" type="string" fixed="locator" form="qualified" />
49
+ <attribute ref="xlink:href" use="required" />
50
+ <attribute ref="xlink:role" use="optional" />
51
+ <attribute ref="xlink:title" use="optional" />
52
+ <attribute ref="xlink:label" use="optional" />
53
+ </attributeGroup>
54
+ <attributeGroup name="arcLink">
55
+ <attribute name="type" type="string" fixed="arc" form="qualified" />
56
+ <attribute ref="xlink:arcrole" use="optional" />
57
+ <attribute ref="xlink:title" use="optional" />
58
+ <attribute ref="xlink:show" use="optional" />
59
+ <attribute ref="xlink:actuate" use="optional" />
60
+ <attribute ref="xlink:from" use="optional" />
61
+ <attribute ref="xlink:to" use="optional" />
62
+ </attributeGroup>
63
+ <attributeGroup name="resourceLink">
64
+ <attribute name="type" type="string" fixed="resource" form="qualified" />
65
+ <attribute ref="xlink:role" use="optional" />
66
+ <attribute ref="xlink:title" use="optional" />
67
+ <attribute ref="xlink:label" use="optional" />
68
+ </attributeGroup>
69
+ <attributeGroup name="titleLink">
70
+ <attribute name="type" type="string" fixed="title" form="qualified" />
71
+ </attributeGroup>
72
+ <attributeGroup name="emptyLink">
73
+ <attribute name="type" type="string" fixed="none" form="qualified" />
74
+ </attributeGroup>
75
+ </schema>
@@ -0,0 +1,145 @@
1
+ <?xml version="1.0"?>
2
+ <xs:schema targetNamespace="http://www.w3.org/XML/1998/namespace" xmlns:xs="http://www.w3.org/2001/XMLSchema" xml:lang="en">
3
+
4
+ <xs:annotation>
5
+ <xs:documentation>
6
+ See http://www.w3.org/XML/1998/namespace.html and
7
+ http://www.w3.org/TR/REC-xml for information about this namespace.
8
+
9
+ This schema document describes the XML namespace, in a form
10
+ suitable for import by other schema documents.
11
+
12
+ Note that local names in this namespace are intended to be defined
13
+ only by the World Wide Web Consortium or its subgroups. The
14
+ following names are currently defined in this namespace and should
15
+ not be used with conflicting semantics by any Working Group,
16
+ specification, or document instance:
17
+
18
+ base (as an attribute name): denotes an attribute whose value
19
+ provides a URI to be used as the base for interpreting any
20
+ relative URIs in the scope of the element on which it
21
+ appears; its value is inherited. This name is reserved
22
+ by virtue of its definition in the XML Base specification.
23
+
24
+ id (as an attribute name): denotes an attribute whose value
25
+ should be interpreted as if declared to be of type ID.
26
+ This name is reserved by virtue of its definition in the
27
+ xml:id specification.
28
+
29
+ lang (as an attribute name): denotes an attribute whose value
30
+ is a language code for the natural language of the content of
31
+ any element; its value is inherited. This name is reserved
32
+ by virtue of its definition in the XML specification.
33
+
34
+ space (as an attribute name): denotes an attribute whose
35
+ value is a keyword indicating what whitespace processing
36
+ discipline is intended for the content of the element; its
37
+ value is inherited. This name is reserved by virtue of its
38
+ definition in the XML specification.
39
+
40
+ Father (in any context at all): denotes Jon Bosak, the chair of
41
+ the original XML Working Group. This name is reserved by
42
+ the following decision of the W3C XML Plenary and
43
+ XML Coordination groups:
44
+
45
+ In appreciation for his vision, leadership and dedication
46
+ the W3C XML Plenary on this 10th day of February, 2000
47
+ reserves for Jon Bosak in perpetuity the XML name
48
+ xml:Father
49
+ </xs:documentation>
50
+ </xs:annotation>
51
+
52
+ <xs:annotation>
53
+ <xs:documentation>This schema defines attributes and an attribute group
54
+ suitable for use by
55
+ schemas wishing to allow xml:base, xml:lang, xml:space or xml:id
56
+ attributes on elements they define.
57
+
58
+ To enable this, such a schema must import this schema
59
+ for the XML namespace, e.g. as follows:
60
+ &lt;schema . . .&gt;
61
+ . . .
62
+ &lt;import namespace="http://www.w3.org/XML/1998/namespace"
63
+ schemaLocation="http://www.w3.org/2001/xml.xsd"/&gt;
64
+
65
+ Subsequently, qualified reference to any of the attributes
66
+ or the group defined below will have the desired effect, e.g.
67
+
68
+ &lt;type . . .&gt;
69
+ . . .
70
+ &lt;attributeGroup ref="xml:specialAttrs"/&gt;
71
+
72
+ will define a type which will schema-validate an instance
73
+ element with any of those attributes</xs:documentation>
74
+ </xs:annotation>
75
+
76
+ <xs:annotation>
77
+ <xs:documentation>In keeping with the XML Schema WG's standard versioning
78
+ policy, this schema document will persist at
79
+ http://www.w3.org/2007/08/xml.xsd.
80
+ At the date of issue it can also be found at
81
+ http://www.w3.org/2001/xml.xsd.
82
+ The schema document at that URI may however change in the future,
83
+ in order to remain compatible with the latest version of XML Schema
84
+ itself, or with the XML namespace itself. In other words, if the XML
85
+ Schema or XML namespaces change, the version of this document at
86
+ http://www.w3.org/2001/xml.xsd will change
87
+ accordingly; the version at
88
+ http://www.w3.org/2007/08/xml.xsd will not change.
89
+ </xs:documentation>
90
+ </xs:annotation>
91
+
92
+ <xs:attribute name="lang">
93
+ <xs:annotation>
94
+ <xs:documentation>Attempting to install the relevant ISO 2- and 3-letter
95
+ codes as the enumerated possible values is probably never
96
+ going to be a realistic possibility. See
97
+ RFC 3066 at http://www.ietf.org/rfc/rfc3066.txt and the IANA registry
98
+ at http://www.iana.org/assignments/lang-tag-apps.htm for
99
+ further information.
100
+
101
+ The union allows for the 'un-declaration' of xml:lang with
102
+ the empty string.</xs:documentation>
103
+ </xs:annotation>
104
+ <xs:simpleType>
105
+ <xs:union memberTypes="xs:language">
106
+ <xs:simpleType>
107
+ <xs:restriction base="xs:string">
108
+ <xs:enumeration value=""/>
109
+ </xs:restriction>
110
+ </xs:simpleType>
111
+ </xs:union>
112
+ </xs:simpleType>
113
+ </xs:attribute>
114
+
115
+ <xs:attribute name="space">
116
+ <xs:simpleType>
117
+ <xs:restriction base="xs:NCName">
118
+ <xs:enumeration value="default"/>
119
+ <xs:enumeration value="preserve"/>
120
+ </xs:restriction>
121
+ </xs:simpleType>
122
+ </xs:attribute>
123
+
124
+ <xs:attribute name="base" type="xs:anyURI">
125
+ <xs:annotation>
126
+ <xs:documentation>See http://www.w3.org/TR/xmlbase/ for
127
+ information about this attribute.</xs:documentation>
128
+ </xs:annotation>
129
+ </xs:attribute>
130
+
131
+ <xs:attribute name="id" type="xs:ID">
132
+ <xs:annotation>
133
+ <xs:documentation>See http://www.w3.org/TR/xml-id/ for
134
+ information about this attribute.</xs:documentation>
135
+ </xs:annotation>
136
+ </xs:attribute>
137
+
138
+ <xs:attributeGroup name="specialAttrs">
139
+ <xs:attribute ref="xml:base"/>
140
+ <xs:attribute ref="xml:lang"/>
141
+ <xs:attribute ref="xml:space"/>
142
+ <xs:attribute ref="xml:id"/>
143
+ </xs:attributeGroup>
144
+
145
+ </xs:schema>
@@ -0,0 +1,2 @@
1
+ This directory contains schema fragments for metadata such as annotations
2
+ and groupings of objects in sets.
@@ -0,0 +1,100 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.nexml.org/2009"
3
+ xmlns:xml="http://www.w3.org/XML/1998/namespace" xmlns="http://www.nexml.org/2009"
4
+ xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:sawsdl="http://www.w3.org/ns/sawsdl"
5
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
6
+ xmlns:xhtml="http://www.w3.org/1999/xhtml/datatypes/" elementFormDefault="qualified">
7
+
8
+ <!-- <xs:annotation>
9
+ <xs:documentation>
10
+ This module defines annotations that can be attached to
11
+ (almost) any nexml element. The markup for these annotations
12
+ allows embedding of RDFa-compliant metadata.
13
+ </xs:documentation>
14
+ </xs:annotation>
15
+ -->
16
+ <xs:import namespace="http://www.w3.org/XML/1998/namespace" schemaLocation="../external/xml.xsd"/>
17
+ <xs:import namespace="http://www.w3.org/1999/xlink" schemaLocation="../external/xlink.xsd"/>
18
+ <xs:import namespace="http://www.w3.org/ns/sawsdl" schemaLocation="../external/sawsdl.xsd"/>
19
+ <xs:import namespace="http://www.w3.org/1999/xhtml/datatypes/"
20
+ schemaLocation="../external/xhtml-datatypes-1.xsd"/>
21
+
22
+ <xs:complexType name="Base" abstract="true">
23
+ <xs:annotation>
24
+ <xs:documentation>
25
+ The base type for all complexType definitions in the
26
+ nexml schema. This type allows a number of special
27
+ attributes:
28
+ <ul>
29
+ <li>xml:lang - for languages codes</li>
30
+ <li>
31
+ xml:base - see
32
+ <a href="http://www.w3.org/TR/xmlbase/">
33
+ http://www.w3.org/TR/xmlbase/
34
+ </a>
35
+ </li>
36
+ <li>
37
+ xml:id - see
38
+ <a href="http://www.w3.org/TR/xml-id/">
39
+ http://www.w3.org/TR/xml-id/
40
+ </a>
41
+ </li>
42
+ <li>xml:space - for whitespace handling</li>
43
+ <li>xlink:href - for links</li>
44
+ <li>class - for class membership</li>
45
+ </ul>
46
+ Also see http://www.w3.org/2001/xml.xsd for more
47
+ information on the xml and xlink attributes.
48
+ </xs:documentation>
49
+ </xs:annotation>
50
+ <xs:sequence/>
51
+ <!-- <xs:attributeGroup ref="xml:specialAttrs" /> -->
52
+ <xs:attribute name="class" type="xs:IDREFS" use="optional"/>
53
+ <xs:attribute name="id" type="xs:ID" use="optional"/>
54
+ <xs:anyAttribute namespace="##any" processContents="skip"/>
55
+ </xs:complexType>
56
+
57
+ <xs:complexType name="Meta" abstract="true" mixed="true">
58
+ <xs:complexContent>
59
+ <xs:extension base="Base"> </xs:extension>
60
+ </xs:complexContent>
61
+ </xs:complexType>
62
+
63
+ <xs:complexType name="ResourceMeta" abstract="false" mixed="true">
64
+ <xs:annotation>
65
+ <xs:documentation>
66
+ Metadata annotations in which the object is a resource. If this element contains meta elements
67
+ as children, then the object of this annotation is a "blank node".
68
+ </xs:documentation>
69
+ </xs:annotation>
70
+ <xs:complexContent>
71
+ <xs:extension base="Meta">
72
+ <xs:sequence>
73
+ <xs:element name="meta" type="Meta" minOccurs="0" maxOccurs="unbounded"/>
74
+ </xs:sequence>
75
+ <xs:attribute name="href" type="xhtml:URI" use="optional"/>
76
+ <xs:attribute name="rel" type="xs:QName" use="required"/>
77
+ </xs:extension>
78
+ </xs:complexContent>
79
+ </xs:complexType>
80
+
81
+ <xs:complexType name="LiteralMeta" mixed="true" abstract="false">
82
+ <xs:annotation>
83
+ <xs:documentation>
84
+ Metadata annotations in which the object is a literal value. If the @content attribute is used,
85
+ then the element should contain no children.
86
+ </xs:documentation>
87
+ </xs:annotation>
88
+ <xs:complexContent mixed="true">
89
+ <xs:extension base="Meta">
90
+ <xs:sequence>
91
+ <xs:any minOccurs="0" maxOccurs="unbounded"/>
92
+ </xs:sequence>
93
+ <xs:attribute name="property" type="xs:QName" use="required"/>
94
+ <xs:attribute name="datatype" type="xs:QName" use="optional"/>
95
+ <xs:attribute name="content" type="xs:string"/>
96
+ </xs:extension>
97
+ </xs:complexContent>
98
+ </xs:complexType>
99
+
100
+ </xs:schema>