root / trunk / libraries / libGPE-GML / testdata / schemas / 3.1.1 / base / geometryComplexes.xsd @ 11160
History | View | Annotate | Download (7.76 KB)
1 |
<?xml version="1.0" encoding="UTF-8"?> |
---|---|
2 |
<schema targetNamespace="http://www.opengis.net/gml" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:gml="http://www.opengis.net/gml" xmlns:sch="http://www.ascc.net/xml/schematron" xmlns="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" |
3 |
version="3.1.1"> |
4 |
<annotation> |
5 |
<appinfo source="urn:opengis:specification:gml:schema-xsd:geometryComplexes:v3.1.1">geometryComplexes.xsd</appinfo> |
6 |
<documentation>Copyright (c) 2001-2005 OGC, All Rights Reserved. |
7 |
For conditions, see OGC Software Notice http://www.opengeospatial.org/about/?page=ipr</documentation> |
8 |
</annotation> |
9 |
<include schemaLocation="geometryAggregates.xsd"/> |
10 |
<!-- =========================================================== --> |
11 |
<element name="CompositeCurve" type="gml:CompositeCurveType" substitutionGroup="gml:_Curve"/> |
12 |
<!-- =========================================================== --> |
13 |
<complexType name="CompositeCurveType"> |
14 |
<annotation> |
15 |
<documentation>A CompositeCurve is defined by a sequence of (orientable) curves such that the each curve in the sequence terminates at the start point of the subsequent curve in the list.</documentation> |
16 |
</annotation> |
17 |
<complexContent> |
18 |
<extension base="gml:AbstractCurveType"> |
19 |
<sequence> |
20 |
<element ref="gml:curveMember" maxOccurs="unbounded"> |
21 |
<annotation> |
22 |
<documentation>This element references or contains one curve in the composite curve. The curves are contiguous, the collection of curves is ordered. |
23 |
NOTE: This definition allows for a nested structure, i.e. a CompositeCurve may use, for example, another CompositeCurve as a curve member.</documentation> |
24 |
</annotation> |
25 |
</element> |
26 |
</sequence> |
27 |
</extension> |
28 |
</complexContent> |
29 |
</complexType> |
30 |
<!-- ============================================================== --> |
31 |
<complexType name="CompositeCurvePropertyType"> |
32 |
<sequence minOccurs="0"> |
33 |
<element ref="gml:CompositeCurve"/> |
34 |
</sequence> |
35 |
<attributeGroup ref="gml:AssociationAttributeGroup"/> |
36 |
</complexType> |
37 |
<!-- =========================================================== --> |
38 |
<element name="CompositeSurface" type="gml:CompositeSurfaceType" substitutionGroup="gml:_Surface"/> |
39 |
<!-- =========================================================== --> |
40 |
<complexType name="CompositeSurfaceType"> |
41 |
<annotation> |
42 |
<documentation>A CompositeSurface is defined by a set of orientable surfaces. A composite surface is geometry type with all the geometric properties of a (primitive) surface. Essentially, a composite surface is a collection of surfaces that join in pairs on common boundary curves and which, when considered as a whole, form a single surface.</documentation> |
43 |
</annotation> |
44 |
<complexContent> |
45 |
<extension base="gml:AbstractSurfaceType"> |
46 |
<sequence> |
47 |
<element ref="gml:surfaceMember" maxOccurs="unbounded"> |
48 |
<annotation> |
49 |
<documentation>This element references or contains one surface in the composite surface. The surfaces are contiguous. |
50 |
NOTE: This definition allows for a nested structure, i.e. a CompositeSurface may use, for example, another CompositeSurface as a member.</documentation> |
51 |
</annotation> |
52 |
</element> |
53 |
</sequence> |
54 |
</extension> |
55 |
</complexContent> |
56 |
</complexType> |
57 |
<!-- ============================================================== --> |
58 |
<complexType name="CompositeSurfacePropertyType"> |
59 |
<sequence minOccurs="0"> |
60 |
<element ref="gml:CompositeSurface"/> |
61 |
</sequence> |
62 |
<attributeGroup ref="gml:AssociationAttributeGroup"/> |
63 |
</complexType> |
64 |
<!-- =========================================================== --> |
65 |
<element name="CompositeSolid" type="gml:CompositeSolidType" substitutionGroup="gml:_Solid"/> |
66 |
<!-- =========================================================== --> |
67 |
<complexType name="CompositeSolidType"> |
68 |
<annotation> |
69 |
<documentation>A composite solid is a geometry type with all the geometric properties of a (primitive) solid. |
70 |
Essentially, a composite solid is a collection of solids that join in pairs on common boundary surfaces and which, when considered as a whole, form a single solid.</documentation> |
71 |
</annotation> |
72 |
<complexContent> |
73 |
<extension base="gml:AbstractSolidType"> |
74 |
<sequence> |
75 |
<element ref="gml:solidMember" maxOccurs="unbounded"> |
76 |
<annotation> |
77 |
<appinfo> |
78 |
<sch:pattern name="Check either href or content not both"> |
79 |
<sch:rule context="gml:solidMember"> |
80 |
<sch:extends rule="hrefOrContent"/> |
81 |
</sch:rule> |
82 |
</sch:pattern> |
83 |
</appinfo> |
84 |
<documentation>This element references or contains one solid in the composite solid. The solids are contiguous. |
85 |
NOTE: This definition allows for a nested structure, i.e. a CompositeSolid may use, for example, another CompositeSolid as a member.</documentation> |
86 |
</annotation> |
87 |
</element> |
88 |
</sequence> |
89 |
</extension> |
90 |
</complexContent> |
91 |
</complexType> |
92 |
<!-- ============================================================== --> |
93 |
<complexType name="CompositeSolidPropertyType"> |
94 |
<sequence minOccurs="0"> |
95 |
<element ref="gml:CompositeSolid"/> |
96 |
</sequence> |
97 |
<attributeGroup ref="gml:AssociationAttributeGroup"/> |
98 |
</complexType> |
99 |
<!-- =========================================================== --> |
100 |
<!-- complex/composite geometry objects --> |
101 |
<!-- =========================================================== --> |
102 |
<element name="GeometricComplex" type="gml:GeometricComplexType" substitutionGroup="gml:_Geometry"/> |
103 |
<!-- =========================================================== --> |
104 |
<complexType name="GeometricComplexType"> |
105 |
<annotation> |
106 |
<documentation>A geometric complex.</documentation> |
107 |
</annotation> |
108 |
<complexContent> |
109 |
<extension base="gml:AbstractGeometryType"> |
110 |
<sequence> |
111 |
<element name="element" type="gml:GeometricPrimitivePropertyType" maxOccurs="unbounded"/> |
112 |
</sequence> |
113 |
</extension> |
114 |
</complexContent> |
115 |
</complexType> |
116 |
<!-- =========================================================== --> |
117 |
<complexType name="GeometricComplexPropertyType"> |
118 |
<annotation> |
119 |
<documentation>A property that has a geometric complex as its value domain can either be an appropriate geometry element encapsulated in an element of this type or an XLink reference to a remote geometry element (where remote includes geometry elements located elsewhere in the same document). Either the reference or the contained element must be given, but neither both nor none. |
120 |
NOTE: The allowed geometry elements contained in such a property (or referenced by it) have to be modelled by an XML Schema choice element since the composites inherit both from geometric complex *and* geometric primitive and are already part of the _GeometricPrimitive substitution group.</documentation> |
121 |
</annotation> |
122 |
<sequence minOccurs="0"> |
123 |
<choice> |
124 |
<element ref="gml:GeometricComplex"/> |
125 |
<element ref="gml:CompositeCurve"/> |
126 |
<element ref="gml:CompositeSurface"/> |
127 |
<element ref="gml:CompositeSolid"/> |
128 |
</choice> |
129 |
</sequence> |
130 |
<attributeGroup ref="gml:AssociationAttributeGroup"> |
131 |
<annotation> |
132 |
<documentation>This attribute group includes the XLink attributes (see xlinks.xsd). XLink is used in GML to reference remote resources (including those elsewhere in the same document). A simple link element can be constructed by including a specific set of XLink attributes. The XML Linking Language (XLink) is currently a Proposed Recommendation of the World Wide Web Consortium. XLink allows elements to be inserted into XML documents so as to create sophisticated links between resources; such links can be used to reference remote properties. |
133 |
A simple link element can be used to implement pointer functionality, and this functionality has been built into various GML 3 elements by including the gml:AssociationAttributeGroup.</documentation> |
134 |
</annotation> |
135 |
</attributeGroup> |
136 |
</complexType> |
137 |
<!-- =========================================================== --> |
138 |
</schema> |