SigICMom160503: XMpLantPIDProfileSchema_4.0.1.2.xsd

File XMpLantPIDProfileSchema_4.0.1.2.xsd, 88.3 kB (added by darijuss, 8 years ago)

Newest version of Proteus Schema

Line 
1<?xml version="1.0" encoding="UTF-8" ?>
2<!--
3    Proteus Schema 4.0.1 release candidate 1
4    Changes since Proteus 3.6.0 are marked:
5                <!- - MOD in 4.0.1 alpha 1: FlowIn and FlowOut have no defaults - ->
6            ... some modified content ...
7            <!- - END OF MOD - ->
8    The changes are described in two text documents:
9        Proposal Proteus Modifications 0.4.docx
10        Proposal Proteus Extension for new Instrumentation Model 0.5.docx
11    In addition: New elements also allowed in ShapeCatalogue
12-->
13<xsd:schema xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsd="http://www.w3.org/2001/XMLSchema" version="1.0">
14        <xsd:annotation>
15                <xsd:documentation>version 1.0</xsd:documentation>
16        </xsd:annotation>
17        <!-- ItemAttribute definitions - these relate to engineering attributes of Plant Items -->
18        <!-- Basic Attributes -->
19        <xsd:attribute name="Format">
20                <xsd:simpleType>
21                        <xsd:restriction base="xsd:NMTOKEN">
22                                <xsd:enumeration value="string" />
23                                <xsd:enumeration value="byte" />
24                                <xsd:enumeration value="short" />
25                                <xsd:enumeration value="integer" />
26                                <xsd:enumeration value="long" />
27                                <xsd:enumeration value="ulong" />
28                                <xsd:enumeration value="float" />
29                                <xsd:enumeration value="double" />
30                                <xsd:enumeration value="anyURI" />
31                        </xsd:restriction>
32                </xsd:simpleType>
33        </xsd:attribute>
34        <xsd:attribute name="Units">
35                <xsd:annotation>
36                        <xsd:documentation>This reference the EPISTLE Reference Data Library (ERDL) Units of measure </xsd:documentation>
37                </xsd:annotation>
38        </xsd:attribute>
39        <xsd:simpleType name="AreaUnitsType">
40                <xsd:annotation>
41                        <xsd:documentation>These Area units are from the ISO 15926 Reference Data Library (RDL) Units of measure </xsd:documentation>
42                </xsd:annotation>
43                <xsd:restriction base="xsd:string">
44                        <xsd:enumeration value="sq mm" />
45                        <xsd:enumeration value="sq cm" />
46                        <xsd:enumeration value="sq dm" />
47                        <xsd:enumeration value="sq m" />
48                        <xsd:enumeration value="sq km" />
49                        <xsd:enumeration value="sq in" />
50                        <xsd:enumeration value="sq ft" />
51                        <xsd:enumeration value="sq yd" />
52                        <xsd:enumeration value="MillimetreSquared" />
53                        <xsd:enumeration value="CentimetreSquared" />
54                        <xsd:enumeration value="DecimetreSquared" />                   
55                        <xsd:enumeration value="MetreSquared" />
56                        <xsd:enumeration value="KilometreSquared" />
57                        <xsd:enumeration value="InchSquared" />
58                        <xsd:enumeration value="FootSquared" />
59                        <xsd:enumeration value="YardSquared" />
60                        <xsd:enumeration value="MileSquared" />
61                        <xsd:enumeration value="Barn" />
62                        <xsd:enumeration value="MicrometreSquared" />
63                        <xsd:enumeration value="Are" />
64                        <xsd:enumeration value="Hectare" />
65                        <xsd:enumeration value="Acre" />
66                        <xsd:enumeration value="HundredFootSquared" />
67                        <xsd:enumeration value="UsSurveyMileSquared" />
68                </xsd:restriction>
69        </xsd:simpleType>
70        <xsd:simpleType name="AngleUnitsType">
71                <xsd:annotation>
72                        <xsd:documentation>These angle units are from the ISO 15926 Reference Data Library (RDL) Units of measure </xsd:documentation>
73                </xsd:annotation>
74                <xsd:restriction base="xsd:NMTOKEN">
75                        <xsd:enumeration value="rad" />
76                        <xsd:enumeration value="deg" />
77                        <xsd:enumeration value="Radian" />
78                        <xsd:enumeration value="Degree-angle" />       
79                        <xsd:enumeration value="CentesimalSecond" />
80                        <xsd:enumeration value="CentesimalMinute" />
81                        <xsd:enumeration value="Second-angle" />
82                        <xsd:enumeration value="Minute-angle" />
83                        <xsd:enumeration value="Microradian" />
84                        <xsd:enumeration value="Milliradian" />
85                        <xsd:enumeration value="Kiloradian" />
86                        <xsd:enumeration value="Megaradian" />
87                        <xsd:enumeration value="Gigaradian" />
88                        <xsd:enumeration value="Mil_6400Radian" />
89                        <xsd:enumeration value="Cycle" />
90                        <xsd:enumeration value="Iso2041Cycle" />
91                        <xsd:enumeration value="DecimalDegree" />
92                </xsd:restriction>
93        </xsd:simpleType>
94        <xsd:simpleType name="LengthUnitsType">
95                <xsd:annotation>
96                        <xsd:documentation>These Length units are from the ISO 15926 Reference Data Library (RDL) Units of measure</xsd:documentation>
97                </xsd:annotation>
98                <xsd:restriction base="xsd:NMTOKEN">
99                        <xsd:enumeration value="mm" />
100                        <xsd:enumeration value="cm" />
101                        <xsd:enumeration value="dm" />
102                        <xsd:enumeration value="m" />
103                        <xsd:enumeration value="km" />
104                        <xsd:enumeration value="in" />
105                        <xsd:enumeration value="ft" />
106                        <xsd:enumeration value="yd" />
107                        <xsd:enumeration value="Millimetre" />
108                        <xsd:enumeration value="Centimetre" />
109                        <xsd:enumeration value="Decimetre" />
110                        <xsd:enumeration value="Metre" />
111                        <xsd:enumeration value="Kilometre" />
112                        <xsd:enumeration value="Inch" />
113                        <xsd:enumeration value="Yard" />
114                        <xsd:enumeration value="Mile" />
115                        <xsd:enumeration value="Foot" />
116                        <xsd:enumeration value="Picometre" />
117                        <xsd:enumeration value="Micrometre" />
118                        <xsd:enumeration value="Megametre" />
119                        <xsd:enumeration value="Nanometre" />
120                        <xsd:enumeration value="Femtometre" />
121                        <xsd:enumeration value="Fathom" />
122                        <xsd:enumeration value="Mil" />
123                        <xsd:enumeration value="Parsec" />
124                        <xsd:enumeration value="Angstrom" />
125                        <xsd:enumeration value="TenthOfAnInch" />
126                        <xsd:enumeration value="NauticalMile" />
127                        <xsd:enumeration value="16thOfAnInch" />
128                        <xsd:enumeration value="32ndOfAnInch" />
129                        <xsd:enumeration value="64thOfAnInch" />
130                        <xsd:enumeration value="ImperialYard" />
131                        <xsd:enumeration value="ImperialFoot" />
132                        <xsd:enumeration value="UsSurveyInch" />
133                        <xsd:enumeration value="UsSurveyFoot" />
134                        <xsd:enumeration value="UsSurveyMile" />
135                        <xsd:enumeration value="UsSurveyChain" />
136                        <xsd:enumeration value="UsSurveyLink" />
137                        <xsd:enumeration value="ClarkeChain" />
138                        <xsd:enumeration value="ClarkeLink" />
139                        <xsd:enumeration value="ClarkeYard" />
140                        <xsd:enumeration value="SearsChain" />
141                        <xsd:enumeration value="SearsLink" />
142                        <xsd:enumeration value="SearsFoot" />
143                        <xsd:enumeration value="SearsYard" />
144                        <xsd:enumeration value="GermanLegalMetre" />
145                        <xsd:enumeration value="GoldCoastFoot" />
146                        <xsd:enumeration value="ModifiedAmericanFoot" />
147                        <xsd:enumeration value="IndianGeodeticFoot" />
148                        <xsd:enumeration value="IndianYard" />                 
149                </xsd:restriction>
150        </xsd:simpleType>
151        <xsd:simpleType name="MassUnitsType">
152                <xsd:annotation>
153                        <xsd:documentation>These weight units are from the ISO 15926 Reference Data Library (RDL) Units of measure</xsd:documentation>
154                </xsd:annotation>
155                <xsd:restriction base="xsd:NMTOKEN">
156                        <xsd:enumeration value="mg" />
157                        <xsd:enumeration value="g" />
158                        <xsd:enumeration value="kg" />
159                        <xsd:enumeration value="Mg" />
160                        <xsd:enumeration value="lb" />
161                        <xsd:enumeration value="oz" />
162                        <xsd:enumeration value="Microgram" />
163                        <xsd:enumeration value="Milligram" />
164                        <xsd:enumeration value="Gram" />
165                        <xsd:enumeration value="Kilogram" />
166                        <xsd:enumeration value="Megagram" />
167                        <xsd:enumeration value="PoundMass" />
168                        <xsd:enumeration value="OunceMass" />
169                        <xsd:enumeration value="Attogram" />
170                        <xsd:enumeration value="MillionPoundMass" />
171                        <xsd:enumeration value="OunceTroy" />
172                        <xsd:enumeration value="UkHundredweight" />
173                        <xsd:enumeration value="UnifiedAtomicMassUnit" />
174                        <xsd:enumeration value="KilopoundMass" />
175                        <xsd:enumeration value="UsHundredweight" />
176                        <xsd:enumeration value="94PoundSack" />
177                        <xsd:enumeration value="AvoirdupoisOunce" />
178                        <xsd:enumeration value="UkTon" />
179                        <xsd:enumeration value="Tonne" />
180                        <xsd:enumeration value="OunceMassAv" />
181                        <xsd:enumeration value="Grain" />
182                        <xsd:enumeration value="UsTon" />
183                        <xsd:enumeration value="Carat" />
184                </xsd:restriction>
185        </xsd:simpleType>
186        <xsd:simpleType name="PressureUnitsType">
187                <xsd:annotation>
188                        <xsd:documentation>These pressure units are from the ISO 15926 Reference Data Library (RDL) Units of measure</xsd:documentation>
189                </xsd:annotation>
190                <xsd:restriction base="xsd:NMTOKEN">
191                        <!-- TODO change base schema for bara, barg and add bar.-->
192                        <xsd:enumeration value="bar" />
193                        <xsd:enumeration value="bara" />
194                        <xsd:enumeration value="barg" />
195                        <xsd:enumeration value="mPa" />
196                        <xsd:enumeration value="Pa" />
197                        <xsd:enumeration value="kPa" />
198                        <xsd:enumeration value="MPa" />
199                        <xsd:enumeration value="at" />
200                        <xsd:enumeration value="atm" />
201                        <xsd:enumeration value="psi" />
202                        <xsd:enumeration value="Kilopascal" />
203                        <xsd:enumeration value="Gigapascal" />
204                        <xsd:enumeration value="Micropascal" />
205                        <xsd:enumeration value="Megapascal" />
206                        <xsd:enumeration value="Picopascal" />
207                        <xsd:enumeration value="Bar" />
208                        <xsd:enumeration value="Pascal" />
209                        <xsd:enumeration value="Millipascal" />
210                        <xsd:enumeration value="Kilobar" />
211                        <xsd:enumeration value="Hectobar" />
212                        <xsd:enumeration value="KilonewtonPerMetreSquared" />
213                        <xsd:enumeration value="NewtonPerMetreSquared" />
214                        <xsd:enumeration value="NewtonPerMillimetreSquared" />
215                        <xsd:enumeration value="BarGauge" />
216                        <xsd:enumeration value="BarAbsolute" />                 
217                        <xsd:enumeration value="PascalGauge" />
218                        <xsd:enumeration value="MegapascalGauge" />
219                        <xsd:enumeration value="Hectopascal" />
220                        <xsd:enumeration value="KilogramForcePerCentimetreSquared" />
221                        <xsd:enumeration value="KilogramForcePerMillimetreSquared" />
222                        <xsd:enumeration value="KilopoundPerInchSquared" />
223                        <xsd:enumeration value="MetreLiquidColumn" />
224                        <xsd:enumeration value="MegapoundPerInchSquared" />
225                        <xsd:enumeration value="MicropoundPerSquareInch" />
226                        <xsd:enumeration value="PoundalPerInchSquared" />
227                        <xsd:enumeration value="PoundalPerFootSquared" />
228                        <xsd:enumeration value="MillibarGauge" />
229                        <xsd:enumeration value="Millibar" />
230                        <xsd:enumeration value="Microbar" />
231                        <xsd:enumeration value="KilogramForcePerCentimetreSquared" />
232                        <xsd:enumeration value="KilogramForcePerMetreSquared" />
233                        <xsd:enumeration value="StandardAtmosphere" />
234                        <xsd:enumeration value="PhysicalAtmosphere" />
235                        <xsd:enumeration value="TechnicalAtmosphere" />
236                        <xsd:enumeration value="PoundForcePerInchSquared" />
237                        <xsd:enumeration value="PoundForcePerInchSquaredGauge" />
238                        <xsd:enumeration value="PoundForcePerInchSquaredAbsolute" />
239                        <xsd:enumeration value="PoundForcePerFootSquared" />
240                        <xsd:enumeration value="UsTonForcePerInchSquared" />
241                        <xsd:enumeration value="UsTonForcePerFootSquared" />
242                        <xsd:enumeration value="Torr" />                       
243                </xsd:restriction>
244        </xsd:simpleType>
245        <xsd:simpleType name="TemperatureUnitsType">
246                <xsd:annotation>
247                        <xsd:documentation>These temperature units are from the ISO 15926 Reference Data Library (RDL) Units of measure</xsd:documentation>
248                </xsd:annotation>
249                <xsd:restriction base="xsd:NMTOKEN">
250                        <xsd:enumeration value="degC" />
251                        <xsd:enumeration value="degF" />
252                        <xsd:enumeration value="degK" />
253                        <xsd:enumeration value="K" />
254                        <xsd:enumeration value="DegreeCelsius" />
255                        <xsd:enumeration value="DegreeRankine" />
256                        <xsd:enumeration value="DegreeFahrenheit" />                   
257                        <xsd:enumeration value="Kelvin" />
258                        <xsd:enumeration value="MilliKelvin" />
259                </xsd:restriction>
260        </xsd:simpleType>
261        <xsd:simpleType name="VolumeUnitsType">
262                <xsd:annotation>
263                        <xsd:documentation>These Volume units are from the ISO 15926 Reference Data Library (RDL) Units of measure </xsd:documentation>
264                </xsd:annotation>
265                <xsd:restriction base="xsd:string">
266                        <xsd:enumeration value="cc" />
267                        <xsd:enumeration value="MicrometreSquaredMetre" />
268                        <xsd:enumeration value="MillimetreCubed" />
269                        <xsd:enumeration value="CentimetreCubed" />
270                        <xsd:enumeration value="DecimetreCubed" />
271                        <xsd:enumeration value="MetreCubed" />
272                        <xsd:enumeration value="StandardMetreCubed" />
273                        <xsd:enumeration value="KilometreCubed" />
274                        <xsd:enumeration value="MillionMetreCubed" />
275                        <xsd:enumeration value="Millilitre" />
276                        <xsd:enumeration value="Centilitre" />
277                        <xsd:enumeration value="Decilitre" />
278                        <xsd:enumeration value="Litre" />
279                        <xsd:enumeration value="Hectolitre" />
280                        <xsd:enumeration value="InchCubed" />
281                        <xsd:enumeration value="StandardFootCubed" />
282                        <xsd:enumeration value="FootCubed" />
283                        <xsd:enumeration value="HundredFootCubed" />
284                        <xsd:enumeration value="ThousandFootCubed" />
285                        <xsd:enumeration value="MillionFootCubed" />
286                        <xsd:enumeration value="BillionFootCubed" />
287                        <xsd:enumeration value="YardCubed" />
288                        <xsd:enumeration value="MileCubed" />
289                        <xsd:enumeration value="AcreFoot" />                   
290                        <xsd:enumeration value="UkBushel" />
291                        <xsd:enumeration value="UkFluidOunce" />
292                        <xsd:enumeration value="UkGallon" />
293                        <xsd:enumeration value="ThousandUkGallon" />
294                        <xsd:enumeration value="UkPint" />
295                        <xsd:enumeration value="UkQuart" />
296                        <xsd:enumeration value="UsBarrel" />
297                        <xsd:enumeration value="UsBushel" />
298                        <xsd:enumeration value="UsDryBarrel" />
299                        <xsd:enumeration value="UsDryPint" />
300                        <xsd:enumeration value="UsFluidOunce" />
301                        <xsd:enumeration value="UsGallon" />
302                        <xsd:enumeration value="ThousandUsGallon" />
303                        <xsd:enumeration value="UsLiquidPint" />
304                        <xsd:enumeration value="UsPint" />
305                        <xsd:enumeration value="UsQuart" />
306                        <xsd:enumeration value="Barrel" />
307                        <xsd:enumeration value="ThousandBarrel" />
308                        <xsd:enumeration value="MillionBarrel" />                       
309                        <xsd:enumeration value="Cubem" />
310                        <xsd:enumeration value="HectareMetre" />
311                </xsd:restriction>
312        </xsd:simpleType>       
313        <!-- Unit constrained Basic type -->
314        <xsd:complexType name="AreaDouble">
315                <xsd:attribute name="Value" type="xsd:double" use="optional" />
316                <xsd:attribute name="Units" type="AreaUnitsType" use="optional" />
317                <xsd:attribute name="ValueURI" type="xsd:anyURI" use="optional"/>
318                <xsd:attribute name="UnitsURI" type="xsd:anyURI" use="optional"/>
319        </xsd:complexType>
320        <xsd:complexType name="AngleDouble">
321                <xsd:attribute name="Value" type="xsd:double" use="optional" />
322                <xsd:attribute name="Units" type="AngleUnitsType" use="optional" />
323                <xsd:attribute name="ValueURI" type="xsd:anyURI" use="optional"/>
324                <xsd:attribute name="UnitsURI" type="xsd:anyURI" use="optional"/>
325        </xsd:complexType>
326        <xsd:complexType name="LengthDouble">
327                <xsd:attribute name="Value" type="xsd:double" use="optional" />
328                <xsd:attribute name="Units" type="LengthUnitsType" use="optional" />
329                <xsd:attribute name="ValueURI" type="xsd:anyURI" use="optional"/>
330                <xsd:attribute name="UnitsURI" type="xsd:anyURI" use="optional"/>
331        </xsd:complexType>
332        <xsd:complexType name="PressureDouble">
333                <xsd:attribute name="Value" type="xsd:double" use="optional" />
334                <xsd:attribute name="Units" type="PressureUnitsType" use="optional" />
335                <xsd:attribute name="ValueURI" type="xsd:anyURI" use="optional"/>
336                <xsd:attribute name="UnitsURI" type="xsd:anyURI" use="optional"/>
337        </xsd:complexType>
338        <xsd:complexType name="TemperatureDouble">
339                <xsd:attribute name="Value" type="xsd:double" use="optional" />
340                <xsd:attribute name="Units" type="TemperatureUnitsType" use="optional" />
341                <xsd:attribute name="ValueURI" type="xsd:anyURI" use="optional"/>
342                <xsd:attribute name="UnitsURI" type="xsd:anyURI" use="optional"/>
343        </xsd:complexType>
344        <xsd:complexType name="VolumeDouble">
345                <xsd:attribute name="Value" type="xsd:double" use="optional" />
346                <xsd:attribute name="Units" type="VolumeUnitsType" use="optional" />
347                <xsd:attribute name="ValueURI" type="xsd:anyURI" use="optional"/>
348                <xsd:attribute name="UnitsURI" type="xsd:anyURI" use="optional"/>
349        </xsd:complexType>
350        <xsd:complexType name="MassDouble">
351                <xsd:attribute name="Value" type="xsd:double" use="optional" />
352                <xsd:attribute name="Units" type="MassUnitsType" use="optional" />
353                <xsd:attribute name="ValueURI" type="xsd:anyURI" use="optional"/>
354                <xsd:attribute name="UnitsURI" type="xsd:anyURI" use="optional"/>
355        </xsd:complexType>
356        <xsd:complexType name="LengthString">
357                <xsd:attribute name="Value" type="xsd:string" use="optional" />
358                <xsd:attribute name="Units" type="LengthUnitsType" use="optional" />
359                <xsd:attribute name="ValueURI" type="xsd:anyURI" use="optional"/>
360                <xsd:attribute name="UnitsURI" type="xsd:anyURI" use="optional"/>
361        </xsd:complexType>
362        <!-- Basic types -->
363        <xsd:complexType name="Integer">
364                <xsd:attribute name="Value" type="xsd:integer" use="optional" />
365                <xsd:attribute ref="Units" use="optional" />
366                <xsd:attribute name="ValueURI" type="xsd:anyURI" use="optional"/>
367                <xsd:attribute name="UnitsURI" type="xsd:anyURI" use="optional"/>
368        </xsd:complexType>
369        <xsd:complexType name="Double">
370                <xsd:attribute name="Value" type="xsd:double" use="optional" />
371                <xsd:attribute ref="Units" use="optional" />
372                <xsd:attribute name="ValueURI" type="xsd:anyURI" use="optional"/>
373                <xsd:attribute name="UnitsURI" type="xsd:anyURI" use="optional"/>
374        </xsd:complexType>
375        <xsd:complexType name="String">
376                <xsd:attribute name="Value" type="xsd:string" use="optional" />
377                <xsd:attribute ref="Units" use="optional" />
378                <xsd:attribute name="ValueURI" type="xsd:anyURI" use="optional"/>
379                <xsd:attribute name="UnitsURI" type="xsd:anyURI" use="optional"/>
380        </xsd:complexType>
381        <xsd:simpleType name="Colour">
382                <xsd:restriction base="xsd:double">
383                        <xsd:minInclusive value="0.0" />
384                        <xsd:maxInclusive value="1.0" />
385                </xsd:restriction>
386        </xsd:simpleType>
387        <!--"Curve" Type  -->
388        <xsd:complexType name="Curve" abstract="true"/>
389        <!-- List of Control Points -->
390        <xsd:complexType name="ControlPoints">
391                <xsd:sequence>
392                        <xsd:element ref="Coordinate" maxOccurs="unbounded" />
393                </xsd:sequence>
394        </xsd:complexType>
395        <!-- List of list of control points -->
396        <xsd:complexType name="ControlPointArray">
397                <xsd:sequence>
398                        <xsd:element name="ControlPoints" type="ControlPoints" maxOccurs="unbounded" />
399                </xsd:sequence>
400        </xsd:complexType>
401        <!-- List of Knot Multiplicities -->
402        <xsd:complexType name="KnotMultiplicities">
403                <xsd:sequence>
404                        <xsd:element name="Multiplicity" maxOccurs="unbounded" type="xsd:nonNegativeInteger"/>
405                </xsd:sequence>
406        </xsd:complexType>
407        <!-- List of Knot location in parametric space -->
408        <xsd:complexType name="Knots">
409                <xsd:sequence>
410                        <xsd:element name="Knot" maxOccurs="unbounded">
411                                <xsd:simpleType>
412                                        <xsd:restriction base="xsd:double">
413                                                <xsd:minInclusive value="0.0"/>
414                                        </xsd:restriction>
415                                </xsd:simpleType>
416                        </xsd:element>
417                </xsd:sequence>
418        </xsd:complexType>
419        <!-- List of Weights - one per control point for Rational curves and surfaces -->
420        <xsd:complexType name="WeightsData">
421                <xsd:sequence>
422                        <xsd:element ref="ControlPointWeight" maxOccurs="unbounded" />
423                </xsd:sequence>
424        </xsd:complexType>
425        <!-- List of WeightsData - a 2d array ( WeightsData is a an array) -->
426        <xsd:complexType name="Weights">
427                <xsd:sequence>
428                        <xsd:element name="WeightsData" type="WeightsData" maxOccurs="unbounded" />
429                </xsd:sequence>
430        </xsd:complexType>
431        <xsd:simpleType name="TransactionType">
432                <xsd:restriction base="xsd:token">
433                        <xsd:enumeration value="to approve" />
434                        <xsd:enumeration value="to check" />
435                        <xsd:enumeration value="to copy" />
436                        <xsd:enumeration value="to create" />
437                        <xsd:enumeration value="to modify" />
438                        <xsd:enumeration value="to request" />
439                        <xsd:enumeration value="to release" />
440                </xsd:restriction>
441        </xsd:simpleType>
442        <!-- Basic Elements -->
443        <xsd:element name="UnitsOfMeasure">
444                <xsd:annotation>
445                        <xsd:documentation>These are from the ISO 15926 Reference Data Library (RDL) Units of measure. This Element dfefines the allowable sets of values for the various measurement units. This construct is not intended to allow parser validation of the values, it is intended for validation using XMpLant and also documentation. </xsd:documentation>
446                </xsd:annotation>
447                <xsd:complexType>
448                        <xsd:attribute name="Area" type="AreaUnitsType" default="MetreSquared" use="optional" />
449                        <xsd:attribute name="Angle" type="AngleUnitsType" default="Degree-angle" use="optional" />
450                        <xsd:attribute name="Distance" type="LengthUnitsType" default="Millimetre" use="optional" />
451                        <xsd:attribute name="Temperature" type="TemperatureUnitsType" default="DegreeCelsius" use="optional" />
452                        <xsd:attribute name="Pressure" type="PressureUnitsType" default="Bar" use="optional" />
453                        <xsd:attribute name="Volume" type="VolumeUnitsType" default="MetreCubed" use="optional" />
454                        <xsd:attribute name="Weight" type="MassUnitsType" default="Kilogram" use="optional" />
455                </xsd:complexType>
456        </xsd:element>
457        <xsd:complexType name="Association">
458                <xsd:annotation>
459                        <xsd:documentation>
460                        An Association references other objects either by ID, Name or Tag attribute.
461                        If ID elements are persistent (see PlantModel element) then ID references may be to items not in this file.
462                        </xsd:documentation>
463                </xsd:annotation>
464                <xsd:attribute name="Type" use="required">
465                        <xsd:simpleType>
466                                <xsd:restriction base="xsd:token">
467                                        <xsd:enumeration value="is about" />
468                                        <xsd:enumeration value="is a subject of" />
469                                        <xsd:enumeration value="is associated with" />
470                                        <xsd:enumeration value="is a boundary of"/>
471                                        <xsd:enumeration value="refers to" />
472                                        <xsd:enumeration value="is referenced by"/>
473                                        <xsd:enumeration value="is referenced in" />
474                                        <xsd:enumeration value="describes" />
475                                        <xsd:enumeration value="is described in" />
476                                        <xsd:enumeration value="indirectly describes" />
477                                        <xsd:enumeration value="is indirectly described in" />
478                                        <xsd:enumeration value="defines" />
479                                        <xsd:enumeration value="is defined in" />
480                                        <xsd:enumeration value="is defined by"/>
481                                        <xsd:enumeration value="contains"/>
482                                        <xsd:enumeration value="is contained in"/>
483                                        <xsd:enumeration value="indirectly defines" />
484                                        <xsd:enumeration value="is indirectly defined in" />
485                                        <xsd:enumeration value="is connected to" />
486                                        <xsd:enumeration value="is logically connected to" />
487                                <!-- MOD in 4.0.1 alpha 2: some enumeration items added -->
488                                        <xsd:enumeration value="has logical start" />
489                                        <xsd:enumeration value="is logical start of" />
490                                        <xsd:enumeration value="has logical end" />
491                                        <xsd:enumeration value="is logical end of" />
492                    <!-- END OF MOD -->                   
493                                        <xsd:enumeration value="is involved with role in" />
494                                        <xsd:enumeration value="is an activity with role involving" />
495                                        <xsd:enumeration value="is fulfilled by" />
496                                        <xsd:enumeration value="fulfills" />
497                                        <xsd:enumeration value="is a part of" />
498                                        <xsd:enumeration value="is an assembly including" />
499                                        <xsd:enumeration value="is a component of" />
500                                        <xsd:enumeration value="is a composition including" />
501                                        <xsd:enumeration value="is an element of" />
502                                        <xsd:enumeration value="is a collection including" />
503                                        <xsd:enumeration value="is identified by" />
504                                        <xsd:enumeration value="is an identifier for" />
505                                        <xsd:enumeration value="is a template including" />
506                                        <xsd:enumeration value="is a component of template" />
507                                        <xsd:enumeration value="is a template that refers to" />
508                                        <xsd:enumeration value="is a reference in template" />
509                                        <xsd:enumeration value="is classified as" />
510                                        <xsd:enumeration value="is incidentally classified as" />
511                                        <xsd:enumeration value="has dataset" />
512                                        <xsd:enumeration value="is a dataset of" />
513                                        <xsd:enumeration value="is a comment referring to" />
514                                        <xsd:enumeration value="is referenced in comment" />
515                                        <xsd:enumeration value="has document" />
516                                        <xsd:enumeration value="is a document for" />
517                                        <xsd:enumeration value="is the location of" />
518                                        <xsd:enumeration value="is located in" />
519                                        <xsd:enumeration value="is upstream of" />
520                                        <xsd:enumeration value="is downstream of" />
521                                        <xsd:enumeration value="is the responsibility of" />
522                                </xsd:restriction>
523                        </xsd:simpleType>
524                </xsd:attribute>
525                <xsd:attributeGroup ref="ItemReferenceGroup"/>
526        </xsd:complexType>
527        <xsd:element name="Association" type="Association" />
528        <xsd:attributeGroup name="ItemReferenceGroup">
529                <xsd:attribute name="ItemID" type="xsd:IDREF" use="optional"/>
530                <xsd:attribute name="TagName" type="xsd:string" use="optional"/>
531                <xsd:attribute name="Name" type="xsd:string" use="optional"/>
532                <xsd:attribute name="ItemURI" type="xsd:anyURI" use="optional"/>
533                <xsd:attribute name="PersistentIDIdentifier" type="xsd:string" use="optional"/>
534                <xsd:attribute name="PersistentIDContext" type="xsd:string" use="optional"/>
535        </xsd:attributeGroup>
536        <xsd:element name="PersistentID" type="PersistentID"/>
537        <xsd:complexType name="PersistentID">
538                <xsd:annotation>
539                        <xsd:documentation>This Element holds the persistent Identifier for a PlantItem. There can be more than one PersistentID and if so the Context must be used so that they can be separately identified</xsd:documentation>
540                </xsd:annotation>
541                <xsd:attribute name="Identifier" type="xsd:string" use="required"/>
542                <xsd:attribute name="Context" type="xsd:string" use="optional"/>
543        </xsd:complexType>
544        <xsd:element name="IdentifierElement">
545                <xsd:annotation>
546                        <xsd:documentation>If this IdentifierElement is an Attribute of a PlantItem then instead of a value a reference to theAttribute is by the ID of the  PlantItem and the name of the Attribute b. Value is not required                                   </xsd:documentation>
547                </xsd:annotation>
548                <xsd:complexType>
549                        <xsd:attribute name="Name" type="xsd:string" use="required" />
550                        <xsd:attribute name="Value" type="xsd:string" use="optional" />
551                        <xsd:attribute name="ItemID" type="xsd:IDREF" use="optional" />
552                        <xsd:attribute name="DependantAttribute" type="xsd:string" use="optional" />
553                        <xsd:attribute ref="DependantAttributeContents" use="optional" default="ValueAndUnits"/>
554                </xsd:complexType>
555        </xsd:element>
556        <xsd:element name="Identifier">
557                <xsd:annotation>
558                        <xsd:documentation>An Identifier is an object that can be used to capture the structure of an identifier such as a Tag. It references the indeividual attributes the make up the Identifier including any fixed strings such as sparators (eg '-') </xsd:documentation>
559                </xsd:annotation>
560                <xsd:complexType>
561                        <xsd:choice>
562                                <xsd:element ref="IdentifierElement" maxOccurs="unbounded" />
563                        </xsd:choice>
564                        <xsd:attribute name="Purpose" type="xsd:string" use="optional" />
565                </xsd:complexType>
566        </xsd:element>
567        <xsd:element name="CrossPageConnection">
568                <xsd:complexType>
569                        <xsd:choice>
570                                <xsd:element name="LinkedPersistentID" type="PersistentID" minOccurs="0" maxOccurs="1"/>
571                        </xsd:choice>
572                        <xsd:attribute name="DrawingName" type="xsd:string" use="optional"/>
573                        <xsd:attribute name="LinkLabel" type="xsd:string" use="optional"/>
574                </xsd:complexType>
575        </xsd:element>
576        <xsd:element name="Inclination" type="AngleDouble" />
577        <xsd:element name="NominalDiameter" type="LengthDouble" />
578        <xsd:element name="InsideDiameter" type="LengthDouble" />
579        <xsd:element name="OutsideDiameter" type="LengthDouble" />
580        <xsd:element name="StartDiameter" type="LengthDouble" />
581        <xsd:element name="EndDiameter" type="LengthDouble" />
582        <xsd:element name="LargeDiameter" type="LengthDouble" />
583        <xsd:element name="SmallDiameter" type="LengthDouble" />
584        <xsd:element name="ScheduleThickness" type="LengthString" />
585        <xsd:element name="EndPreparation" type="String" />
586        <xsd:element name="NozzleType">
587                <xsd:complexType>
588                        <xsd:attribute name="Value" default="Flanged" use="optional" >
589                                <xsd:simpleType>
590                                        <xsd:restriction base="xsd:token">
591                                                <xsd:enumeration value="Welded" />
592                                                <xsd:enumeration value="Flanged" />
593                                                <xsd:enumeration value="Elbow" />
594                                        </xsd:restriction>
595                                </xsd:simpleType>
596                        </xsd:attribute>
597                </xsd:complexType>
598        </xsd:element>
599        <xsd:element name="OperatorType" type="String" />
600        <xsd:element name="Rating" type="String" />
601        <xsd:element name="GasketGap" type="LengthDouble" />
602        <xsd:element name="FabricationCategory">
603                <xsd:simpleType>
604                        <xsd:restriction base="xsd:string">
605                                <xsd:enumeration value="Shop"/>
606                                <xsd:enumeration value="Field"/>
607                        </xsd:restriction>
608                </xsd:simpleType>
609        </xsd:element>
610        <xsd:element name="ConnectionType" type="String">
611                <xsd:annotation>
612                        <xsd:documentation>Physical connection type for a component</xsd:documentation>
613                </xsd:annotation>
614        </xsd:element>
615        <xsd:element name="WeldType" type="String">
616                <xsd:annotation>
617                        <xsd:documentation>Physical connection type for a component</xsd:documentation>
618                </xsd:annotation>
619        </xsd:element>
620        <xsd:element name="Discipline">
621                <xsd:simpleType>
622                        <xsd:restriction base="xsd:NMTOKEN">
623                                <xsd:enumeration value="Electrical" />
624                                <xsd:enumeration value="Mechanical" />
625                                <xsd:enumeration value="Process" />
626                                <xsd:enumeration value="HVAC" />
627                                <xsd:enumeration value="Telecomms" />
628                        </xsd:restriction>
629                </xsd:simpleType>
630        </xsd:element>
631        <xsd:element name="Description" type="xsd:string" />
632        <xsd:element name="Material" type="xsd:string" />
633        <xsd:element name="MaterialOfConstruction" type="String"/>
634        <xsd:element name="MaterialDescription" type="xsd:string" />
635        <!--Deprecated : Normal, Minimum and Maximum classes are deprecated - valid but should use Nominal, LowerLimit and UpperLimit-->
636        <xsd:element name="NormalDesignPressure" type="PressureDouble" />
637        <xsd:element name="MinimumDesignPressure" type="PressureDouble" />
638        <xsd:element name="MaximumDesignPressure" type="PressureDouble" />
639        <xsd:element name="NormalDesignTemperature" type="TemperatureDouble" />
640        <xsd:element name="MinimumDesignTemperature" type="TemperatureDouble" />
641        <xsd:element name="MaximumDesignTemperature" type="TemperatureDouble" />
642        <xsd:element name="MinimumAmbientTemperature" type="TemperatureDouble" />
643        <xsd:element name="MaximumAmbientTemperature" type="TemperatureDouble" />
644        <xsd:element name="MinimumRelativeHumidity" type="Double" />
645        <xsd:element name="MaximumRelativeHumidity" type="Double" />
646        <xsd:element name="MinimumOperatingPressure" type="PressureDouble" />
647        <xsd:element name="MaximumOperatingPressure" type="PressureDouble" />   
648        <xsd:element name="MinimumOperatingTemperature" type="TemperatureDouble" />
649        <xsd:element name="MaximumOperatingTemperature" type="TemperatureDouble" />
650        <!--End of Deprecated Classes-->
651        <xsd:element name="NominalDesignPressure" type="PressureDouble"/>
652        <xsd:element name="LowerLimitDesignPressure" type="PressureDouble"/>
653        <xsd:element name="UpperLimitDesignPressure" type="PressureDouble"/>
654        <xsd:element name="NominalDesignTemperature" type="TemperatureDouble"/>
655        <xsd:element name="LowerLimitDesignTemperature" type="TemperatureDouble"/>
656        <xsd:element name="UpperLimitDesignTemperature" type="TemperatureDouble"/>
657        <xsd:element name="NormalOperatingPressure" type="PressureDouble" />
658        <xsd:element name="LowerLimitOperatingPressure" type="PressureDouble"/>
659        <xsd:element name="UpperLimitOperatingPressure" type="PressureDouble"/>
660        <xsd:element name="NormalOperatingTemperature" type="TemperatureDouble" />
661        <xsd:element name="LowerLimitOperatingTemperature" type="TemperatureDouble"/>
662        <xsd:element name="UpperLimitOperatingTemperature" type="TemperatureDouble"/>
663        <xsd:element name="TestPressure" type="PressureDouble" />
664        <xsd:element name="WallThickness" type="LengthString" />
665        <xsd:element name="Weight" type="MassDouble" />
666        <!--ControlPointWeight is the weight factor for a control point in a rational curve or surface - values are 0-1. WeightType should be an enumeration -->
667        <xsd:element name="ControlPointWeight">
668                <xsd:simpleType>                       
669                        <xsd:restriction base="xsd:double">
670                                <xsd:minInclusive value="0.0"/>
671                                <xsd:maxInclusive value="1.0"/>
672                        </xsd:restriction>                             
673                </xsd:simpleType>
674        </xsd:element>
675        <!-- Fixed Elements -->
676        <!-- Annotation element  -->
677        <xsd:complexType name="AnnotationItem">
678                <xsd:annotation>
679                        <xsd:documentation>Defines aspects common to all Annotation items</xsd:documentation>
680                </xsd:annotation>
681                <xsd:choice minOccurs="0" maxOccurs="unbounded">
682                        <xsd:element ref="Presentation" />
683                        <xsd:element ref="Extent"/>
684                        <xsd:element ref="PersistentID"/>
685                        <xsd:element ref="Position"/>
686                        <xsd:element ref="Scale"/>
687                        <xsd:element ref="Curve" />
688                        <xsd:element ref="Symbol" maxOccurs="unbounded"/>
689                        <xsd:element ref="ConnectionPoints" />
690                        <xsd:element ref="Text"/>
691                        <xsd:element ref="Description"/>
692                        <xsd:element ref="GenericAttributes" />
693                        <xsd:element ref="History" />
694                        <xsd:element ref="Association" />
695                </xsd:choice>
696                <xsd:attribute name="ID" type="xsd:ID" use="required"/>
697                <xsd:attribute name="ComponentClass" type="xsd:string"/>
698                <xsd:attribute name="ComponentClassURI" type="xsd:anyURI"/>
699                <xsd:attribute name="ComponentName" type="xsd:string"/>
700                <xsd:attribute name="ComponentType" use="optional" >
701                        <xsd:simpleType>
702                                <xsd:restriction base="xsd:NMTOKEN">
703                                        <xsd:enumeration value="Normal" />
704                                        <xsd:enumeration value="Explicit" />
705                                        <xsd:enumeration value="Parametric" />
706                                </xsd:restriction>
707                        </xsd:simpleType>
708                </xsd:attribute>
709                <xsd:attribute name="Revision" type="xsd:string"/>
710                <xsd:attribute name="RevisionURI" type="xsd:anyURI"/>
711                <xsd:attribute name="Status">
712                        <xsd:simpleType>
713                                <xsd:restriction base="xsd:NMTOKEN">
714                                        <xsd:enumeration value="Current"/>
715                                        <xsd:enumeration value="Deleted"/>
716                                        <xsd:enumeration value="Modified"/>
717                                        <xsd:enumeration value="New"/>
718                                </xsd:restriction>
719                        </xsd:simpleType>
720                </xsd:attribute>
721                <xsd:attribute name="StatusURI" type="xsd:anyURI"/>
722        </xsd:complexType>
723        <!--"Axis" element  -->
724        <xsd:element name="Axis">
725                <xsd:annotation>
726                        <xsd:documentation>Axis is a normalised vector defining the direction in Global space of the local Z axis of the object it is contained in</xsd:documentation>
727                </xsd:annotation>
728                <xsd:complexType>
729                        <xsd:attribute name="X" type="xsd:double" use="required" />
730                        <xsd:attribute name="Y" type="xsd:double" use="required" />
731                        <xsd:attribute name="Z" type="xsd:double" use="required" />
732                </xsd:complexType>
733        </xsd:element>
734        <!-- A general Nurb curve -->
735        <xsd:element name="BsplineCurve" type="BsplineCurve" substitutionGroup="Curve" />
736        <xsd:complexType name="BsplineCurve">
737                <xsd:annotation>
738                        <xsd:documentation>A BsplineCurve is general form of Rational or polynomial curve represented by control points, basis fuinctions and possibly weights.</xsd:documentation>
739                </xsd:annotation>
740                <xsd:complexContent>
741                        <xsd:extension base="Curve">
742                                <xsd:choice maxOccurs="unbounded">
743                                        <xsd:element ref="Presentation" minOccurs="0" />
744                                        <xsd:element ref="Extent" />
745                                        <xsd:element name="ControlPoints" type="ControlPoints" />
746                                        <xsd:element name="KnotMultiplicities" type="KnotMultiplicities" minOccurs="0" />
747                                        <xsd:element name="Knots" type="Knots" minOccurs="0" />
748                                        <xsd:element name="WeightsData" type="WeightsData" minOccurs="0" />
749                                        <xsd:element ref="GenericAttributes" minOccurs="0" />
750                                </xsd:choice>
751                                <xsd:attribute name="Degree" type="xsd:integer" use="required" />
752                                <xsd:attribute name="CurveType" use="required">
753                                        <xsd:simpleType>
754                                                <xsd:restriction base="xsd:NMTOKEN">
755                                                        <xsd:enumeration value="BsplineCurve" />
756                                                        <xsd:enumeration value="BsplineCurveWithKnots" />
757                                                        <xsd:enumeration value="RationalBsplineCurve" />
758                                                </xsd:restriction>
759                                        </xsd:simpleType>
760                                </xsd:attribute>
761                                <xsd:attribute name="CurveForm" use="optional">
762                                        <xsd:simpleType>
763                                                <xsd:restriction base="xsd:NMTOKEN">
764                                                        <xsd:enumeration value="PolyLine" />
765                                                        <xsd:enumeration value="CircularArc" />
766                                                        <xsd:enumeration value="EllipticArc" />
767                                                        <xsd:enumeration value="ParabolicArc" />
768                                                        <xsd:enumeration value="HyperbolicArc" />
769                                                </xsd:restriction>
770                                        </xsd:simpleType>
771                                </xsd:attribute>
772                                <xsd:attribute name="NumControlPoints" type="xsd:integer" use="required" />
773                                <xsd:attribute name="NumKnots" type="xsd:integer" use="optional" />
774                                <xsd:attribute name="Closed" type="xsd:boolean" use="optional" />
775                                <xsd:attribute name="SelfIntersect" type="xsd:boolean" use="optional" />
776                        </xsd:extension>
777                </xsd:complexContent>
778        </xsd:complexType>
779        <!-- A general Nurb surface -->
780        <xsd:element name="BsplineSurface" type="BsplineSurface" substitutionGroup="Surface" />
781        <xsd:complexType name="BsplineSurface">
782                <xsd:annotation>
783                        <xsd:documentation>A BsplineSurface is general form of Rational or polynomial surface represented by control points, basis fuinctions and possibly weights.</xsd:documentation>
784                </xsd:annotation>
785                <xsd:complexContent>
786                        <xsd:extension base="Surface">                 
787                                <xsd:choice maxOccurs="unbounded">
788                                        <xsd:element ref="Presentation" minOccurs="0" />
789                                        <xsd:element ref="Extent" />
790                                        <xsd:element name="ControlPointArray" type="ControlPointArray" />
791                                        <xsd:element name="KnotMultiplicitiesU" type="KnotMultiplicities" minOccurs="0" />
792                                        <xsd:element name="KnotMultiplicitiesV" type="KnotMultiplicities" minOccurs="0" />
793                                        <xsd:element name="KnotsU" type="Knots" minOccurs="0" />
794                                        <xsd:element name="KnotsV" type="Knots" minOccurs="0" />
795                                        <xsd:element name="Weights" type="Weights" minOccurs="0" />
796                                        <xsd:element ref="GenericAttributes" minOccurs="0" maxOccurs="unbounded" />
797                                </xsd:choice>
798                                <xsd:attribute name="DegreeU" type="xsd:integer" use="required" />
799                                <xsd:attribute name="DegreeV" type="xsd:integer" use="required" />
800                                <xsd:attribute name="SurfaceType" use="required">
801                                        <xsd:simpleType>
802                                                <xsd:restriction base="xsd:NMTOKEN">
803                                                        <xsd:enumeration value="BsplineSurface" />
804                                                        <xsd:enumeration value="BsplineSurfaceWithKnots" />
805                                                        <xsd:enumeration value="RationalBsplineSurface" />
806                                                </xsd:restriction>
807                                        </xsd:simpleType>
808                                </xsd:attribute>
809                                <xsd:attribute name="SurfaceForm" use="optional">
810                                        <xsd:simpleType>
811                                                <xsd:restriction base="xsd:NMTOKEN">
812                                                        <xsd:enumeration value="Plane" />                                                       
813                                                        <xsd:enumeration value="RuledSurface" />
814                                                        <xsd:enumeration value="SurfaceOfLinearExtrusion" />
815                                                </xsd:restriction>
816                                        </xsd:simpleType>
817                                </xsd:attribute>
818                                <xsd:attribute name="NumControlPointsU" type="xsd:integer" use="required" />
819                                <xsd:attribute name="NumControlPointsV" type="xsd:integer" use="required" />
820                                <xsd:attribute name="NumKnotsU" type="xsd:integer" use="optional" />
821                                <xsd:attribute name="NumKnotsV" type="xsd:integer" use="optional" />
822                                <xsd:attribute name="ClosedU" type="xsd:boolean" use="optional" />
823                                <xsd:attribute name="ClosedV" type="xsd:boolean" use="optional" />
824                                <xsd:attribute name="SelfIntersect" type="xsd:boolean" use="optional" />
825                        </xsd:extension>
826                </xsd:complexContent>
827        </xsd:complexType>
828        <!--"CenterLine" element  -->
829        <xsd:element name="CenterLine" type="CenterLine">
830                <xsd:annotation>
831                        <xsd:documentation>
832                                This is the locus of the CenterLine for a PipingSegment. For 2D (PID Pipelines and Instrument Signal lines) There will be one CenterLine for each graphical segment.
833                        </xsd:documentation>
834                </xsd:annotation>
835        </xsd:element>
836        <xsd:complexType name="CenterLine">
837                <xsd:sequence>
838                        <xsd:element ref="Presentation" minOccurs="0"/>
839                        <xsd:element ref="Extent"/>
840                        <xsd:element ref="Coordinate" maxOccurs="unbounded"/>
841                        <xsd:element ref="PersistentID" minOccurs="0" maxOccurs="unbounded"/>
842                        <xsd:element ref="GenericAttributes" minOccurs="0" maxOccurs="unbounded"/>
843                        <xsd:element ref="Symbol" minOccurs="0"/>
844                </xsd:sequence>
845                <xsd:attribute name="ID" type="xsd:ID" use="optional"/>
846                <xsd:attribute name="NumPoints" type="xsd:nonNegativeInteger" use="required"/>
847        </xsd:complexType>
848        <!--"Circle" element  -->
849        <xsd:element name="Circle" substitutionGroup="Curve">
850                <xsd:complexType>
851                        <xsd:complexContent>
852                                <xsd:extension base="Curve">
853                                        <xsd:sequence>
854                                                <xsd:element ref="Presentation" />
855                                                <xsd:element ref="Extent" />
856                                                <xsd:element ref="Position" />
857                                                <xsd:element ref="GenericAttributes" minOccurs="0" maxOccurs="unbounded" />
858                                        </xsd:sequence>
859                                        <xsd:attribute name="Radius" type="xsd:double" use="required" />
860                                        <xsd:attribute name="Filled" use="optional" >
861                                                <xsd:simpleType>
862                                                        <xsd:restriction base="xsd:NMTOKEN">
863                                                                <xsd:enumeration value="Solid" />
864                                                                <xsd:enumeration value="Hatch" />
865                                                        </xsd:restriction>
866                                                </xsd:simpleType>
867                                        </xsd:attribute>
868                                </xsd:extension>
869                        </xsd:complexContent>
870                </xsd:complexType>
871        </xsd:element>
872        <!--"CompositeCurve" element  -->
873        <xsd:element name="CompositeCurve" substitutionGroup="Curve">
874                <xsd:complexType>
875                        <xsd:complexContent>
876                                <xsd:extension base="Curve">
877                                        <xsd:choice minOccurs="0" maxOccurs="unbounded">
878                                                <xsd:element ref="Presentation" />
879                                                <xsd:element ref="Extent" />
880                                                <xsd:element ref="Curve" minOccurs="0" maxOccurs="unbounded" />
881                                                <xsd:element ref="GenericAttributes" minOccurs="0" maxOccurs="unbounded" />
882                                        </xsd:choice>
883                                </xsd:extension>
884                        </xsd:complexContent>
885                </xsd:complexType>
886        </xsd:element>
887        <!--"Connnection" element  -->
888        <xsd:element name="Connection">
889                <xsd:annotation>
890                        <xsd:documentation>
891                                ToID and FromID may contain either the ID attribute of the target or the Tag of
892                                the target.
893                               
894                                If referencing a Nozzle by its Tag attribute the Tag must include the Tag of the
895                                Equiment using the format &gt;EquipmentTag&lt;-&gt;NozzleTag&lt;.  This form can
896                                only be used if the Nozzle tag attribute doesn't contain a '-' character.
897                        </xsd:documentation>
898                </xsd:annotation>
899                <xsd:complexType>
900                        <xsd:attribute name="ToID" type="xsd:string" use="optional" />
901                        <xsd:attribute name="ToNode" type="xsd:positiveInteger" use="optional"  />
902                        <xsd:attribute name="FromID" type="xsd:string" use="optional" />
903                        <xsd:attribute name="FromNode" type="xsd:positiveInteger" use="optional"  />
904                </xsd:complexType>
905        </xsd:element>
906        <!--"ConnectionPoints" element  -->
907        <xsd:element name="ConnectionPoints">
908                <xsd:annotation>
909                        <xsd:documentation>
910                                An ordered set of Nodes for the object containing this ConnectionPoints object.
911                                The first Node (0) is coincident with the origin of the containing object.
912                                The next two (1and 2) are the main flow and all others are secondary flows.
913                                Flowin and Flowout reference the Nodes indexed from 0 ie main flow is 1 and 2.
914                               
915                                This profile defaults the flowIn and flowOut attributes to 1 and 2 respectively.
916                        </xsd:documentation>
917                </xsd:annotation>
918                <xsd:complexType>
919                        <xsd:sequence>
920                                <xsd:element ref="Presentation" minOccurs="0" />
921                                <xsd:element ref="Extent" minOccurs="0" />
922                                <xsd:element ref="Node" maxOccurs="unbounded" />
923                                <xsd:element ref="GenericAttributes" minOccurs="0" maxOccurs="unbounded" />
924                        </xsd:sequence>
925                        <xsd:attribute name="NumPoints" type="xsd:nonNegativeInteger" use="required" />
926                        <!-- MOD in 4.0.1 alpha 1: FlowIn and FlowOut have no defaults -->
927                        <xsd:attribute name="FlowIn" type="xsd:positiveInteger" use="optional"/>
928                        <xsd:attribute name="FlowOut" type="xsd:positiveInteger" use="optional"/>
929            <!-- END OF MOD -->
930                </xsd:complexType>
931        </xsd:element>
932        <!-- Control point list for Bsplines -->
933        <xsd:element name="ControlPoints">
934                <xsd:complexType>
935                        <xsd:sequence>
936                                <xsd:element ref="Coordinate" maxOccurs="unbounded" />
937                        </xsd:sequence>
938                </xsd:complexType>
939        </xsd:element>
940        <!-- list of Control point lists for Bsplines -->
941        <xsd:element name="ControlPointArray">
942                <xsd:complexType>
943                        <xsd:sequence>
944                                <xsd:element ref="ControlPoints" maxOccurs="unbounded" />
945                        </xsd:sequence>
946                </xsd:complexType>
947        </xsd:element>
948        <!--"Coordinate" element  -->
949        <xsd:element name="Coordinate">
950                <xsd:complexType>
951                        <xsd:attribute name="X" type="xsd:double" use="required" />
952                        <xsd:attribute name="Y" type="xsd:double" use="required" />
953                        <xsd:attribute name="Z" type="xsd:double" use="optional" />
954                </xsd:complexType>
955        </xsd:element>
956        <!-- Curve Element -->
957        <xsd:element name="Curve" type="Curve" abstract="true"/>
958        <!-- Curve bounded Surface is one that is trimmed with freeform curve boundaries -->
959        <xsd:element name="CurveBoundedSurface" substitutionGroup="Surface">
960                <xsd:annotation>
961                        <xsd:documentation>A CurveBoundedSurface is a parametric surface with curved boundaries defined by one or more boundary curves. One may be the outer boundary with several inner boundaries.</xsd:documentation>
962                </xsd:annotation>
963                <xsd:complexType>
964                        <xsd:complexContent>
965                                <xsd:extension base="Surface">
966                                        <xsd:sequence>
967                                                <!-- The Surface is the basis surface for curve bounded surfaces such as the plane on which the Curve Bounded Surface lies.-->
968                                                <xsd:element ref="Surface"/>
969                                                <xsd:element ref="OuterBoundary" minOccurs="0" />
970                                                <xsd:element ref="InnerBoundary" minOccurs="0" maxOccurs="unbounded" />
971                                        </xsd:sequence>
972                                </xsd:extension>
973                        </xsd:complexContent>                   
974                </xsd:complexType>
975        </xsd:element>
976        <!--An Engineering Drawing -->
977        <xsd:element name="Drawing">
978                <xsd:complexType>
979                        <xsd:sequence>
980                                <xsd:element ref="Presentation" />
981                                <xsd:element ref="Extent" />
982                                <xsd:choice minOccurs="0" maxOccurs="unbounded">
983                                        <xsd:element ref="Component" />
984                                        <xsd:element ref="Curve" />
985                                        <xsd:element ref="Surface" />
986                                        <xsd:element ref="Text" />
987                                        <xsd:element ref="DrawingBorder" />
988                                        <xsd:element ref="Symbol"/>
989                                        <xsd:element ref="InsulationSymbol"/>
990                                        <xsd:element ref="ScopeBubble"/>
991                                        <xsd:element ref="PropertyBreak"/>
992                                        <xsd:element ref="Label"/>
993                                        <xsd:element ref="PipeFlowArrow"/>
994                                        <xsd:element ref="PipeSlopeSymbol"/>
995                                        <xsd:element ref="GenericAttributes" />
996                                </xsd:choice>
997                        </xsd:sequence>
998                        <xsd:attribute name="Name" type="xsd:string" use="required" />
999                        <xsd:attribute name="Type" type="xsd:string" use="required" fixed="PID" />
1000                        <xsd:attribute name="Revision" type="xsd:string" use="optional" />
1001                        <xsd:attribute name="RevisionURI" type="xsd:anyURI" use="optional"/>
1002                        <xsd:attribute name="Title" type="xsd:string" use="optional" />
1003                        <xsd:attribute name="Size" type="xsd:string" use="optional" />
1004                        <xsd:attribute name="SizeURI" type="xsd:anyURI" use="optional"/>
1005                        <xsd:attribute name="Orientation">
1006                                <xsd:simpleType>
1007                                        <xsd:restriction base="xsd:string">
1008                                                <xsd:enumeration value="Portrait"/>
1009                                                <xsd:enumeration value="Landscape"/>
1010                                        </xsd:restriction>
1011                                </xsd:simpleType>
1012                        </xsd:attribute>                       
1013                </xsd:complexType>
1014        </xsd:element>
1015        <!-- Drawing Border element -->
1016        <xsd:element name="DrawingBorder">
1017                <xsd:complexType>
1018                        <xsd:sequence>
1019                                <xsd:element ref="Presentation" />
1020                                <xsd:element ref="Extent" />
1021                                <xsd:choice minOccurs="0" maxOccurs="unbounded">
1022                                        <xsd:element ref="Curve" />
1023                                        <xsd:element ref="Surface" />                                   
1024                                        <xsd:element ref="Text" />
1025                                        <xsd:element ref="Label" />
1026                                        <xsd:element ref="GenericAttributes" />
1027                                </xsd:choice>
1028                        </xsd:sequence>
1029                        <xsd:attribute name="Name" type="xsd:string" use="optional" />
1030                        <xsd:attribute name="Size" type="xsd:string" use="optional" />
1031                        <xsd:attribute name="SizeURI" type="xsd:anyURI" use="optional"/>                       
1032                </xsd:complexType>
1033        </xsd:element>
1034        <!--"Ellipse" element  -->
1035        <xsd:element name="Ellipse" substitutionGroup="Curve">
1036                <xsd:complexType>
1037                        <xsd:complexContent>
1038                                <xsd:extension base="Curve">
1039                                        <xsd:sequence>
1040                                                <xsd:element ref="Presentation" />
1041                                                <xsd:element ref="Extent" />
1042                                                <xsd:element ref="Position" />
1043                                                <xsd:element ref="GenericAttributes" minOccurs="0" maxOccurs="unbounded" />
1044                                        </xsd:sequence>
1045                                        <xsd:attribute name="PrimaryAxis" type="xsd:double" use="required" />
1046                                        <xsd:attribute name="SecondaryAxis" type="xsd:double" use="required" />
1047                                        <xsd:attribute name="Filled" use="optional" >
1048                                                <xsd:simpleType>
1049                                                        <xsd:restriction base="xsd:NMTOKEN">
1050                                                                <xsd:enumeration value="Solid" />
1051                                                                <xsd:enumeration value="Hatch" />
1052                                                        </xsd:restriction>
1053                                                </xsd:simpleType>
1054                                        </xsd:attribute>
1055                                </xsd:extension>
1056                        </xsd:complexContent>
1057                </xsd:complexType>
1058        </xsd:element>
1059        <!--"Extent" element  -->
1060        <xsd:element name="Extent">
1061                <xsd:complexType>
1062                        <xsd:sequence>
1063                                <xsd:element ref="Min" />
1064                                <xsd:element ref="Max" />
1065                        </xsd:sequence>
1066                </xsd:complexType>
1067        </xsd:element>
1068        <!--"GenericAttributes" element  -->
1069        <xsd:element name="GenericAttributes">
1070                <xsd:annotation>
1071                        <xsd:documentation>Handles user defined Attributes of any name</xsd:documentation>
1072                </xsd:annotation>
1073                <xsd:complexType mixed="true">
1074                        <xsd:choice>
1075                                <xsd:element ref="GenericAttribute" maxOccurs="unbounded"/>
1076                        </xsd:choice>
1077                        <xsd:attribute name="Number" type="xsd:nonNegativeInteger" use="required" />
1078                        <xsd:attribute name="Set" type="xsd:string" use="optional" />
1079                </xsd:complexType>
1080        </xsd:element>
1081        <xsd:element name="GenericAttribute">
1082                <xsd:annotation>
1083                        <xsd:documentation>A GenericAttribute can be any Name but this should also match the RDL</xsd:documentation>
1084                </xsd:annotation>
1085                <xsd:complexType>
1086                        <xsd:attribute name="Name" type="xsd:string" use="required"/>
1087                        <xsd:attribute name="Value" type="xsd:string" use="optional"/>
1088                        <xsd:attribute name="DefaultValue" type="xsd:string" use="optional"/>
1089                        <xsd:attribute ref="Units" use="optional"/>
1090                        <xsd:attribute ref="Format" use="optional"/>
1091                        <xsd:attribute name="AttributeURI" type="xsd:anyURI" use="optional"/>
1092                        <xsd:attribute name="ValueURI" type="xsd:anyURI" use="optional"/>
1093                        <xsd:attribute name="UnitsURI" type="xsd:anyURI" use="optional"/>
1094                </xsd:complexType>
1095        </xsd:element>
1096        <!--History Elemet holds information on the use of a model and the transactions that occur-->
1097        <xsd:element name="History">
1098                <xsd:complexType>
1099                        <xsd:choice maxOccurs="unbounded">
1100                                <xsd:element ref="Transaction" />
1101                        </xsd:choice>
1102                        <xsd:attribute name="NumTransactions" type="xsd:nonNegativeInteger" use="optional" />
1103                </xsd:complexType>
1104        </xsd:element>
1105        <!-- An Inner Boundary (hole) for a Curve Bounded Surface -->
1106        <xsd:element name="InnerBoundary">
1107                <xsd:complexType>
1108                        <xsd:choice>
1109                                <xsd:element ref="Curve" />
1110                        </xsd:choice>
1111                </xsd:complexType>
1112        </xsd:element>
1113        <!--"Line" element  -->
1114        <xsd:element name="Line" substitutionGroup="Curve">
1115                <xsd:complexType>
1116                        <xsd:complexContent>
1117                                <xsd:extension base="Curve">
1118                                        <xsd:sequence>
1119                                                <xsd:element ref="Presentation"/>
1120                                                <xsd:element ref="Extent"/>
1121                                                <xsd:element ref="Coordinate" minOccurs="2" maxOccurs="2"/>
1122                                                <xsd:element ref="GenericAttributes" minOccurs="0" maxOccurs="unbounded"/>
1123                                        </xsd:sequence>
1124                                </xsd:extension>
1125                        </xsd:complexContent>
1126                </xsd:complexType>
1127        </xsd:element>
1128        <!--"Location" element  -->
1129        <xsd:element name="Location">
1130                <xsd:complexType>
1131                        <xsd:attribute name="X" type="xsd:double" use="required" />
1132                        <xsd:attribute name="Y" type="xsd:double" use="required" />
1133                        <xsd:attribute name="Z" type="xsd:double" use="optional" />
1134                </xsd:complexType>
1135        </xsd:element>
1136        <!-- "Max" element-->
1137        <xsd:element name="Max">
1138                <xsd:annotation>
1139                        <xsd:documentation>Maximum extents of Plant item</xsd:documentation>
1140                </xsd:annotation>
1141                <xsd:complexType>
1142                        <xsd:attribute name="X" type="xsd:double" use="required" />
1143                        <xsd:attribute name="Y" type="xsd:double" use="required" />
1144                        <xsd:attribute name="Z" type="xsd:double" use="optional" default="0.0" />
1145                </xsd:complexType>
1146        </xsd:element>
1147        <!--"Min" element  -->
1148        <xsd:element name="Min">
1149                <xsd:annotation>
1150                        <xsd:documentation>Minimum extents of Plant item</xsd:documentation>
1151                </xsd:annotation>
1152                <xsd:complexType>
1153                        <xsd:attribute name="X" type="xsd:double" use="required" />
1154                        <xsd:attribute name="Y" type="xsd:double" use="required" />
1155                        <xsd:attribute name="Z" type="xsd:double" use="optional" default="0.0" />
1156                </xsd:complexType>
1157        </xsd:element>
1158        <!--"Node" element  -->
1159        <xsd:element name="Node">
1160                <xsd:annotation>
1161                        <xsd:documentation>A Node is an connection point for a component and is an Element within a ConnectionPoints Element.</xsd:documentation>
1162                </xsd:annotation>
1163                <xsd:complexType>
1164                        <xsd:choice maxOccurs="unbounded">
1165                                <xsd:element ref="Position" />
1166                                <xsd:element ref="PersistentID"/>
1167                                <xsd:element ref="NominalDiameter" minOccurs="0" />
1168                                <xsd:element ref="InsideDiameter" minOccurs="0" />
1169                                <xsd:element ref="OutsideDiameter" minOccurs="0"/>
1170                                <xsd:element ref="EndPreparation" minOccurs="0" />
1171                                <xsd:element ref="GasketGap" minOccurs="0" />
1172                                <xsd:element ref="Rating" minOccurs="0" />
1173                                <xsd:element ref="ScheduleThickness" minOccurs="0" />
1174                                <xsd:element ref="ConnectionType" minOccurs="0"/>
1175                                <xsd:element ref="WeldType" minOccurs="0" />
1176                                <xsd:element ref="GenericAttributes" minOccurs="0" maxOccurs="unbounded" />
1177                        </xsd:choice>
1178                        <!-- MOD in 4.0.1 alpha 1: ID added -->
1179                    <xsd:attribute name="ID" type="xsd:ID" use="required"/>
1180            <!-- END OF MOD -->
1181                        <xsd:attribute name="Name" type="xsd:string" use="optional" />
1182                        <xsd:attribute name="Type" use="optional">
1183                                <xsd:simpleType>
1184                                        <xsd:restriction base="xsd:NMTOKEN">
1185                                                <xsd:enumeration value="unspecified" />
1186                                                <xsd:enumeration value="process" />
1187                                                <xsd:enumeration value="signal" />
1188                                        </xsd:restriction>
1189                                </xsd:simpleType>
1190                        </xsd:attribute>
1191                        <xsd:attribute name="Function" use="optional">
1192                                <xsd:simpleType>
1193                                        <xsd:restriction base="xsd:NMTOKEN">
1194                                                <xsd:enumeration value="unspecified" />
1195                                                <xsd:enumeration value="primary" />
1196                                                <xsd:enumeration value="secondary" />
1197                                                <xsd:enumeration value="tap"/>
1198                                        </xsd:restriction>
1199                                </xsd:simpleType>
1200                        </xsd:attribute>
1201                        <xsd:attribute name="Flow" use="optional">
1202                                <xsd:simpleType>
1203                                        <xsd:restriction base="xsd:NMTOKEN">
1204                                                <xsd:enumeration value="unspecified" />
1205                                                <xsd:enumeration value="in" />
1206                                                <xsd:enumeration value="out" />
1207                                                <xsd:enumeration value="both" />
1208                                        </xsd:restriction>
1209                                </xsd:simpleType>
1210                        </xsd:attribute>
1211                </xsd:complexType>
1212        </xsd:element>
1213        <!-- The outer boundary of a Curve Bounded Surface -->
1214        <xsd:element name="OuterBoundary">
1215                <xsd:complexType>
1216                        <xsd:choice>
1217                                <xsd:element ref="Curve" />
1218                        </xsd:choice>
1219                </xsd:complexType>
1220        </xsd:element>
1221        <!--"Plane" element - an unbounded planar surface defined by a Position. only the Location and Axis are important-->
1222        <xsd:element name="Plane" substitutionGroup="Surface">
1223                <xsd:complexType>
1224                        <xsd:complexContent>
1225                                <xsd:extension base="Surface">
1226                                        <xsd:sequence>
1227                                                <xsd:element ref="Presentation"/>
1228                                                <xsd:element ref="Position"/>
1229                                                <xsd:element ref="GenericAttributes" minOccurs="0" maxOccurs="unbounded"/>
1230                                        </xsd:sequence>
1231                                </xsd:extension>
1232                        </xsd:complexContent>
1233                </xsd:complexType>
1234        </xsd:element>
1235        <!--"PlantInformation" element  -->
1236        <xsd:element name="PlantInformation">
1237                <xsd:complexType>
1238                        <xsd:sequence>
1239                                <xsd:element ref="UnitsOfMeasure" />
1240                        </xsd:sequence>
1241                <!-- MOD in 4.0.1 alpha 1: version 3.6.0 -> 4.0.1 -->
1242                        <xsd:attribute name="SchemaVersion" type="xsd:string" use="required" fixed="4.0.1" />
1243            <!-- END OF MOD -->
1244                        <xsd:attribute name="OriginatingSystem" type="xsd:string" use="required" />
1245                        <xsd:attribute name="ModelName" type="xsd:string" use="optional" />
1246                        <xsd:attribute name="Date" type="xsd:date" use="required" />
1247                        <xsd:attribute name="ProjectName" type="xsd:string" use="optional" />
1248                        <xsd:attribute name="ProjectCode" type="xsd:string" use="optional" />
1249                        <xsd:attribute name="ProjectDescription" type="xsd:string" use="optional" />
1250                        <xsd:attribute name="CompanyName" type="xsd:string" use="optional" />
1251                        <xsd:attribute name="Time" type="xsd:time" use="required" />
1252                        <xsd:attribute name="Is3D" type="xsd:NMTOKEN" use="required" fixed="no" />
1253                        <xsd:attribute name="Units" type="LengthUnitsType" use="required" />
1254                        <xsd:attribute name="Discipline" type="xsd:string" use="required" fixed="PID" />
1255                </xsd:complexType>
1256        </xsd:element>
1257    <!-- MOD in 4.0.1 alpha 4: MetaData added -->
1258        <!--"MetaData" element  -->
1259        <xsd:element name="MetaData">
1260                <xsd:complexType>
1261                        <xsd:complexContent>
1262                                <xsd:extension base="PlantItem">
1263                                </xsd:extension>
1264                        </xsd:complexContent>
1265                </xsd:complexType>
1266        </xsd:element>
1267    <!-- END OF MOD -->
1268    <!-- MOD in 4.0.1 alpha 4: PlantStructureItem added -->
1269        <!--"PlantStructureItem" element  -->
1270        <xsd:element name="PlantStructureItem">
1271                <xsd:complexType>
1272                        <xsd:complexContent>
1273                                <xsd:extension base="PlantItem">
1274                                </xsd:extension>
1275                        </xsd:complexContent>
1276                </xsd:complexType>
1277        </xsd:element>
1278    <!-- END OF MOD -->
1279        <!--"PlantItem" element  -->
1280        <xsd:element name="PlantItem" type="PlantItem" abstract="true" />
1281        <xsd:complexType name="PlantItem">
1282                <xsd:annotation>
1283                        <xsd:documentation>Defines aspects common to all Plant items</xsd:documentation>
1284                </xsd:annotation>
1285                <xsd:choice minOccurs="0" maxOccurs="unbounded">
1286                        <xsd:element ref="Presentation"/>
1287                        <xsd:element ref="Extent" />
1288                        <xsd:element ref="PersistentID" />
1289                        <xsd:element ref="Position" />
1290                        <xsd:element ref="Scale" />
1291                        <xsd:element ref="Surface" />
1292                        <xsd:element ref="Curve"/>
1293                        <xsd:element ref="ConnectionPoints" />
1294                        <xsd:element ref="Label" />
1295                        <xsd:element ref="Text" />
1296                        <xsd:element ref="Identifier" />
1297                        <xsd:element ref="Description" />
1298                        <xsd:element ref="Weight" />
1299                        <xsd:element ref="Material" />
1300                        <xsd:element ref="MaterialOfConstruction" />
1301                        <xsd:element ref="MaterialDescription" />
1302                        <xsd:element name="ModelNumber" type="xsd:string" />
1303                        <xsd:element name="Supplier" type="xsd:string" />
1304                        <xsd:element name="Manufacturer" type="xsd:string" />
1305                        <xsd:element ref="GenericAttributes" maxOccurs="unbounded" />
1306                        <xsd:element ref="Association" maxOccurs="unbounded" />
1307                        <xsd:element ref="History" />
1308                </xsd:choice>
1309                <xsd:attribute name="ID" use="required" type="xsd:ID" />
1310                <xsd:attribute name="TagName" type="xsd:string" use="optional" />
1311                <xsd:attribute name="Specification" type="xsd:string" use="optional" />
1312                <xsd:attribute name="SpecificationURI" type="xsd:anyURI" use="optional" />
1313                <xsd:attribute name="StockNumber" type="xsd:string" use="optional" />
1314                <xsd:attribute name="ComponentClass" type="xsd:string" use="optional" />
1315                <xsd:attribute name="ComponentClassURI" type="xsd:anyURI" use="optional" />
1316                <xsd:attribute name="ComponentName" type="xsd:string" use="optional" />
1317                <xsd:attribute name="ComponentType" use="optional" >
1318                        <xsd:simpleType>
1319                                <xsd:restriction base="xsd:NMTOKEN">
1320                                        <xsd:enumeration value="Normal" />
1321                                        <xsd:enumeration value="Explicit" />
1322                                        <xsd:enumeration value="Parametric" />
1323                                </xsd:restriction>
1324                        </xsd:simpleType>
1325                </xsd:attribute>
1326                <xsd:attribute name="Revision" type="xsd:string" use="optional" />
1327                <xsd:attribute name="RevisionURI" type="xsd:anyURI" use="optional" />
1328                <xsd:attribute name="Status" use="optional" >
1329                        <xsd:simpleType>
1330                                <xsd:restriction base="xsd:NMTOKEN">
1331                                        <xsd:enumeration value="Current" />
1332                                        <xsd:enumeration value="Deleted" />
1333                                        <xsd:enumeration value="Modified" />
1334                                        <xsd:enumeration value="New" />
1335                                </xsd:restriction>
1336                        </xsd:simpleType>
1337                </xsd:attribute>
1338                <xsd:attribute name="StatusURI" type="xsd:anyURI" use="optional"/>
1339        </xsd:complexType>
1340        <!--"PlantModel" element  -->
1341        <xsd:element name="PlantModel">
1342                <xsd:complexType>
1343                        <xsd:sequence>
1344                                <xsd:element ref="PlantInformation" />
1345                <!-- MOD in 4.0.1 alpha 4: MetaData added -->
1346                        <xsd:element ref="MetaData" minOccurs="0" maxOccurs="1" />
1347                <!-- END OF MOD -->
1348                <!-- MOD in 4.0.1 alpha 4: PlantStructureItem added -->
1349                <xsd:element ref="PlantStructureItem" minOccurs="0" maxOccurs="unbounded" />
1350                <!-- END OF MOD -->
1351                                <xsd:element name="RDLService" minOccurs="0" maxOccurs="unbounded">
1352                                        <xsd:complexType>
1353                                                <xsd:sequence />
1354                                                <xsd:attribute name="ServiceAddress" type="xsd:anyURI" use ="required"/>
1355                                                <xsd:attribute name="QueryParameter" type="xsd:string" use="optional" default="query"/>
1356                                        </xsd:complexType>
1357                                </xsd:element>
1358                                <xsd:element ref="Extent" />
1359                                <xsd:choice minOccurs="0" maxOccurs="unbounded">
1360                                        <xsd:element ref="Presentation" />
1361                                        <xsd:element ref="ShapeCatalogue" />
1362                                        <xsd:element ref="Drawing" />
1363                                        <xsd:element ref="PlantArea" />
1364                                        <xsd:element ref="Equipment" />
1365                                        <xsd:element ref="InstrumentComponent" />
1366                    <!-- MOD in 4.0.1 alpha 1: elements for instrumentation model added -->
1367                                        <xsd:element ref="InstrumentationLoopFunction" />
1368                    <xsd:element ref="ProcessInstrumentationFunction" />
1369                                        <xsd:element ref="ProcessSignalGeneratingSystem" />
1370                                        <xsd:element ref="ActuatingSystem" />
1371                    <!-- END OF MOD -->
1372                                        <xsd:element ref="InstrumentLoop" />
1373                    <!-- MOD in 4.0.1 alpha 1: SignalLine renamed to InformationFlow -->
1374                                        <xsd:element ref="InformationFlow" />
1375                                        <!-- END OF MOD -->
1376                                        <xsd:element ref="SignalConnectorSymbol" />
1377                                        <xsd:element ref="PipingNetworkSystem" />
1378                                        <xsd:element ref="ProcessInstrument" />
1379                                        <xsd:element ref="Curve" />
1380                                        <xsd:element ref="Surface" />                                   
1381                                        <xsd:element ref="Text" />
1382                                </xsd:choice>
1383                        </xsd:sequence>
1384                </xsd:complexType>
1385        </xsd:element>
1386        <!--"Polyline" element  -->
1387        <xsd:element name="PolyLine" substitutionGroup="Curve">
1388                <xsd:complexType>
1389                        <xsd:complexContent>
1390                                <xsd:extension base="Curve">
1391                                        <xsd:sequence>
1392                                                <xsd:element ref="Presentation" />
1393                                                <xsd:element ref="Extent" />
1394                                                <xsd:element ref="Coordinate" minOccurs="2" maxOccurs="unbounded" />
1395                                                <xsd:element ref="GenericAttributes" minOccurs="0" maxOccurs="unbounded" />
1396                                        </xsd:sequence>
1397                                        <xsd:attribute name="NumPoints" type="xsd:nonNegativeInteger" use="required" />
1398                                </xsd:extension>
1399                        </xsd:complexContent>
1400                </xsd:complexType>
1401        </xsd:element>
1402        <!--"Position" element  -->
1403        <xsd:element name="Position">
1404                <xsd:complexType>
1405                        <xsd:sequence>
1406                                <xsd:element ref="Location" />
1407                                <xsd:element ref="Axis" />
1408                                <xsd:element ref="Reference" />
1409                        </xsd:sequence>
1410                </xsd:complexType>
1411        </xsd:element>
1412        <!--"Presentation" element  -->
1413        <xsd:element name="Presentation">
1414                <xsd:complexType>
1415                        <xsd:attribute name="Layer" type="xsd:string" use="optional" />
1416                        <xsd:attribute name="Color" type="xsd:string" use="optional" />
1417                        <xsd:attribute name="LineType" type="xsd:string" use="optional" />
1418                        <xsd:attribute name="LineWeight" type="xsd:string" use="optional" />
1419                        <xsd:attribute name="R" type="Colour" use="optional" />
1420                        <xsd:attribute name="G" type="Colour" use="optional" />
1421                        <xsd:attribute name="B" type="Colour" use="optional" />
1422                </xsd:complexType>
1423        </xsd:element>
1424        <!--"Reference" element  -->
1425        <xsd:element name="Reference">
1426                <xsd:complexType>
1427                        <xsd:attribute name="X" type="xsd:double" use="required" />
1428                        <xsd:attribute name="Y" type="xsd:double" use="required" />
1429                        <xsd:attribute name="Z" type="xsd:double" use="required" />
1430                </xsd:complexType>
1431        </xsd:element>
1432        <!-- Scale -->
1433        <xsd:element name="Scale">
1434                <xsd:complexType>
1435                        <xsd:attribute name="X" type="xsd:double" use="required" />
1436                        <xsd:attribute name="Y" type="xsd:double" use="required" />
1437                        <xsd:attribute name="Z" type="xsd:double" use="optional" />
1438                </xsd:complexType>
1439        </xsd:element>
1440        <!--"Shape" element  -->
1441        <xsd:element name="Shape" substitutionGroup="Curve">
1442                <xsd:complexType>
1443                        <xsd:complexContent>
1444                                <xsd:extension base="Curve">
1445                                        <xsd:sequence>
1446                                                <xsd:element ref="Presentation" />
1447                                                <xsd:element ref="Extent" />
1448                                                <xsd:element ref="Coordinate" maxOccurs="unbounded" />
1449                                                <xsd:element ref="GenericAttributes" minOccurs="0" maxOccurs="unbounded" />
1450                                        </xsd:sequence>
1451                                        <xsd:attribute name="NumPoints" type="xsd:nonNegativeInteger" use="required" />
1452                                        <xsd:attribute name="Filled" use="optional" >
1453                                                <xsd:simpleType>
1454                                                        <xsd:restriction base="xsd:NMTOKEN">
1455                                                                <xsd:enumeration value="Solid" />
1456                                                                <xsd:enumeration value="Hatch" />
1457                                                        </xsd:restriction>
1458                                                </xsd:simpleType>
1459                                        </xsd:attribute>
1460                                </xsd:extension>
1461                        </xsd:complexContent>
1462                </xsd:complexType>
1463        </xsd:element>
1464        <!--"SURFACE" element  -->
1465        <xsd:element name="Surface" abstract="true" type="Surface"/>
1466        <xsd:complexType name="Surface"/>
1467        <!--"Text" element  -->
1468        <xsd:element name="Text">
1469                <xsd:annotation>
1470                        <xsd:documentation>
1471                        If this Text item is the presentation of the value of an Attribute of a PlantItem then,
1472                        a reference to the Attribute may be made by the ID of the PlantItem and the name of the Attribute.
1473               
1474                        If the text string is only one line then the string is in the Attribute String and the NumLines
1475                        attribute is not required. If the string is Multi-line then each Line should be a separate String Element.
1476                       
1477                        Profile differences :
1478                        - Either the String attribute, String elements or TextStringFormatSpecification is required
1479                        - The NumLines attribute is not required for multi-line text.
1480                        - Line breaks may be placed in the String attribute.
1481                        - The String attribute is of type xsd:string
1482                        </xsd:documentation>
1483                </xsd:annotation>
1484                <xsd:complexType>
1485                        <xsd:choice maxOccurs="unbounded">
1486                                <xsd:element ref="Presentation" />
1487                                <xsd:element ref="Extent" />
1488                                <xsd:element ref="Position" />
1489                                <xsd:element name="String">
1490                                        <xsd:complexType mixed="true">
1491                                                <xsd:sequence/>
1492                                                <xsd:attribute name="Value" type="xsd:string" use="optional"/>
1493                                        </xsd:complexType>
1494                                </xsd:element>
1495                                <xsd:element ref="TextStringFormatSpecification"/>
1496                                <xsd:element ref="GenericAttributes" minOccurs="0" maxOccurs="unbounded" />
1497                        </xsd:choice>
1498                        <xsd:attribute name="NumLines" type="xsd:nonNegativeInteger" use="optional" />
1499                        <xsd:attribute name="String" type="xsd:string" use="optional" />
1500                        <xsd:attribute name="Font" type="xsd:string" use="required" />
1501                        <xsd:attribute name="Justification" use="optional" default="LeftBottom">
1502                                <xsd:simpleType>
1503                                        <xsd:restriction base="xsd:NMTOKEN">
1504                                                <xsd:enumeration value="LeftTop" />
1505                                                <xsd:enumeration value="LeftCenter" />
1506                                                <xsd:enumeration value="LeftBottom" />
1507                                                <xsd:enumeration value="CenterTop" />
1508                                                <xsd:enumeration value="CenterCenter" />
1509                                                <xsd:enumeration value="CenterBottom" />
1510                                                <xsd:enumeration value="RightTop" />
1511                                                <xsd:enumeration value="RightCenter" />
1512                                                <xsd:enumeration value="RightBottom" />
1513                                        </xsd:restriction>
1514                                </xsd:simpleType>
1515                        </xsd:attribute>
1516                        <xsd:attribute name="Width" type="xsd:double" use="required" />
1517                        <xsd:attribute name="Height" type="xsd:double" use="required" />
1518                        <xsd:attribute name="TextAngle" type="xsd:double" use="optional" />
1519                        <xsd:attribute name="SlantAngle" type="xsd:double" use="optional" />
1520                        <xsd:attribute name="ItemID" type="xsd:IDREF" use="optional" />
1521                        <xsd:attribute name="Set" type="xsd:string" use="optional" />
1522                        <xsd:attribute name="DependantAttribute" type="xsd:string" use="optional" />
1523                        <xsd:attribute ref="DependantAttributeContents" use="optional" default="ValueAndUnits"/>
1524                </xsd:complexType>
1525        </xsd:element>
1526        <xsd:attribute name="DependantAttributeContents">
1527                <xsd:simpleType>
1528                        <xsd:restriction base="xsd:string">
1529                                <xsd:enumeration value="Value"/>
1530                                <xsd:enumeration value="Units"/>
1531                                <xsd:enumeration value="ValueAndUnits"/>
1532                        </xsd:restriction>
1533                </xsd:simpleType>
1534        </xsd:attribute>
1535        <xsd:element name="TextStringFormatSpecification">
1536                <xsd:annotation>
1537                        <xsd:documentation>
1538                                If this Text item is the presentation of the value of an Attribute of a PlantItem then, a reference to theAttribute is made by the ID of the PlantItem and the name of the Attribute. string is not required.                           If the text string is only one line then the string is in the Attribute String and the NumLines attribute is not required. If the string is Multi-line the each Line is a String Element and NumLines defines how many String Elements there are
1539                        </xsd:documentation>
1540                </xsd:annotation>
1541                <xsd:complexType>
1542                        <xsd:sequence>
1543                                <xsd:element ref="ObjectAttributesReference" minOccurs="1" maxOccurs="unbounded"/>
1544                        </xsd:sequence>
1545                </xsd:complexType>
1546        </xsd:element>
1547        <xsd:element name="ObjectAttributesReference">
1548                <xsd:complexType mixed="true">
1549                        <xsd:choice minOccurs="0"/>
1550                        <xsd:attribute name="DependantAttribute" type="xsd:string" use="required"/>
1551                        <xsd:attributeGroup ref="ItemReferenceGroup"/>
1552                        <xsd:attribute ref="DependantAttributeContents" use="optional" default="ValueAndUnits"/>
1553                </xsd:complexType>
1554        </xsd:element>
1555        <!--Transaction Element details an operation on model-->
1556        <xsd:element name="Transaction">
1557                <xsd:complexType>
1558                        <xsd:sequence>
1559                                <xsd:element name="Remark" minOccurs="0" maxOccurs="unbounded" type="xsd:string"/>
1560                                <xsd:element ref="GenericAttributes" minOccurs="0" maxOccurs="unbounded" />
1561                        </xsd:sequence>
1562                        <xsd:attribute name="Type" type="TransactionType" use="optional" />
1563                        <xsd:attribute name="Date" type="xsd:date" use="optional" />
1564                        <xsd:attribute name="Time" type="xsd:time" use="optional" />
1565                        <xsd:attribute name="CompanyName" type="xsd:string" use="optional" />
1566                        <xsd:attribute name="Person" type="xsd:string" use="optional" />
1567                </xsd:complexType>
1568        </xsd:element>
1569        <!--"TrimmedCurve" element  -->
1570        <xsd:element name="TrimmedCurve" substitutionGroup="Curve">
1571                <xsd:complexType>
1572                        <xsd:complexContent>
1573                                <xsd:extension base="Curve">
1574                                        <xsd:sequence>
1575                                                <xsd:choice>
1576                                                        <xsd:element ref="Circle" />
1577                                                        <xsd:element ref="Ellipse" />
1578                                                </xsd:choice>
1579                                                <xsd:element ref="GenericAttributes" minOccurs="0" />
1580                                        </xsd:sequence>
1581                                        <xsd:attribute name="StartAngle" type="xsd:double" use="required" />
1582                                        <xsd:attribute name="EndAngle" type="xsd:double" use="required" />
1583                                </xsd:extension>
1584                        </xsd:complexContent>
1585                </xsd:complexType>
1586        </xsd:element>
1587        <!-- List of weights for a Rational Nurb curve or surface - one per control point -->
1588        <xsd:element name="Weights">
1589                <xsd:complexType>
1590                        <xsd:sequence>
1591                                <xsd:element ref="ControlPointWeight" maxOccurs="unbounded" />
1592                        </xsd:sequence>
1593                </xsd:complexType>
1594        </xsd:element> 
1595        <!-- Plant item classes start here  ************************************************   -->
1596        <!--component" element  - used as a generic collection of objects for which the purpose is unknown - it is used to retain the structure-->
1597        <xsd:element name="Component">
1598                <xsd:complexType>
1599                        <xsd:complexContent>
1600                                <xsd:extension base="PlantItem">
1601                                        <xsd:choice>
1602                                                <xsd:element ref="Component" minOccurs="0" maxOccurs="unbounded" />
1603                                        </xsd:choice>
1604                                </xsd:extension>
1605                        </xsd:complexContent>
1606                </xsd:complexType>
1607        </xsd:element>
1608        <!--"equipment" element  -->
1609        <xsd:element name="Equipment">
1610                <xsd:complexType>
1611                        <xsd:complexContent>
1612                                <xsd:extension base="PlantItem">
1613                                        <xsd:choice minOccurs="0" maxOccurs="unbounded">
1614                                                <xsd:element ref="Discipline" minOccurs="0" />
1615                                                <xsd:element ref="MinimumDesignPressure"/>
1616                                                <xsd:element ref="MaximumDesignPressure"/>
1617                                                <xsd:element ref="MinimumDesignTemperature"/>
1618                                                <xsd:element ref="MaximumDesignTemperature"/>
1619                                                <xsd:element ref="LowerLimitDesignPressure"/>
1620                                                <xsd:element ref="UpperLimitDesignPressure"/>
1621                                                <xsd:element ref="LowerLimitDesignTemperature"/>
1622                                                <xsd:element ref="UpperLimitDesignTemperature"/>
1623                                                <xsd:element ref="Equipment" />
1624                                                <xsd:element ref="Nozzle" />
1625                                                <xsd:element ref="Component"/>
1626                                        </xsd:choice>
1627                                        <xsd:attribute name="ProcessArea" type="xsd:string" use="optional" />
1628                                        <xsd:attribute name="Purpose" type="xsd:string" use="optional" />
1629                                </xsd:extension>
1630                        </xsd:complexContent>
1631                </xsd:complexType>
1632        </xsd:element>
1633        <!--An InstrumentComponent is one that is not part of or connected to the process-->
1634        <xsd:element name="InstrumentComponent">
1635                <xsd:complexType>
1636                        <xsd:complexContent>
1637                                <xsd:extension base="PlantItem">
1638                                        <xsd:choice minOccurs="0" maxOccurs="unbounded">
1639                                                <xsd:element ref="InstrumentComponent" minOccurs="0" maxOccurs="unbounded"/>
1640                                                <xsd:element ref="Component" minOccurs="0" maxOccurs="unbounded"/>
1641                                                <xsd:element ref="NominalDiameter" minOccurs="0"/>
1642                                                <xsd:element ref="InsideDiameter" minOccurs="0"/>
1643                                                <xsd:element ref="OutsideDiameter" minOccurs="0"/>
1644                                                <xsd:element ref="OperatorType" minOccurs="0"/>
1645                                                <xsd:element ref="WallThickness" minOccurs="0"/>
1646                                        </xsd:choice>
1647                                </xsd:extension>
1648                        </xsd:complexContent>
1649                </xsd:complexType>
1650        </xsd:element>
1651        <!--An InstrumentConnection is a special symbol that locates the connection point for an junction for a small bore segment to connect to an instrument.-->
1652        <xsd:element name="InstrumentConnection">
1653                <xsd:complexType>
1654                        <xsd:complexContent>
1655                                <xsd:extension base="PlantItem"/>
1656                        </xsd:complexContent>
1657                </xsd:complexType>
1658        </xsd:element>
1659        <!--"instrument_loop" element  -->
1660        <xsd:element name="InstrumentLoop">
1661                <xsd:complexType>
1662                        <xsd:complexContent>
1663                                <xsd:extension base="PlantItem">
1664                                        <xsd:choice minOccurs="0" maxOccurs="unbounded">
1665                                                <xsd:element ref="SignalConnectorSymbol"/>
1666                        <!-- MOD in 4.0.1 alpha 1: SignalLine renamed to InformationFlow -->
1667                                                <xsd:element ref="InformationFlow"/>
1668                                                <!-- END OF MOD -->
1669                                        </xsd:choice>
1670                                </xsd:extension>
1671                        </xsd:complexContent>
1672                </xsd:complexType>
1673        </xsd:element>
1674        <!--"nozzle" element  -->
1675        <xsd:element name="Nozzle">
1676                <xsd:complexType>
1677                        <xsd:complexContent>
1678                                <xsd:extension base="PlantItem">
1679                                        <xsd:choice minOccurs="0" maxOccurs="unbounded">
1680                                                <xsd:element ref="NozzleType" />
1681                                                <xsd:element ref="NominalDiameter" minOccurs="0" />
1682                                                <xsd:element ref="Rating" minOccurs="0" />
1683                                        </xsd:choice>
1684                                </xsd:extension>
1685                        </xsd:complexContent>
1686                </xsd:complexType>
1687        </xsd:element>
1688        <!--"pipe_component" element  -->
1689        <xsd:element name="PipingComponent" type="PipingComponent" />
1690        <xsd:complexType name="PipingComponent">
1691                <xsd:annotation>
1692                        <xsd:documentation>PipingComponent covers all bought components. For Complex components they may have subcomponents that are either mechanical or piping. Component is used for mechanical items such as Valve Topworks.
1693                </xsd:documentation>
1694                </xsd:annotation>
1695                <xsd:complexContent>
1696                        <xsd:extension base="PlantItem">
1697                                <xsd:choice minOccurs="0" maxOccurs="unbounded">
1698                                        <xsd:element ref="PipingComponent"/>
1699                                        <xsd:element ref="Component"/>
1700                                        <xsd:element ref="NominalDiameter" minOccurs="0"/>
1701                                        <xsd:element ref="LargeDiameter" minOccurs="0"/>
1702                                        <xsd:element ref="SmallDiameter" minOccurs="0"/>
1703                                        <xsd:element ref="InsideDiameter" minOccurs="0"/>
1704                                        <xsd:element ref="OutsideDiameter" minOccurs="0"/>
1705                                        <xsd:element ref="ConnectionType" minOccurs="0"/>
1706                                        <xsd:element ref="Rating" minOccurs="0"/>
1707                                        <xsd:element ref="OperatorType" minOccurs="0"/>
1708                                        <xsd:element ref="WallThickness" minOccurs="0"/>
1709                                        <xsd:element ref="FabricationCategory" minOccurs="0"/>
1710                                </xsd:choice>
1711                                <xsd:attribute name="Standard" type="xsd:string"/>
1712                                <xsd:attribute name="StandardURI" type="xsd:anyURI"/>
1713                        </xsd:extension>
1714                </xsd:complexContent>
1715        </xsd:complexType>
1716        <!--"Piping Network System" which consists of one or more succeeding piping segments. typically identified by a process Units and a Line id"
1717 -->
1718        <xsd:element name="PipingNetworkSystem">
1719                <xsd:complexType>
1720                        <xsd:complexContent>
1721                                <xsd:extension base="PlantItem">
1722                                        <xsd:choice minOccurs="0" maxOccurs="unbounded">
1723                                                <xsd:element ref="NominalDiameter" />
1724                                                <xsd:element ref="InsideDiameter" />
1725                                                <xsd:element ref="OutsideDiameter" />
1726                                                <xsd:element ref="StartDiameter" />
1727                                                <xsd:element ref="EndDiameter" />
1728                                                <xsd:element ref="NormalDesignPressure"/>
1729                                                <xsd:element ref="MinimumDesignPressure"/>
1730                                                <xsd:element ref="MaximumDesignPressure"/>
1731                                                <xsd:element ref="NormalDesignTemperature"/>
1732                                                <xsd:element ref="MinimumDesignTemperature"/>
1733                                                <xsd:element ref="MaximumDesignTemperature"/>
1734                                                <xsd:element ref="MinimumOperatingPressure"/>
1735                                                <xsd:element ref="MaximumOperatingPressure"/>
1736                                                <xsd:element ref="MinimumOperatingTemperature"/>
1737                                                <xsd:element ref="MaximumOperatingTemperature"/>
1738                                                <xsd:element ref="NominalDesignPressure"/>
1739                                                <xsd:element ref="LowerLimitDesignPressure"/>
1740                                                <xsd:element ref="UpperLimitDesignPressure"/>
1741                                                <xsd:element ref="NominalDesignTemperature"/>
1742                                                <xsd:element ref="LowerLimitDesignTemperature"/>
1743                                                <xsd:element ref="UpperLimitDesignTemperature"/>
1744                                                <xsd:element ref="NormalOperatingPressure"/>
1745                                                <xsd:element ref="LowerLimitOperatingPressure"/>
1746                                                <xsd:element ref="UpperLimitOperatingPressure"/>
1747                                                <xsd:element ref="TestPressure" />
1748                                                <xsd:element ref="NormalOperatingTemperature"/>
1749                                                <xsd:element ref="LowerLimitOperatingTemperature"/>
1750                                                <xsd:element ref="UpperLimitOperatingTemperature"/>
1751                                                <xsd:element ref="WallThickness" />
1752                                                <xsd:element ref="PipingNetworkSegment"/>
1753                                                <xsd:element ref="PropertyBreak"/>
1754                                        </xsd:choice>
1755                                </xsd:extension>
1756                        </xsd:complexContent>
1757                </xsd:complexType>
1758        </xsd:element>
1759        <!--"PipingNetworkSegment is an assembly of piping components which scope is defined by certain constant attributes along the segment as shown as part of the Line Label. -->
1760        <xsd:element name="PipingNetworkSegment">
1761                <xsd:complexType>
1762                        <xsd:complexContent>
1763                                <xsd:extension base="PlantItem">
1764                                        <xsd:choice minOccurs="0" maxOccurs="unbounded">
1765                                                <xsd:element ref="NominalDiameter" />
1766                                                <xsd:element ref="InsideDiameter" />
1767                                                <xsd:element ref="OutsideDiameter" />
1768                                                <xsd:element ref="StartDiameter" />
1769                                                <xsd:element ref="EndDiameter" />
1770                                                <xsd:element ref="NormalDesignPressure"/>
1771                                                <xsd:element ref="MinimumDesignPressure"/>
1772                                                <xsd:element ref="MaximumDesignPressure"/>
1773                                                <xsd:element ref="NormalDesignTemperature"/>
1774                                                <xsd:element ref="MinimumDesignTemperature"/>
1775                                                <xsd:element ref="MaximumDesignTemperature"/>
1776                                                <xsd:element ref="MinimumOperatingPressure"/>
1777                                                <xsd:element ref="MaximumOperatingPressure"/>
1778                                                <xsd:element ref="MinimumOperatingTemperature"/>
1779                                                <xsd:element ref="MaximumOperatingTemperature"/>
1780                                                <xsd:element ref="NominalDesignPressure" />
1781                                                <xsd:element ref="LowerLimitDesignPressure" />
1782                                                <xsd:element ref="UpperLimitDesignPressure" />
1783                                                <xsd:element ref="NominalDesignTemperature" />
1784                                                <xsd:element ref="LowerLimitDesignTemperature" />
1785                                                <xsd:element ref="UpperLimitDesignTemperature" />
1786                                                <xsd:element ref="NormalOperatingPressure" />
1787                                                <xsd:element ref="LowerLimitOperatingPressure" />
1788                                                <xsd:element ref="UpperLimitOperatingPressure" />
1789                                                <xsd:element ref="TestPressure" />
1790                                                <xsd:element ref="NormalOperatingTemperature" />
1791                                                <xsd:element ref="LowerLimitOperatingTemperature" />
1792                                                <xsd:element ref="UpperLimitOperatingTemperature" />
1793                                                <xsd:element ref="WallThickness" />
1794                                                <xsd:element ref="Connection" />
1795                                                <xsd:element ref="CenterLine" />
1796                                                <xsd:element ref="Equipment" />
1797                                                <xsd:element ref="PipingComponent" />
1798                                                <xsd:element ref="ProcessInstrument" />
1799                                                <xsd:element ref="Component"/>
1800                                                <xsd:element ref="PipeConnectorSymbol" />
1801                                                <xsd:element ref="PipeFlowArrow" />
1802                                                <xsd:element ref="PipeSlopeSymbol" />
1803                                                <xsd:element ref="InsulationSymbol" />
1804                                                <xsd:element ref="InstrumentConnection" />
1805                                                <xsd:element ref="Inclination" />
1806                                        </xsd:choice>
1807                                        <xsd:attribute name="DualFlow" type="xsd:boolean" use="optional"/>
1808                                </xsd:extension>
1809                        </xsd:complexContent>
1810                </xsd:complexType>
1811        </xsd:element>
1812        <!--"PlantArea" element  -->
1813        <xsd:element name="PlantArea">
1814                <xsd:annotation>
1815                        <xsd:documentation>Removed contained hierarchy for profile</xsd:documentation>
1816                </xsd:annotation>
1817                <xsd:complexType>
1818                        <xsd:complexContent>
1819                                <xsd:extension base="PlantItem">
1820                                        <xsd:choice minOccurs="0" maxOccurs="unbounded">
1821                                                <xsd:element ref="Component" maxOccurs="unbounded"/>
1822                                        </xsd:choice>
1823                                        <xsd:attribute name="Name" type="xsd:string" use="optional" />
1824                                </xsd:extension>
1825                        </xsd:complexContent>
1826                </xsd:complexType>
1827        </xsd:element>
1828        <!--"process_instrument" element  -->
1829        <xsd:element name="ProcessInstrument">
1830                <xsd:complexType>
1831                        <xsd:complexContent>
1832                                <xsd:extension base="PlantItem">
1833                                        <xsd:choice minOccurs="0" maxOccurs="unbounded">
1834                                                <xsd:element ref="ProcessInstrument" minOccurs="0" maxOccurs="unbounded" />
1835                                                <xsd:element ref="Component" minOccurs="0" maxOccurs="unbounded"/>
1836                                                <xsd:element ref="NominalDiameter" minOccurs="0" />
1837                                                <xsd:element ref="InsideDiameter" minOccurs="0" />
1838                                                <xsd:element ref="OutsideDiameter" minOccurs="0" />
1839                                                <xsd:element ref="OperatorType" minOccurs="0" />
1840                                                <xsd:element ref="WallThickness" minOccurs="0" />
1841                                        </xsd:choice>
1842                                </xsd:extension>
1843                        </xsd:complexContent>
1844                </xsd:complexType>
1845        </xsd:element>
1846    <!-- MOD in 4.0.1 alpha 1/2: elements/types for instrumentation model added -->
1847        <!--"InstrumentationLoopFunction" element  -->
1848        <xsd:element name="InstrumentationLoopFunction">
1849                <xsd:complexType>
1850                        <xsd:complexContent>
1851                                <xsd:extension base="PlantItem"/>
1852                        </xsd:complexContent>
1853                </xsd:complexType>
1854        </xsd:element>
1855        <!--"ProcessInstrumentationFunction" element  -->
1856        <xsd:element name="ProcessInstrumentationFunction">
1857                <xsd:complexType>
1858                        <xsd:complexContent>
1859                                <xsd:extension base="PlantItem">
1860                                        <xsd:choice minOccurs="0" maxOccurs="unbounded">
1861                                                <xsd:element ref="ActuatingFunction"/>
1862                                                <xsd:element ref="ProcessSignalGeneratingFunction"/>
1863                        <xsd:element ref="InformationFlow"/>
1864                                        </xsd:choice>
1865                                </xsd:extension>
1866                        </xsd:complexContent>
1867                </xsd:complexType>
1868        </xsd:element>
1869        <!--"ActuatingFunction" element  -->
1870        <xsd:element name="ActuatingFunction">
1871                <xsd:complexType>
1872                        <xsd:complexContent>
1873                                <xsd:extension base="PlantItem"/>
1874                        </xsd:complexContent>
1875                </xsd:complexType>
1876        </xsd:element>
1877        <!--"ProcessSignalGeneratingFunction" element  -->
1878        <xsd:element name="ProcessSignalGeneratingFunction">
1879                <xsd:complexType>
1880                        <xsd:complexContent>
1881                                <xsd:extension base="PlantItem"/>
1882                        </xsd:complexContent>
1883                </xsd:complexType>
1884        </xsd:element>
1885        <!--"ActuatingSystem" element  -->
1886        <xsd:element name="ActuatingSystem">
1887                <xsd:complexType>
1888                        <xsd:complexContent>
1889                                <xsd:extension base="PlantItem">
1890                                        <xsd:choice minOccurs="0" maxOccurs="unbounded">
1891                                                <xsd:element ref="ActuatingSystemComponent"/>
1892                                        </xsd:choice>
1893                                </xsd:extension>
1894                        </xsd:complexContent>
1895                </xsd:complexType>
1896        </xsd:element>
1897        <!--"ActuatingSystemComponent" element  -->
1898        <xsd:element name="ActuatingSystemComponent">
1899                <xsd:complexType>
1900                        <xsd:complexContent>
1901                                <xsd:extension base="PlantItem">
1902                                </xsd:extension>
1903                        </xsd:complexContent>
1904                </xsd:complexType>
1905        </xsd:element>   
1906        <!--"ProcessSignalGeneratingSystem" element  -->
1907        <xsd:element name="ProcessSignalGeneratingSystem">
1908                <xsd:complexType>
1909                        <xsd:complexContent>
1910                                <xsd:extension base="PlantItem">
1911                                        <xsd:choice minOccurs="0" maxOccurs="unbounded">
1912                                                <xsd:element ref="ProcessSignalGeneratingSystemComponent"/>
1913                                        </xsd:choice>
1914                                </xsd:extension>
1915                        </xsd:complexContent>
1916                </xsd:complexType>
1917        </xsd:element>
1918        <!--"ProcessSignalGeneratingSystemComponent" element  -->
1919        <xsd:element name="ProcessSignalGeneratingSystemComponent">
1920                <xsd:complexType>
1921                        <xsd:complexContent>
1922                                <xsd:extension base="PlantItem">
1923                                </xsd:extension>
1924                        </xsd:complexContent>
1925                </xsd:complexType>
1926        </xsd:element>   
1927    <!-- END OF MOD -->
1928        <!-- ShapeCatalogue - a container for Components or Piping Component definitions-->
1929        <xsd:element name="ShapeCatalogue">
1930                <xsd:annotation>
1931                        <xsd:documentation>XMpLant Catalogue for 2D symbols or 3D models</xsd:documentation>
1932                </xsd:annotation>
1933                <xsd:complexType>
1934                        <xsd:choice minOccurs="0" maxOccurs="unbounded">
1935                                <xsd:element ref="Equipment" minOccurs="0" maxOccurs="unbounded" />
1936                                <xsd:element ref="Nozzle" minOccurs="0" maxOccurs="unbounded" />
1937                                <xsd:element ref="PipingComponent" minOccurs="0" maxOccurs="unbounded" />
1938                                <xsd:element ref="ProcessInstrument" minOccurs="0" maxOccurs="unbounded" />
1939                                <xsd:element ref="InstrumentComponent" minOccurs="0" maxOccurs="unbounded"/>
1940                                <xsd:element ref="Component" minOccurs="0" maxOccurs="unbounded" />
1941                                <xsd:element ref="PipeConnectorSymbol" minOccurs="0" maxOccurs="unbounded" />
1942                                <xsd:element ref="SignalConnectorSymbol" minOccurs="0" maxOccurs="unbounded" />
1943                                <xsd:element ref="Symbol" minOccurs="0" maxOccurs="unbounded" />                               
1944                                <xsd:element ref="InsulationSymbol" minOccurs="0" maxOccurs="unbounded"/>
1945                                <xsd:element ref="PropertyBreak" minOccurs="0" maxOccurs="unbounded"/>
1946                                <xsd:element ref="ScopeBubble" minOccurs="0" maxOccurs="unbounded"/>
1947                                <xsd:element ref="Label" minOccurs="0" maxOccurs="unbounded"/>
1948                                <xsd:element ref="PipeFlowArrow" minOccurs="0" maxOccurs="unbounded"/>
1949                                <xsd:element ref="PipeSlopeSymbol" minOccurs="0" maxOccurs="unbounded" />
1950                <!-- MOD in 4.0.1 alpha 1: elements for instrumentation model added -->
1951                                <xsd:element ref="InstrumentationLoopFunction" />
1952                <xsd:element ref="ProcessInstrumentationFunction" />
1953                                <xsd:element ref="ActuatingFunction" />
1954                <xsd:element ref="ActuatingSystem" />
1955                        <xsd:element ref="ActuatingSystemComponent" />
1956                                <xsd:element ref="ProcessSignalGeneratingFunction" />
1957                <xsd:element ref="ProcessSignalGeneratingSystem" />
1958                        <xsd:element ref="ProcessSignalGeneratingSystemComponent" />
1959                <!-- END OF MOD -->
1960                        </xsd:choice>
1961                        <xsd:attribute name="Name" type="xsd:string" use="required" />
1962                        <xsd:attribute name="Version" type="xsd:string" use="optional" />
1963                        <xsd:attribute name="Units" type="xsd:string" use="optional" />
1964                        <xsd:attribute name="Date" type="xsd:date" use="optional" />
1965                </xsd:complexType>
1966        </xsd:element>
1967    <!-- MOD in 4.0.1 alpha 1: SignalLine renamed to InformationFlow -->
1968        <!--"InformationFlow" element  -->
1969        <xsd:element name="InformationFlow">
1970                <xsd:complexType>
1971                        <xsd:complexContent>
1972                                <xsd:extension base="PlantItem">
1973                                        <xsd:choice minOccurs="0" maxOccurs="unbounded">
1974                                                <xsd:element ref="Connection" minOccurs="0"/>
1975                                                <xsd:element ref="CenterLine"/>
1976                                                <xsd:element ref="Component"/>
1977                                                <xsd:element ref="SignalConnectorSymbol"/>
1978                                                <xsd:element ref="Symbol"/>
1979                                        </xsd:choice>
1980                                </xsd:extension>
1981                        </xsd:complexContent>
1982                </xsd:complexType>
1983        </xsd:element>
1984    <!-- END MOD -->
1985        <!--****************************     AnnotationItems start here-->
1986        <!--"Insulation_Symbol" element  -->
1987        <xsd:element name="InsulationSymbol">
1988                <xsd:complexType>
1989                        <xsd:complexContent>
1990                                <xsd:extension base="AnnotationItem"/>
1991                        </xsd:complexContent>
1992                </xsd:complexType>
1993        </xsd:element>
1994        <!--"Label" element -->
1995        <xsd:element name="Label">
1996                <xsd:complexType>
1997                        <xsd:complexContent>
1998                                <xsd:extension base="AnnotationItem"/>
1999                        </xsd:complexContent>
2000                </xsd:complexType>
2001        </xsd:element>
2002        <!--"pipe_connector" element - On / Off page connector for P&ID-->
2003        <xsd:element name="PipeConnectorSymbol">
2004                <xsd:complexType>
2005                        <xsd:complexContent>
2006                                <xsd:extension base="AnnotationItem">
2007                                        <xsd:sequence>
2008                                                <xsd:element ref="CrossPageConnection" minOccurs="0"/>
2009                                        </xsd:sequence>
2010                                </xsd:extension>
2011                        </xsd:complexContent>
2012                </xsd:complexType>
2013        </xsd:element>
2014        <!--"pipe_flow_arrow" element  -->
2015        <xsd:element name="PipeFlowArrow">
2016                <xsd:complexType>
2017                        <xsd:complexContent>
2018                                <xsd:extension base="AnnotationItem"/>
2019                        </xsd:complexContent>
2020                </xsd:complexType>
2021        </xsd:element>
2022        <!--Pipe Slope Symbol element -->
2023        <xsd:element name="PipeSlopeSymbol">
2024                <xsd:complexType>
2025                        <xsd:complexContent>
2026                                <xsd:extension base="AnnotationItem"/>
2027                        </xsd:complexContent>
2028                </xsd:complexType>
2029        </xsd:element>
2030        <!--"spec_break" element  - change to PropertyBreak-->
2031        <xsd:element name="PropertyBreak">
2032                <xsd:complexType>
2033                        <xsd:complexContent>
2034                                <xsd:extension base="AnnotationItem"/>
2035                        </xsd:complexContent>
2036                </xsd:complexType>
2037        </xsd:element>
2038        <!--"scope_bubble" element -->
2039        <xsd:element name="ScopeBubble">
2040                <xsd:complexType>
2041                        <xsd:complexContent>
2042                                <xsd:extension base="AnnotationItem"/>
2043                        </xsd:complexContent>
2044                </xsd:complexType>
2045        </xsd:element>
2046        <!--Symbol is a container for a representation of something on a diagram-->
2047        <xsd:element name="Symbol">
2048                <xsd:complexType>
2049                        <xsd:complexContent>
2050                                <xsd:extension base="AnnotationItem"/>
2051                        </xsd:complexContent>
2052                </xsd:complexType>
2053        </xsd:element>
2054        <!--Signal connector Symbol element -->
2055        <xsd:element name="SignalConnectorSymbol">
2056                <xsd:complexType>
2057                        <xsd:complexContent>
2058                                <xsd:extension base="AnnotationItem">
2059                                        <xsd:sequence>
2060                                                <xsd:element ref="CrossPageConnection" minOccurs="0"/>
2061                                        </xsd:sequence>
2062                                </xsd:extension>
2063                        </xsd:complexContent>
2064                </xsd:complexType>
2065        </xsd:element>
2066</xsd:schema>
Home
About PCA
Reference Data Services
Projects
Workgroups