IdsAdiProject/IdsAdiProteusProject: XMpLantSchema_3.3.3.xsd

File XMpLantSchema_3.3.3.xsd, 116.6 kB (added by arlaud, 12 years ago)
Line 
1<?xml version="1.0" encoding="UTF-8"?>
2<!-- edited with XMLSpy v2006 sp2 U (http://www.altova.com) by Adrian Laud (Noumenon Consulting Ltd) -->
3<!--version 3.3.3 Adrian Laud Feb 2009 - Make changes discussed in IDS-ADI Matrix Project 1 - corrections-->
4<!--version 3.3.2 Adrian Laud Jan 2009 - Make changes discussed in IDS-ADI Matrix Project 1 - additional AnnotationItems-->
5<!--version 3.3.1 Adrian Laud Jan 2009 - Make changes discussed in IDS-ADI Matrix Project 1-->
6<!--version 3.3.1 Adrian Laud Jan 2009 - Make changes discussed in IDS-ADI Matrix Project 1-->
7<!--version 3.3.0 Adrian Laud - Change structure of InstrumentLoop and SignalLine-->
8<!--version 3.3.0 Adrian Laud - Change structure of InstrumentLoop and SignalLine-->
9<!--version 3.2.6 Adrian Laud - Change genericAttributes to use Element GenericAttribute - from 3.2.2 Apr 2008-->
10<!--version 3.2.5 Adrian Laud - Change Steel section to alow for all cases Mar 2008-->
11<!--version 3.2.0 Adrian Laud - Pipeline name changed to PipingNetworkSystem, PipingSegment to PipingNetworkSegment-->
12<!--version 3.1.2 Adrian Laud - add CrossPage Connection, UnitsOfMeasure  remove Drawings-->
13<!--version 3.1.1 9th October2006 Adrian Laud - corrected a dual use of Weight - in Bsplines this is now ControlPointWeight-->
14<!--version 3.1.0 24th August 2006 Adrian Laud - Alignment of Class names with ISO 15926-4. Catalogue refers to vendor document ShapeCatalogue is the geometric definition collection-->
15<!--version 3.0.3 17th July 2006 Adrian Laud - add allow PipeSupport in PipingSegment (for upwards compatibility)-->
16<!--version 3.0.2 11st June 2006 Adrian Laud - add Component into InstrumentComponent-->
17<!--version 3.0.0 12th December 2005 Adrian Laud - add Parametric PipingComponent and Parametric Primitives - expand SpecificationEntry for ParametricComponents - remove Annotation-->
18<!--version 2.8.0 1st July 2005 Adrian Laud - add Document, DocumentPart and DocumentCell-->
19<!--version 2.7.5 7th June 2005 add Equipment for Catalogue, History and Transaction-->
20<!-- version 2.7.4 21st April 2005 Adrian Laud - add PipeBend and PipeTube for Catalogue and StockNumber to SpecificationEntry-->
21<!-- version 2.7.3 7th April 2005 Adrian Laud - add OperatorType for Piping and Instrument Components -->
22<!-- version 2.7.2 1st April 2005 Adrian Laud - add Filled attribute -->
23<!-- version 2.7.1 18th March 2005 Adrian Laud - Minor fixes for XML Spy 2005 complaints -->
24<!-- version 2.7.0 12th February 2005 Adrian Laud - Fix for curves and XML Spy 2005-->
25<!-- version 2.6.8 28th January Adrian Laud - add Equipment to PipingSegment to support inline equipment-->
26<!-- version 2.6.7 10th January 2005 Adrian Laud - Refine Ctas and Specs-->
27<!-- version 2.6.6 23rd December 2004 Adrian Laud - Add Point object-->
28<!-- version 2.6.5 27th October 2004 Adrian Laud - alloPlantInforw multiple GenericAttributes Text, PolyLine and CenterL:ine-->
29<!-- version 2.6.4 14th October 2004 Adrian Laud - allow component in PipeTube (insulation) - InnerDiameter -> InsideDiameter-->
30<!-- version 2.6.4 14th October 2004 Adrian Laud - allow component in PipeTube (insulation) - InnerDiameter -> InsideDiameter-->
31<!-- version 2.6.2 22nd July 2004 Adrian Laud - change Type to NozzleType and make mandatory -->
32<!-- version 2.6.1 16th July 2004 Adrian Laud - Add Wall element -->
33<!-- version 2.6.0 23rd June 2004 Adrian Laud - Expand Specification and add Specification Element -->
34<!-- version 2.5.2 2nd Junel 2004 Adrian Laud - add annotations and Trimmed Nurb curves and surfaces  -->
35<!-- version 2.5.1 12th Mayl 2004 Adrian Laud - correct Profile and Edge curve definitions -->
36<!-- version 2.4.5 19th April 2004 Adrian Laud - Add Plant - Top of Asset hierarchy -->
37<!-- version 2.4.4 6th April 2004 Adrian Laud - change default Extrusion type to Linear from Normal -->
38<!-- version 2.4.3 8th March 2004 Adrian Laud - add Association types -->
39<!-- version 2.42 2rd March 2004 Adrian Laud - correct instrument hierarchy -->
40<!-- version 2.4.0 5th January 2004 Adrian Laud - additional Instrument definitions -->
41<!-- version 2.3.0 10th December 2003 Adrian Laud - Tidy structural add PipeWeld-->
42<!-- version 2.2.5 25th September 2003 Adrian Laud - Add Annotation and allow multi-line text-->
43<!-- version 2.2.4 12th September 2003 Adrian Laud - ComponentClass moved to  + minor edits-->
44<!-- version 2.2.3 4th July 2003 Adrian Laud - expand Association-->
45<!-- version 2.2.2 9th May 2003 Adrian Laud - add Component for Framework, Plate ans StructuralSection-->
46<!-- version 2.2.1 11th April 2003 Adrian Laud - add Scale for Component moved some Attributes to Elements-->
47<!-- version 2.2.0 10th January 2003 Adrian Laud - release-->
48<!-- Draft for version 2.2.0 15th October Adrian Laud - add Catalogue and Specification-->
49<!-- Draft for version 2.2.0 22nd August - Adrian Laud - add additional option attributes -->
50<!-- version 2.1.7 29th July- Adrian Laud change restriction technique to default to unbounded and individually restrict so validation works ! -->
51<!-- version 2.1.6 11th July- Adrian Laud/ Chau Lee minor corrections -->
52<!-- version 2.1.5 11th July- Adrian Laud - Extrude Curve contains Line not type Line-->
53<!-- version 2.1.4 28th June - Adrian Laud - leave constraints on Units to ERDL UOM - separate namespace -->
54<!-- version 2.1.3 21st June - Adrian Laud Minor add Unclassified -->
55<!-- version 2.1.2 18th June - Adrian Laud Minor corrections -->
56<!-- version 2.1.1 17th June - Michael Toomey, make schema deterministic removing xsd:any from PlantItem and using substitutonGroup attribute -->
57<!-- version 2.0.0 10th June - PlantItem, Curve, Surface, Solid are abstract, corrections to Attribute names andGeneric Attribute handling  -->
58<!-- version 1.8.3 5th May remove Label from Connection - use Tag instead -->
59<!-- version 1.8.2 25th April minor correction to CenterLine Add FacetRep definition-->
60<!-- version 1.8 14th April minor correction - add restrictions-->
61<!-- version 1.7.1 2nd April minor correction - add restrictions-->
62<!-- version 1.7 28th MArch Capitalise Classes and Attributes-->
63<!-- version 1.6 12th MArch Capitalise Classes and Attributes-->
64<!-- version 1.5.4 11th MArch Minor corrections-->
65<!-- version 1.5.3 4th MArch remove nested choice in Solid -->
66<!-- draft for version XMpLant schema version 1.5.2 th Feb 2002 add pipe_tee -->
67<!-- version 1.5.1 20th Feb 2002 corretced attributes for PlantItem-->
68<xsd:schema xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsd="http://www.w3.org/2001/XMLSchema" version="1.0">
69        <xsd:annotation>
70                <xsd:documentation>Schema Name: XMpLant</xsd:documentation>
71        </xsd:annotation>
72        <!-- ItemAttribute definitions - these relate to engineering attributes of Plant Items -->
73        <!-- Basic Attributes -->
74        <xsd:attribute name="Format">
75                <xsd:simpleType>
76                        <xsd:restriction base="xsd:NMTOKEN">
77                                <xsd:enumeration value="string"/>
78                                <xsd:enumeration value="byte"/>
79                                <xsd:enumeration value="short"/>
80                                <xsd:enumeration value="integer"/>
81                                <xsd:enumeration value="long"/>
82                                <xsd:enumeration value="ulong"/>
83                                <xsd:enumeration value="float"/>
84                                <xsd:enumeration value="double"/>
85                        </xsd:restriction>
86                </xsd:simpleType>
87        </xsd:attribute>
88        <xsd:attribute name="Units">
89                <xsd:annotation>
90                        <xsd:documentation>This reference the EPISTLE Reference Data Library (ERDL) Units of measure </xsd:documentation>
91                </xsd:annotation>
92        </xsd:attribute>
93        <!-- Basic types -->
94        <xsd:complexType name="Integer">
95                <xsd:attribute name="Value" type="xsd:integer"/>
96                <xsd:attribute ref="Units"/>
97        </xsd:complexType>
98        <xsd:complexType name="Double">
99                <xsd:attribute name="Value" type="xsd:double"/>
100                <xsd:attribute ref="Units"/>
101        </xsd:complexType>
102        <xsd:complexType name="String">
103                <xsd:attribute name="Value" type="xsd:string"/>
104                <xsd:attribute ref="Units"/>
105        </xsd:complexType>
106        <!--"Curve" Type  -->
107        <xsd:complexType name="Curve"/>
108        <!-- UV coordinate for Bsplines -->
109        <xsd:complexType name="PCoordinate">
110                <xsd:attribute name="U" type="xsd:double" use="required"/>
111                <xsd:attribute name="V" type="xsd:double" use="required"/>
112        </xsd:complexType>
113        <!-- UV Parametric curve for Bsplines -->
114        <xsd:complexType name="Pcurve">
115                <xsd:annotation>
116                        <xsd:documentation>A Pcurve is a 2D parametric curve defined in the UV space of the Surface to Which it belongs.</xsd:documentation>
117                </xsd:annotation>
118                <xsd:choice>
119                        <xsd:element name="PCoordinate" type="PCoordinate" minOccurs="3" maxOccurs="unbounded"/>
120                </xsd:choice>
121                <xsd:attribute name="NumPoints" type="xsd:integer" use="required"/>
122        </xsd:complexType>
123        <!-- List of Control Points -->
124        <xsd:complexType name="ControlPoints">
125                <xsd:sequence>
126                        <xsd:element ref="Coordinate" maxOccurs="unbounded"/>
127                </xsd:sequence>
128        </xsd:complexType>
129        <!-- List of list of control points -->
130        <xsd:complexType name="ControlPointArray">
131                <xsd:sequence>
132                        <xsd:element name="ControlPoints" type="ControlPoints" maxOccurs="unbounded"/>
133                </xsd:sequence>
134        </xsd:complexType>
135        <!-- List of Knot Multiplicities -->
136        <xsd:complexType name="KnotMultiplicities">
137                <xsd:sequence>
138                        <xsd:element name="Multiplicity" maxOccurs="unbounded"/>
139                </xsd:sequence>
140        </xsd:complexType>
141        <!-- List of Knot location in parametric space -->
142        <xsd:complexType name="Knots">
143                <xsd:sequence>
144                        <xsd:element name="Knot" maxOccurs="unbounded"/>
145                </xsd:sequence>
146        </xsd:complexType>
147        <!-- List of Weights - one per control point for Rational curves and surfaces -->
148        <xsd:complexType name="WeightsData">
149                <xsd:sequence>
150                        <xsd:element name="ControlPointWeight" maxOccurs="unbounded"/>
151                </xsd:sequence>
152        </xsd:complexType>
153        <!-- List of WeightsData - a 2d array ( WeightsData is a an array) -->
154        <xsd:complexType name="Weights">
155                <xsd:sequence>
156                        <xsd:element name="WeightsData" type="WeightsData" maxOccurs="unbounded"/>
157                </xsd:sequence>
158        </xsd:complexType>
159        <xsd:simpleType name="TransactionType">
160                <xsd:restriction base="xsd:token">
161                        <xsd:enumeration value="to approve"/>
162                        <xsd:enumeration value="to check"/>
163                        <xsd:enumeration value="to copy"/>
164                        <xsd:enumeration value="to create"/>
165                        <xsd:enumeration value="to modify"/>
166                        <xsd:enumeration value="to request"/>
167                        <xsd:enumeration value="to release"/>
168                </xsd:restriction>
169        </xsd:simpleType>
170        <!-- Basic Elements -->
171        <xsd:element name="UnitsOfMeasure">
172                <xsd:annotation>
173                        <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>
174                </xsd:annotation>
175                <xsd:complexType>
176                        <xsd:attribute name="Distance" default="Millimetre">
177                                <xsd:annotation>
178                                        <xsd:documentation>These Distance units are from the ISO 15926 Reference Data Library (RDL) Units of measure </xsd:documentation>
179                                </xsd:annotation>
180                                <xsd:simpleType>
181                                        <xsd:restriction base="xsd:string">
182                                                <xsd:enumeration value="Micron"/>
183                                                <xsd:enumeration value="Millimetre"/>
184                                                <xsd:enumeration value="Centimetre"/>
185                                                <xsd:enumeration value="Decimetre"/>
186                                                <xsd:enumeration value="Metre"/>
187                                                <xsd:enumeration value="Kilometre"/>
188                                                <xsd:enumeration value="Inch"/>
189                                                <xsd:enumeration value="Foot"/>
190                                                <xsd:enumeration value="Yard"/>
191                                                <xsd:enumeration value="Mile"/>
192                                                <xsd:enumeration value="mm"/>
193                                                <xsd:enumeration value="cm"/>
194                                                <xsd:enumeration value="m"/>
195                                                <xsd:enumeration value="km"/>
196                                                <xsd:enumeration value="in"/>
197                                                <xsd:enumeration value="ft"/>
198                                                <xsd:enumeration value="yd"/>
199                                        </xsd:restriction>
200                                </xsd:simpleType>
201                        </xsd:attribute>
202                        <xsd:attribute name="Angle" default="Degree">
203                                <xsd:annotation>
204                                        <xsd:documentation>These angle units are from the ISO 15926 Reference Data Library (RDL) Units of measure </xsd:documentation>
205                                </xsd:annotation>
206                                <xsd:simpleType>
207                                        <xsd:restriction base="xsd:string">
208                                                <xsd:enumeration value="Degree"/>
209                                                <xsd:enumeration value="Radian"/>
210                                                <xsd:enumeration value="deg"/>
211                                                <xsd:enumeration value="rad"/>
212                                        </xsd:restriction>
213                                </xsd:simpleType>
214                        </xsd:attribute>
215                        <xsd:attribute name="Area" default="SquareMetre">
216                                <xsd:annotation>
217                                        <xsd:documentation>These Area units are from the ISO 15926 Reference Data Library (RDL) Units of measure </xsd:documentation>
218                                </xsd:annotation>
219                                <xsd:simpleType>
220                                        <xsd:restriction base="xsd:string">
221                                                <xsd:enumeration value="SquareMillimetre"/>
222                                                <xsd:enumeration value="SquareCentimetre"/>
223                                                <xsd:enumeration value="SquareMetre"/>
224                                                <xsd:enumeration value="SquareKilometre"/>
225                                                <xsd:enumeration value="SquareInch"/>
226                                                <xsd:enumeration value="SquareFoot"/>
227                                                <xsd:enumeration value="SquareYard"/>
228                                                <xsd:enumeration value="SquareMile"/>
229                                                <xsd:enumeration value="sq mm"/>
230                                                <xsd:enumeration value="sq cm"/>
231                                                <xsd:enumeration value="sq m"/>
232                                                <xsd:enumeration value="sq km"/>
233                                        </xsd:restriction>
234                                </xsd:simpleType>
235                        </xsd:attribute>
236                        <xsd:attribute name="Volume" default="CubicMetre">
237                                <xsd:annotation>
238                                        <xsd:documentation>These Volume units are from the ISO 15926 Reference Data Library (RDL) Units of measure </xsd:documentation>
239                                </xsd:annotation>
240                                <xsd:simpleType>
241                                        <xsd:restriction base="xsd:string">
242                                                <xsd:enumeration value="CubicMillimetre"/>
243                                                <xsd:enumeration value="CubicCentimetre"/>
244                                                <xsd:enumeration value="CubicMetre"/>
245                                                <xsd:enumeration value="CubicInch"/>
246                                                <xsd:enumeration value="CubicFeet"/>
247                                                <xsd:enumeration value="CubicYard"/>
248                                                <xsd:enumeration value="cc"/>
249                                                <xsd:enumeration value="litres"/>
250                                                <xsd:enumeration value="gallons"/>
251                                                <xsd:enumeration value="USGallons"/>
252                                                <xsd:enumeration value="barrels"/>
253                                        </xsd:restriction>
254                                </xsd:simpleType>
255                        </xsd:attribute>
256                        <xsd:attribute name="Temperature" default="DegreeCelsius">
257                                <xsd:annotation>
258                                        <xsd:documentation>These Temperature units are from the ISO 15926 Reference Data Library (RDL) Units of measure </xsd:documentation>
259                                </xsd:annotation>
260                                <xsd:simpleType>
261                                        <xsd:restriction base="xsd:string">
262                                                <xsd:enumeration value="DegreeKelvin"/>
263                                                <xsd:enumeration value="DegreeCelsius"/>
264                                                <xsd:enumeration value="DegreeRankine"/>
265                                                <xsd:enumeration value="DegreeFahrenheit"/>
266                                                <xsd:enumeration value="degC"/>
267                                                <xsd:enumeration value="degF"/>
268                                                <xsd:enumeration value="degK"/>
269                                        </xsd:restriction>
270                                </xsd:simpleType>
271                        </xsd:attribute>
272                        <xsd:attribute name="Pressure" default="Bar">
273                                <xsd:annotation>
274                                        <xsd:documentation>These Pressure units are from the ISO 15926 Reference Data Library (RDL) Units of measure </xsd:documentation>
275                                </xsd:annotation>
276                                <xsd:simpleType>
277                                        <xsd:restriction base="xsd:string">
278                                                <xsd:enumeration value="MillinewtonMetreSquared"/>
279                                                <xsd:enumeration value="NewtonMetreSquared"/>
280                                                <xsd:enumeration value="KilonewtonMetreSquared"/>
281                                                <xsd:enumeration value="Picopascal"/>
282                                                <xsd:enumeration value="Micropascal"/>
283                                                <xsd:enumeration value="Millipascal"/>
284                                                <xsd:enumeration value="Pascal"/>
285                                                <xsd:enumeration value="Kilopascal"/>
286                                                <xsd:enumeration value="Megapascal"/>
287                                                <xsd:enumeration value="Gigapascal"/>
288                                                <xsd:enumeration value="Bar"/>
289                                                <xsd:enumeration value="Bara"/>
290                                                <xsd:enumeration value="Barg"/>
291                                        </xsd:restriction>
292                                </xsd:simpleType>
293                        </xsd:attribute>
294                        <xsd:attribute name="Weight" default="Kilogram">
295                                <xsd:annotation>
296                                        <xsd:documentation>These Weight units are from the ISO 15926 Reference Data Library (RDL) Units of measure </xsd:documentation>
297                                </xsd:annotation>
298                                <xsd:simpleType>
299                                        <xsd:restriction base="xsd:string">
300                                                <xsd:enumeration value="Microgram"/>
301                                                <xsd:enumeration value="Milligram"/>
302                                                <xsd:enumeration value="Gram"/>
303                                                <xsd:enumeration value="Kilogram"/>
304                                                <xsd:enumeration value="Megagram"/>
305                                                <xsd:enumeration value="PoundMass"/>
306                                                <xsd:enumeration value="OunceMass"/>
307                                                <xsd:enumeration value="mg"/>
308                                                <xsd:enumeration value="Kg"/>
309                                                <xsd:enumeration value="lb"/>
310                                                <xsd:enumeration value="oz"/>
311                                        </xsd:restriction>
312                                </xsd:simpleType>
313                        </xsd:attribute>
314                </xsd:complexType>
315        </xsd:element>
316        <xsd:element name="Associations">
317                <xsd:complexType>
318                        <xsd:choice>
319                                <xsd:element ref="Association" maxOccurs="unbounded"/>
320                        </xsd:choice>
321                </xsd:complexType>
322        </xsd:element>
323        <xsd:complexType name="Association">
324                <xsd:annotation>
325                        <xsd:documentation>An Association references other objects either by ID or Tag. If it is by ID that object needs to be in the scope of the XML file a Tag need not be</xsd:documentation>
326                </xsd:annotation>
327                <xsd:attribute name="Type" use="required">
328                        <xsd:simpleType>
329                                <xsd:restriction base="xsd:token">
330                                        <xsd:enumeration value="is about"/>
331                                        <xsd:enumeration value="is a subject of"/>
332                                        <xsd:enumeration value="is associated with"/>
333                                        <xsd:enumeration value="refers to"/>
334                                        <xsd:enumeration value="is referenced in"/>
335                                        <xsd:enumeration value="describes"/>
336                                        <xsd:enumeration value="is described in"/>
337                                        <xsd:enumeration value="indirectly describes"/>
338                                        <xsd:enumeration value="is indirectly described in"/>
339                                        <xsd:enumeration value="defines"/>
340                                        <xsd:enumeration value="is defined in"/>
341                                        <xsd:enumeration value="indirectly defines"/>
342                                        <xsd:enumeration value="is indirectly defined in"/>
343                                        <xsd:enumeration value="is connected to"/>
344                                        <xsd:enumeration value="is logically connected to"/>
345                                        <xsd:enumeration value="is involved with role in"/>
346                                        <xsd:enumeration value="is an activity with role involving"/>
347                                        <xsd:enumeration value="is fulfilled by"/>
348                                        <xsd:enumeration value="fulfills"/>
349                                        <xsd:enumeration value="is a part of"/>
350                                        <xsd:enumeration value="is an assembly including"/>
351                                        <xsd:enumeration value="is a component of"/>
352                                        <xsd:enumeration value="is an composition including"/>
353                                        <xsd:enumeration value="is an element of"/>
354                                        <xsd:enumeration value="is a collection including"/>
355                                        <xsd:enumeration value="is identified by"/>
356                                        <xsd:enumeration value="is an identifier for"/>
357                                        <xsd:enumeration value="is a template including"/>
358                                        <xsd:enumeration value="is a component of template"/>
359                                        <xsd:enumeration value="is a template that refers to"/>
360                                        <xsd:enumeration value="is a reference in template"/>
361                                        <xsd:enumeration value="is classified as"/>
362                                        <xsd:enumeration value="is incidentally classified as"/>
363                                        <xsd:enumeration value="has dataset"/>
364                                        <xsd:enumeration value="is a dataset of"/>
365                                        <xsd:enumeration value="is a comment referring to"/>
366                                        <xsd:enumeration value="is referenced in comment"/>
367                                        <xsd:enumeration value="has document"/>
368                                        <xsd:enumeration value="is a document for"/>
369                                        <xsd:enumeration value="is the location of"/>
370                                        <xsd:enumeration value="is located in"/>
371                                        <xsd:enumeration value="is upstream of"/>
372                                        <xsd:enumeration value="is downstream of"/>
373                                        <xsd:enumeration value="is the responsibility of"/>
374                                </xsd:restriction>
375                        </xsd:simpleType>
376                </xsd:attribute>
377                <xsd:attribute name="ItemID" type="xsd:IDREF" use="optional"/>
378                <xsd:attribute name="TagName" type="xsd:string" use="optional"/>
379                <xsd:attribute name="Name" type="xsd:string" use="optional"/>
380                <xsd:attribute name="URI" type="xsd:anyURI" use="optional"/>
381                <xsd:attribute name="Context" type="xsd:string" use="optional"/>
382        </xsd:complexType>
383        <xsd:element name="Association" type="Association"/>
384        <xsd:element name="PersistentID" type="PersistentID"/>
385        <xsd:complexType name="PersistentID">
386                <xsd:annotation>
387                        <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>
388                </xsd:annotation>
389                <xsd:attribute name="Identifier" type="xsd:string" use="required"/>
390                <xsd:attribute name="Context" type="xsd:string" use="optional"/>
391        </xsd:complexType>
392        <xsd:element name="IdentifierElement">
393                <xsd:annotation>
394                        <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>
395                </xsd:annotation>
396                <xsd:complexType>
397                        <xsd:attribute name="Name" type="xsd:string" use="required"/>
398                        <xsd:attribute name="Value" type="xsd:string" use="optional"/>
399                        <xsd:attribute name="ItemID" type="xsd:IDREF"/>
400                        <xsd:attribute name="DependantAttribute" type="xsd:string"/>
401                </xsd:complexType>
402        </xsd:element>
403        <xsd:element name="Identifier">
404                <xsd:annotation>
405                        <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>
406                </xsd:annotation>
407                <xsd:complexType>
408                        <xsd:choice>
409                                <xsd:element ref="IdentifierElement" maxOccurs="unbounded"/>
410                        </xsd:choice>
411                        <xsd:attribute name="Purpose" type="xsd:string"/>
412                </xsd:complexType>
413        </xsd:element>
414        <xsd:element name="Bolting">
415                <xsd:complexType>
416                        <xsd:choice maxOccurs="2">
417                                <xsd:element ref="BoltDiameter" minOccurs="0"/>
418                                <xsd:element ref="BoltLength" minOccurs="0"/>
419                        </xsd:choice>
420                        <xsd:attribute name="NumberBolts" type="xsd:integer" use="optional"/>
421                </xsd:complexType>
422        </xsd:element>
423        <xsd:element name="CrossPageConnection">
424                <xsd:complexType>
425                        <xsd:choice>
426                                <xsd:element name="LinkedPersistentID" type="PersistentID" minOccurs="0"/>
427                        </xsd:choice>
428                        <xsd:attribute name="DrawingName" type="xsd:string" use="optional"/>
429                        <xsd:attribute name="LinkLabel" type="xsd:string" use="optional"/>
430                </xsd:complexType>
431        </xsd:element>
432        <xsd:element name="StartAngle" type="Double"/>
433        <xsd:element name="EndAngle" type="Double"/>
434        <xsd:element name="BendAngle" type="Double"/>
435        <xsd:element name="SweepAngle" type="Double"/>
436        <xsd:element name="Height" type="Double"/>
437        <xsd:element name="Length" type="Double"/>
438        <xsd:element name="NominalDiameter" type="Double"/>
439        <xsd:element name="InsideDiameter" type="Double"/>
440        <xsd:element name="OutsideDiameter" type="Double"/>
441        <xsd:element name="StartDiameter" type="Double"/>
442        <xsd:element name="EndDiameter" type="Double"/>
443        <xsd:element name="LargeDiameter" type="Double"/>
444        <xsd:element name="SmallDiameter" type="Double"/>
445        <xsd:element name="BranchDiameter" type="Double"/>
446        <xsd:element name="StubDiameter" type="Double"/>
447        <xsd:element name="BoltDiameter" type="Double"/>
448        <xsd:element name="BoltLength" type="Double"/>
449        <xsd:element name="Radius" type="Double"/>
450        <xsd:element name="Thickness" type="Double"/>
451        <xsd:element name="ScheduleThickness" type="String"/>
452        <xsd:element name="EndPreparation" type="String"/>
453        <xsd:element name="FluidType" type="String"/>
454        <xsd:element name="Type" type="String"/>
455        <xsd:element name="NozzleType">
456                <xsd:complexType>
457                        <xsd:attribute name="Value" default="Flanged">
458                                <xsd:simpleType>
459                                        <xsd:restriction base="xsd:token">
460                                                <xsd:enumeration value="Welded"/>
461                                                <xsd:enumeration value="Flanged"/>
462                                                <xsd:enumeration value="Elbow"/>
463                                        </xsd:restriction>
464                                </xsd:simpleType>
465                        </xsd:attribute>
466                </xsd:complexType>
467        </xsd:element>
468        <xsd:element name="OperatorType" type="String"/>
469        <xsd:element name="Rating" type="String"/>
470        <xsd:element name="GasketGap" type="Double"/>
471        <xsd:element name="FabricationCategory" type="String"/>
472        <xsd:element name="Insulation" type="String"/>
473        <xsd:element name="Tracing" type="String"/>
474        <xsd:element name="Lining" type="String"/>
475        <xsd:element name="ConnectionType" type="String">
476                <xsd:annotation>
477                        <xsd:documentation>Physical connection type for a component</xsd:documentation>
478                </xsd:annotation>
479        </xsd:element>
480        <xsd:element name="WeldType" type="String">
481                <xsd:annotation>
482                        <xsd:documentation>Physical connection type for a component</xsd:documentation>
483                </xsd:annotation>
484        </xsd:element>
485        <xsd:element name="Discipline">
486                <xsd:simpleType>
487                        <xsd:restriction base="xsd:NMTOKEN">
488                                <xsd:enumeration value="Electrical"/>
489                                <xsd:enumeration value="Mechanical"/>
490                                <xsd:enumeration value="Process"/>
491                                <xsd:enumeration value="HVAC"/>
492                                <xsd:enumeration value="Telecomms"/>
493                        </xsd:restriction>
494                </xsd:simpleType>
495        </xsd:element>
496        <xsd:element name="Description" type="xsd:string"/>
497        <xsd:element name="Grade" type="String"/>
498        <xsd:element name="Family" type="String"/>
499        <xsd:element name="Material" type="xsd:string"/>
500        <xsd:element name="MaterialDescription" type="xsd:string"/>
501        <xsd:element name="Standard" type="String"/>
502        <xsd:element name="SurfaceTreatment" type="String"/>
503        <xsd:element name="NormalDesignPressure" type="Double"/>
504        <xsd:element name="MinimumDesignPressure" type="Double"/>
505        <xsd:element name="MaximumDesignPressure" type="Double"/>
506        <xsd:element name="NormalDesignTemperature" type="Double"/>
507        <xsd:element name="MinimumDesignTemperature" type="Double"/>
508        <xsd:element name="MaximumDesignTemperature" type="Double"/>
509        <xsd:element name="MinimumAmbientTemperature" type="Double"/>
510        <xsd:element name="MaximumAmbientTemperature" type="Double"/>
511        <xsd:element name="MinimumRelativeHumidity" type="Double"/>
512        <xsd:element name="MaximumRelativeHumidity" type="Double"/>
513        <xsd:element name="AverageBarometricPressure" type="Double"/>
514        <xsd:element name="NormalOperatingPressure" type="Double"/>
515        <xsd:element name="MinimumOperatingPressure" type="Double"/>
516        <xsd:element name="MaximumOperatingPressure" type="Double"/>
517        <xsd:element name="TestPressure" type="Double"/>
518        <xsd:element name="NormalOperatingTemperature" type="Double"/>
519        <xsd:element name="MinimumOperatingTemperature" type="Double"/>
520        <xsd:element name="MaximumOperatingTemperature" type="Double"/>
521        <xsd:element name="WallThickness" type="String"/>
522        <xsd:element name="Weight" type="Double"/>
523        <xsd:element name="ProfileSectionWidth" type="Double"/>
524        <xsd:element name="ProfileSectionHeight" type="Double"/>
525        <xsd:element name="FlangeThickness" type="Double"/>
526        <xsd:element name="WebThickness" type="Double"/>
527        <xsd:element name="RootRadius" type="Double"/>
528        <xsd:element name="DepthBetweenFillets" type="Double"/>
529        <xsd:element name="ProfileInternalCornerRadius" type="Double"/>
530        <xsd:element name="ProfileExternalCornerRadius" type="Double"/>
531        <xsd:element name="ProfileFlangeSlope" type="Double"/>
532        <xsd:element name="RotationAboutPlacement" type="Double"/>
533        <xsd:element name="PlacementCurve">
534                <!--The Placement curve defines the matching curve for placement (eg TopOfSteel). iF it is multipleSection then it must be a CompositeCurve - only smooth curves are expected eg, linear, arc or Bspline.-->
535                <xsd:complexType>
536                        <xsd:choice>
537                                <xsd:element ref="Curve"/>
538                        </xsd:choice>
539                </xsd:complexType>
540        </xsd:element>
541        <xsd:element name="OrientationVector">
542                <!--The OrientationVector defines the direction of the local Y axis of the section profile in the 3D space of the model. This combined with the placement line defines and Axis2Placement (Position). Rotation is then with respect to this Vector. -->
543                <xsd:complexType>
544                        <xsd:choice>
545                                <xsd:element ref="Curve"/>
546                        </xsd:choice>
547                </xsd:complexType>
548        </xsd:element>
549        <xsd:element name="Parameters">
550                <xsd:complexType>
551                        <xsd:attribute name="OverallLength"/>
552                        <xsd:attribute name="FaceDiameter"/>
553                        <xsd:attribute name="FaceThickness"/>
554                        <xsd:attribute name="FlangeThickness"/>
555                        <xsd:attribute name="FlangeDiameter"/>
556                        <xsd:attribute name="OutsideDiameter"/>
557                        <xsd:attribute name="HubDiameter"/>
558                </xsd:complexType>
559        </xsd:element>
560        <!--ControlPointWeight is  the weigtht factor for a control point in a rational curve or surface - values are 0-1. WeightType should be an enumeration -->
561        <xsd:element name="ControlPointWeight">
562                <xsd:complexType>
563                        <xsd:attribute name="Value" type="xsd:double"/>
564                        <xsd:attribute ref="Units"/>
565                        <xsd:attribute name="WeightType" type="xsd:string" use="optional"/>
566                </xsd:complexType>
567        </xsd:element>
568        <!-- Fixed Elements -->
569        <!-- Annotation element  -->
570        <xsd:element name="AnnotationItem" type="AnnotationItem"/>
571        <xsd:complexType name="AnnotationItem">
572                <xsd:annotation>
573                        <xsd:documentation>Defines aspects common to all Annotation items</xsd:documentation>
574                </xsd:annotation>
575                <xsd:choice minOccurs="0" maxOccurs="unbounded">
576                        <xsd:element ref="Presentation" minOccurs="0"/>
577                        <xsd:element ref="Extent"/>
578                        <xsd:element ref="PersistentID"/>
579                        <xsd:element ref="Position"/>
580                        <xsd:element ref="Scale"/>
581                        <xsd:element ref="Curve" maxOccurs="unbounded"/>
582                        <xsd:element ref="ConnectionPoints"/>
583                        <xsd:element ref="Text"/>
584                        <xsd:element ref="Description"/>
585                        <xsd:element ref="GenericAttributes" maxOccurs="unbounded"/>
586                        <xsd:element ref="History"/>
587                        <xsd:element ref="Association" maxOccurs="unbounded"/>
588                </xsd:choice>
589                <xsd:attribute name="ID" type="xsd:ID" use="required"/>
590                <xsd:attribute name="ComponentClass" type="xsd:string"/>
591                <xsd:attribute name="ComponentName" type="xsd:string"/>
592                <xsd:attribute name="ComponentType">
593                        <xsd:simpleType>
594                                <xsd:restriction base="xsd:NMTOKEN">
595                                        <xsd:enumeration value="Normal"/>
596                                        <xsd:enumeration value="Explicit"/>
597                                        <xsd:enumeration value="Parametric"/>
598                                </xsd:restriction>
599                        </xsd:simpleType>
600                </xsd:attribute>
601                <xsd:attribute name="Revision" type="xsd:string"/>
602                <xsd:attribute name="Status">
603                        <xsd:simpleType>
604                                <xsd:restriction base="xsd:NMTOKEN">
605                                        <xsd:enumeration value="Current"/>
606                                        <xsd:enumeration value="Deleted"/>
607                                        <xsd:enumeration value="Modified"/>
608                                        <xsd:enumeration value="New"/>
609                                </xsd:restriction>
610                        </xsd:simpleType>
611                </xsd:attribute>
612        </xsd:complexType>
613        <!--"Axis" element  -->
614        <xsd:element name="Axis">
615                <xsd:annotation>
616                        <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>
617                </xsd:annotation>
618                <xsd:complexType>
619                        <xsd:attribute name="X" type="xsd:double" use="required"/>
620                        <xsd:attribute name="Y" type="xsd:double" use="required"/>
621                        <xsd:attribute name="Z" type="xsd:double" use="required"/>
622                </xsd:complexType>
623        </xsd:element>
624        <!--"Block" element  -->
625        <xsd:element name="Block" substitutionGroup="Solid">
626                <xsd:complexType>
627                        <xsd:sequence>
628                                <xsd:element ref="Presentation" minOccurs="0"/>
629                                <xsd:element ref="Extent"/>
630                                <xsd:element ref="Position"/>
631                                <xsd:element ref="GenericAttributes" minOccurs="0" maxOccurs="unbounded"/>
632                        </xsd:sequence>
633                        <xsd:attribute name="Xlen" type="xsd:double" use="required"/>
634                        <xsd:attribute name="Ylen"/>
635                        <xsd:attribute name="Zlen"/>
636                </xsd:complexType>
637        </xsd:element>
638        <!-- A general Nurb curve -->
639        <xsd:element name="BsplineCurve" type="BsplineCurve" substitutionGroup="Curve"/>
640        <xsd:complexType name="BsplineCurve">
641                <xsd:annotation>
642                        <xsd:documentation>A BsplineCurve is general form of Rational or polynomial curve represented by control points, basis fuinctions and possibly weights.</xsd:documentation>
643                </xsd:annotation>
644                <xsd:complexContent>
645                        <xsd:extension base="Curve">
646                                <xsd:choice maxOccurs="unbounded">
647                                        <xsd:element ref="Presentation" minOccurs="0"/>
648                                        <xsd:element ref="Extent"/>
649                                        <xsd:element name="ControlPoints" type="ControlPoints"/>
650                                        <xsd:element name="KnotMultiplicities" type="KnotMultiplicities" minOccurs="0"/>
651                                        <xsd:element name="Knots" type="Knots" minOccurs="0"/>
652                                        <xsd:element name="WeightsData" type="WeightsData" minOccurs="0"/>
653                                        <xsd:element ref="GenericAttributes" minOccurs="0"/>
654                                </xsd:choice>
655                                <xsd:attribute name="Degree" type="xsd:integer" use="required"/>
656                                <xsd:attribute name="CurveType" use="required">
657                                        <xsd:simpleType>
658                                                <xsd:restriction base="xsd:NMTOKEN">
659                                                        <xsd:enumeration value="BsplineCurve"/>
660                                                        <xsd:enumeration value="BsplineCurveWithKnots"/>
661                                                        <xsd:enumeration value="RationalBsplineCurve"/>
662                                                </xsd:restriction>
663                                        </xsd:simpleType>
664                                </xsd:attribute>
665                                <xsd:attribute name="CurveForm" use="optional">
666                                        <xsd:simpleType>
667                                                <xsd:restriction base="xsd:NMTOKEN">
668                                                        <xsd:enumeration value="PolyLine"/>
669                                                        <xsd:enumeration value="CircularArc"/>
670                                                        <xsd:enumeration value="EllipticArc"/>
671                                                        <xsd:enumeration value="ParabolicArc"/>
672                                                        <xsd:enumeration value="HyperbolicArc"/>
673                                                </xsd:restriction>
674                                        </xsd:simpleType>
675                                </xsd:attribute>
676                                <xsd:attribute name="NumControlPoints" type="xsd:integer" use="required"/>
677                                <xsd:attribute name="NumKnots" type="xsd:integer" use="optional"/>
678                                <xsd:attribute name="Closed" type="xsd:boolean" use="optional"/>
679                                <xsd:attribute name="SelfIntersect" type="xsd:boolean" use="optional"/>
680                        </xsd:extension>
681                </xsd:complexContent>
682        </xsd:complexType>
683        <!-- A general Nurb surface -->
684        <xsd:element name="BsplineSurface" type="BsplineSurface" substitutionGroup="Surface"/>
685        <xsd:complexType name="BsplineSurface">
686                <xsd:annotation>
687                        <xsd:documentation>A BsplineSurface is general form of Rational or polynomial surface represented by control points, basis fuinctions and possibly weights.</xsd:documentation>
688                </xsd:annotation>
689                <xsd:choice maxOccurs="unbounded">
690                        <xsd:element ref="Presentation" minOccurs="0"/>
691                        <xsd:element ref="Extent"/>
692                        <xsd:element name="ControlPointArray" type="ControlPointArray"/>
693                        <xsd:element name="KnotMultiplicitiesU" type="KnotMultiplicities" minOccurs="0"/>
694                        <xsd:element name="KnotMultiplicitiesV" type="KnotMultiplicities" minOccurs="0"/>
695                        <xsd:element name="KnotsU" type="Knots" minOccurs="0"/>
696                        <xsd:element name="KnotsV" type="Knots" minOccurs="0"/>
697                        <xsd:element name="Weights" type="Weights" minOccurs="0"/>
698                        <xsd:element ref="GenericAttributes" minOccurs="0" maxOccurs="unbounded"/>
699                </xsd:choice>
700                <xsd:attribute name="DegreeU" type="xsd:integer" use="required"/>
701                <xsd:attribute name="DegreeV" type="xsd:integer" use="required"/>
702                <xsd:attribute name="SurfaceType" use="required">
703                        <xsd:simpleType>
704                                <xsd:restriction base="xsd:NMTOKEN">
705                                        <xsd:enumeration value="BsplineSurface"/>
706                                        <xsd:enumeration value="BsplineSurfaceWithKnots"/>
707                                        <xsd:enumeration value="RationalBsplineSurface"/>
708                                </xsd:restriction>
709                        </xsd:simpleType>
710                </xsd:attribute>
711                <xsd:attribute name="SurfaceForm" use="optional">
712                        <xsd:simpleType>
713                                <xsd:restriction base="xsd:NMTOKEN">
714                                        <xsd:enumeration value="Plane"/>
715                                        <xsd:enumeration value="Cylindrical"/>
716                                        <xsd:enumeration value="Conical"/>
717                                        <xsd:enumeration value="Spherical"/>
718                                        <xsd:enumeration value="Toroidal"/>
719                                        <xsd:enumeration value="SurfaceOfRevolution"/>
720                                        <xsd:enumeration value="RuledSurface"/>
721                                        <xsd:enumeration value="GeneralisedCone"/>
722                                        <xsd:enumeration value="Quadratic"/>
723                                        <xsd:enumeration value="SurfaceOfLinearExtrusion"/>
724                                </xsd:restriction>
725                        </xsd:simpleType>
726                </xsd:attribute>
727                <xsd:attribute name="NumControlPointsU" type="xsd:integer" use="required"/>
728                <xsd:attribute name="NumControlPointsV" type="xsd:integer" use="required"/>
729                <xsd:attribute name="NumKnotsU" type="xsd:integer" use="optional"/>
730                <xsd:attribute name="NumKnotsV" type="xsd:integer" use="optional"/>
731                <xsd:attribute name="ClosedU" type="xsd:boolean" use="optional"/>
732                <xsd:attribute name="ClosedV" type="xsd:boolean" use="optional"/>
733                <xsd:attribute name="SelfIntersect" type="xsd:boolean" use="optional"/>
734        </xsd:complexType>
735        <!--"CenterLine" element  -->
736        <xsd:element name="CenterLine" type="CenterLine">
737                <xsd:annotation>
738                        <xsd:documentation>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.
739                        </xsd:documentation>
740                </xsd:annotation>
741        </xsd:element>
742        <xsd:complexType name="CenterLine">
743                <xsd:choice maxOccurs="unbounded">
744                        <xsd:element ref="Presentation" minOccurs="0"/>
745                        <xsd:element ref="Extent"/>
746                        <xsd:element ref="Coordinate" maxOccurs="unbounded"/>
747                        <xsd:element ref="PersistentID" minOccurs="0"/>
748                        <xsd:element ref="GenericAttributes" minOccurs="0" maxOccurs="unbounded"/>
749                </xsd:choice>
750                <xsd:attribute name="ID" type="xsd:ID" use="optional"/>
751                <xsd:attribute name="NumPoints" type="xsd:integer" use="required"/>
752        </xsd:complexType>
753        <!--"Circle" element  -->
754        <xsd:element name="Circle" substitutionGroup="Curve">
755                <xsd:complexType>
756                        <xsd:complexContent>
757                                <xsd:extension base="Curve">
758                                        <xsd:sequence>
759                                                <xsd:element ref="Presentation"/>
760                                                <xsd:element ref="Extent"/>
761                                                <xsd:element ref="Position"/>
762                                                <xsd:element ref="GenericAttributes" minOccurs="0" maxOccurs="unbounded"/>
763                                        </xsd:sequence>
764                                        <xsd:attribute name="Radius" type="xsd:double" use="required"/>
765                                        <xsd:attribute name="Filled">
766                                                <xsd:simpleType>
767                                                        <xsd:restriction base="xsd:NMTOKEN">
768                                                                <xsd:enumeration value="Solid"/>
769                                                                <xsd:enumeration value="Hatch"/>
770                                                        </xsd:restriction>
771                                                </xsd:simpleType>
772                                        </xsd:attribute>
773                                </xsd:extension>
774                        </xsd:complexContent>
775                </xsd:complexType>
776        </xsd:element>
777        <!--"CompositeCurve" element  -->
778        <xsd:element name="CompositeCurve" substitutionGroup="Curve">
779                <xsd:complexType>
780                        <xsd:complexContent>
781                                <xsd:extension base="Curve">
782                                        <xsd:choice minOccurs="0" maxOccurs="unbounded">
783                                                <xsd:element ref="Presentation"/>
784                                                <xsd:element ref="Extent"/>
785                                                <xsd:element ref="Curve" minOccurs="0" maxOccurs="unbounded"/>
786                                                <xsd:element ref="GenericAttributes" minOccurs="0" maxOccurs="unbounded"/>
787                                        </xsd:choice>
788                                </xsd:extension>
789                        </xsd:complexContent>
790                </xsd:complexType>
791        </xsd:element>
792        <!--"Cone" element  -->
793        <xsd:element name="Cone" substitutionGroup="Solid">
794                <xsd:complexType>
795                        <xsd:sequence>
796                                <xsd:element ref="Presentation" minOccurs="0"/>
797                                <xsd:element ref="Extent"/>
798                                <xsd:element ref="Position" maxOccurs="2"/>
799                                <xsd:element ref="GenericAttributes" minOccurs="0" maxOccurs="unbounded"/>
800                        </xsd:sequence>
801                        <xsd:attribute name="Height" type="xsd:double" use="required"/>
802                        <xsd:attribute name="BaseRadius" type="xsd:double" use="required"/>
803                        <xsd:attribute name="TopRadius" type="xsd:double" use="required"/>
804                        <xsd:attribute name="Type" default="RightCone">
805                                <xsd:simpleType>
806                                        <xsd:restriction base="xsd:NMTOKEN">
807                                                <xsd:enumeration value="RightCone"/>
808                                                <xsd:enumeration value="SkewedCone"/>
809                                                <xsd:enumeration value="TrimmedCone"/>
810                                        </xsd:restriction>
811                                </xsd:simpleType>
812                        </xsd:attribute>
813                </xsd:complexType>
814        </xsd:element>
815        <!--"Connnection" element  -->
816        <xsd:element name="Connection">
817                <xsd:complexType>
818                        <xsd:attribute name="ToID" type="xsd:string"/>
819                        <xsd:attribute name="ToNode">
820                                <xsd:simpleType>
821                                        <xsd:restriction base="xsd:integer">
822                                                <xsd:minInclusive value="1"/>
823                                        </xsd:restriction>
824                                </xsd:simpleType>
825                        </xsd:attribute>
826                        <xsd:attribute name="FromID" type="xsd:string"/>
827                        <xsd:attribute name="FromNode">
828                                <xsd:simpleType>
829                                        <xsd:restriction base="xsd:integer">
830                                                <xsd:minInclusive value="1"/>
831                                        </xsd:restriction>
832                                </xsd:simpleType>
833                        </xsd:attribute>
834                </xsd:complexType>
835        </xsd:element>
836        <!--"ConnectionPoints" element  -->
837        <xsd:element name="ConnectionPoints">
838                <xsd:annotation>
839                        <xsd:documentation>An ordered set of Nodes for the object containing this ConnectionPoints object. The first Node (0) is coincident with the origing of the containing object. The next two (1and 2) are the main flow and all others are secondary flows. Flowin and Flowout reference the Nodes indexed from 0 ie main flow is 1 and 2</xsd:documentation>
840                </xsd:annotation>
841                <xsd:complexType>
842                        <xsd:sequence>
843                                <xsd:element ref="Presentation" minOccurs="0"/>
844                                <xsd:element ref="Extent" minOccurs="0"/>
845                                <xsd:element ref="Node" maxOccurs="unbounded"/>
846                                <xsd:element ref="GenericAttributes" minOccurs="0" maxOccurs="unbounded"/>
847                        </xsd:sequence>
848                        <xsd:attribute name="NumPoints" type="xsd:integer" use="required"/>
849                        <xsd:attribute name="FlowIn">
850                                <xsd:simpleType>
851                                        <xsd:restriction base="xsd:integer">
852                                                <xsd:minInclusive value="1"/>
853                                        </xsd:restriction>
854                                </xsd:simpleType>
855                        </xsd:attribute>
856                        <xsd:attribute name="FlowOut">
857                                <xsd:simpleType>
858                                        <xsd:restriction base="xsd:integer">
859                                                <xsd:minInclusive value="1"/>
860                                        </xsd:restriction>
861                                </xsd:simpleType>
862                        </xsd:attribute>
863                </xsd:complexType>
864        </xsd:element>
865        <!-- Control point list for Bsplines -->
866        <xsd:element name="ControlPoints">
867                <xsd:complexType>
868                        <xsd:sequence>
869                                <xsd:element ref="Coordinate" maxOccurs="unbounded"/>
870                        </xsd:sequence>
871                </xsd:complexType>
872        </xsd:element>
873        <!-- list of Control point lists for Bsplines -->
874        <xsd:element name="ControlPointArray">
875                <xsd:complexType>
876                        <xsd:sequence>
877                                <xsd:element ref="ControlPoints" maxOccurs="unbounded"/>
878                        </xsd:sequence>
879                </xsd:complexType>
880        </xsd:element>
881        <!--"Coordinate" element  -->
882        <xsd:element name="Coordinate">
883                <xsd:complexType>
884                        <xsd:attribute name="X" type="xsd:double" use="required"/>
885                        <xsd:attribute name="Y" type="xsd:double" use="required"/>
886                        <xsd:attribute name="Z" type="xsd:double"/>
887                </xsd:complexType>
888        </xsd:element>
889        <!-- Curve Element -->
890        <xsd:element name="Curve" type="Curve"/>
891        <!--"Cylinder" element  -->
892        <xsd:element name="Cylinder" substitutionGroup="Solid">
893                <xsd:complexType>
894                        <xsd:sequence>
895                                <xsd:element ref="Presentation" minOccurs="0"/>
896                                <xsd:element ref="Extent"/>
897                                <xsd:element ref="Position" maxOccurs="2"/>
898                                <xsd:element ref="GenericAttributes" minOccurs="0" maxOccurs="unbounded"/>
899                        </xsd:sequence>
900                        <xsd:attribute name="Height" type="xsd:double" use="required"/>
901                        <xsd:attribute name="Radius" type="xsd:double" use="required"/>
902                        <xsd:attribute name="Type" default="RightCylinder">
903                                <xsd:simpleType>
904                                        <xsd:restriction base="xsd:NMTOKEN">
905                                                <xsd:enumeration value="RightCylinder"/>
906                                                <xsd:enumeration value="SkewedCylinder"/>
907                                                <xsd:enumeration value="TrimmedCylinder"/>
908                                        </xsd:restriction>
909                                </xsd:simpleType>
910                        </xsd:attribute>
911                </xsd:complexType>
912        </xsd:element>
913        <!-- Curve bounded Surface is one that is trimmed with freeform curve boundaries -->
914        <xsd:element name="CurveBoundedSurface" substitutionGroup="Surface">
915                <xsd:annotation>
916                        <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>
917                </xsd:annotation>
918                <xsd:complexType>
919                        <xsd:sequence>
920                                <xsd:element name="BasisSurface" type="BsplineSurface"/>
921                                <xsd:element ref="OuterBoundary" minOccurs="0"/>
922                                <xsd:element ref="InnerBoundary" minOccurs="0" maxOccurs="unbounded"/>
923                        </xsd:sequence>
924                </xsd:complexType>
925        </xsd:element>
926        <!--An Engineering Drawing -->
927        <xsd:element name="Drawing">
928                <xsd:complexType>
929                        <xsd:choice minOccurs="0" maxOccurs="unbounded">
930                                <xsd:element ref="Presentation"/>
931                                <xsd:element ref="Extent"/>
932                                <xsd:element ref="Component" minOccurs="0" maxOccurs="unbounded"/>
933                                <xsd:element ref="Curve" minOccurs="0" maxOccurs="unbounded"/>
934                                <xsd:element ref="Text" minOccurs="0" maxOccurs="unbounded"/>
935                                <xsd:element ref="DrawingBorder"/>
936                                <xsd:element ref="Label"/>
937                                <xsd:element ref="InsulationSymbol"/>
938                                <xsd:element ref="ScopeBubble"/>
939                                <xsd:element ref="GenericAttributes" minOccurs="0" maxOccurs="unbounded"/>
940                        </xsd:choice>
941                        <xsd:attribute name="Name" type="xsd:string" use="required"/>
942                        <xsd:attribute name="Type">
943                                <xsd:simpleType>
944                                        <xsd:restriction base="xsd:NMTOKEN">
945                                                <xsd:enumeration value="PFD"/>
946                                                <xsd:enumeration value="PID"/>
947                                                <xsd:enumeration value="ISO"/>
948                                                <xsd:enumeration value="SLD"/>
949                                                <xsd:enumeration value="GA"/>
950                                                <xsd:enumeration value="Datasheet"/>
951                                                <xsd:enumeration value="ElectricalSchematic"/>
952                                                <xsd:enumeration value="LoopDiagram"/>
953                                                <xsd:enumeration value="LoadSchedule"/>
954                                                <xsd:enumeration value="InstrumentSchedule"/>
955                                                <xsd:enumeration value="ValveSchedule"/>
956                                                <xsd:enumeration value="EquipmentList"/>
957                                                <xsd:enumeration value="General"/>
958                                        </xsd:restriction>
959                                </xsd:simpleType>
960                        </xsd:attribute>
961                        <xsd:attribute name="Revision" type="xsd:string"/>
962                        <xsd:attribute name="Title" type="xsd:string"/>
963                        <xsd:attribute name="Size" type="xsd:string"/>
964                </xsd:complexType>
965        </xsd:element>
966        <!-- Drawing Border element -->
967        <xsd:element name="DrawingBorder">
968                <xsd:complexType>
969                        <xsd:choice minOccurs="0" maxOccurs="unbounded">
970                                <xsd:element ref="Presentation"/>
971                                <xsd:element ref="Extent"/>
972                                <xsd:element ref="Curve" minOccurs="0" maxOccurs="unbounded"/>
973                                <xsd:element ref="Text" minOccurs="0" maxOccurs="unbounded"/>
974                                <xsd:element ref="GenericAttributes" minOccurs="0" maxOccurs="unbounded"/>
975                        </xsd:choice>
976                        <xsd:attribute name="Name" type="xsd:string"/>
977                        <xsd:attribute name="Size" type="xsd:string"/>
978                </xsd:complexType>
979        </xsd:element>
980        <!--"EdgeCurve" element  -->
981        <xsd:element name="EdgeCurve">
982                <xsd:complexType>
983                        <xsd:choice>
984                                <xsd:element ref="Curve" maxOccurs="unbounded"/>
985                        </xsd:choice>
986                </xsd:complexType>
987        </xsd:element>
988        <!--"Ellipse" element  -->
989        <xsd:element name="Ellipse" substitutionGroup="Curve">
990                <xsd:complexType>
991                        <xsd:complexContent>
992                                <xsd:extension base="Curve">
993                                        <xsd:sequence>
994                                                <xsd:element ref="Presentation"/>
995                                                <xsd:element ref="Extent"/>
996                                                <xsd:element ref="Position"/>
997                                                <xsd:element ref="GenericAttributes" minOccurs="0" maxOccurs="unbounded"/>
998                                        </xsd:sequence>
999                                        <xsd:attribute name="PrimaryAxis" type="xsd:double" use="required"/>
1000                                        <xsd:attribute name="SecondaryAxis" type="xsd:double" use="required"/>
1001                                        <xsd:attribute name="Filled">
1002                                                <xsd:simpleType>
1003                                                        <xsd:restriction base="xsd:NMTOKEN">
1004                                                                <xsd:enumeration value="Solid"/>
1005                                                                <xsd:enumeration value="Hatch"/>
1006                                                        </xsd:restriction>
1007                                                </xsd:simpleType>
1008                                        </xsd:attribute>
1009                                </xsd:extension>
1010                        </xsd:complexContent>
1011                </xsd:complexType>
1012        </xsd:element>
1013        <!--"Extent" element  -->
1014        <xsd:element name="Extent">
1015                <xsd:complexType>
1016                        <xsd:sequence>
1017                                <xsd:element ref="Min"/>
1018                                <xsd:element ref="Max"/>
1019                        </xsd:sequence>
1020                </xsd:complexType>
1021        </xsd:element>
1022        <!--"ExtrudeCurve" element  -->
1023        <xsd:element name="ExtrudeCurve">
1024                <xsd:complexType>
1025                        <xsd:choice>
1026                                <xsd:element ref="Line"/>
1027                                <xsd:element ref="PolyLine"/>
1028                        </xsd:choice>
1029                </xsd:complexType>
1030        </xsd:element>
1031        <!--"Face" element - a planar facet-->
1032        <xsd:element name="Face">
1033                <xsd:complexType>
1034                        <xsd:sequence>
1035                                <xsd:element ref="Loop" maxOccurs="unbounded"/>
1036                        </xsd:sequence>
1037                        <xsd:attribute name="NumLoops" type="xsd:integer" use="required"/>
1038                </xsd:complexType>
1039        </xsd:element>
1040        <!--"Faces" element - Faces of the solid-->
1041        <xsd:element name="Faces">
1042                <xsd:complexType>
1043                        <xsd:sequence>
1044                                <xsd:element ref="Face" maxOccurs="unbounded"/>
1045                        </xsd:sequence>
1046                        <xsd:attribute name="NumFaces" type="xsd:integer" use="required"/>
1047                </xsd:complexType>
1048        </xsd:element>
1049        <!--"FacetRep" element - a simple facetted BREP-->
1050        <xsd:element name="FacetRep" substitutionGroup="Solid">
1051                <xsd:complexType>
1052                        <xsd:sequence>
1053                                <xsd:element ref="Presentation"/>
1054                                <xsd:element ref="Extent"/>
1055                                <xsd:element ref="Position" minOccurs="0"/>
1056                                <xsd:element ref="GenericAttributes" minOccurs="0" maxOccurs="unbounded"/>
1057                                <xsd:element ref="Vertices"/>
1058                                <xsd:element ref="Faces" maxOccurs="unbounded"/>
1059                        </xsd:sequence>
1060                </xsd:complexType>
1061        </xsd:element>
1062        <!--"GeometricPrimitives" element  -->
1063        <xsd:element name="GeometricPrimitives">
1064                <xsd:annotation>
1065                        <xsd:documentation>Container for all the geometry of a Catalogue item</xsd:documentation>
1066                </xsd:annotation>
1067                <xsd:complexType>
1068                        <xsd:choice maxOccurs="unbounded">
1069                                <xsd:element ref="Extent"/>
1070                                <xsd:element ref="Solid"/>
1071                                <xsd:element ref="Surface"/>
1072                                <xsd:element ref="Curve"/>
1073                        </xsd:choice>
1074                        <xsd:attribute name="NumPrimitives" type="xsd:integer"/>
1075                </xsd:complexType>
1076        </xsd:element>
1077        <!--"GenericAttributes" element  -->
1078        <xsd:element name="GenericAttributes">
1079                <xsd:annotation>
1080                        <xsd:documentation>Handles user defined Attributes of any name</xsd:documentation>
1081                </xsd:annotation>
1082                <xsd:complexType>
1083                        <xsd:choice>
1084                                <xsd:element ref="GenericAttribute" maxOccurs="unbounded"/>
1085                        </xsd:choice>
1086                        <xsd:attribute name="Number" type="xsd:integer" use="required"/>
1087                        <xsd:attribute name="Set" type="xsd:string" use="optional"/>
1088                </xsd:complexType>
1089        </xsd:element>
1090        <xsd:element name="GenericAttribute">
1091                <xsd:annotation>
1092                        <xsd:documentation>A GenericAttribute can be any Name but this should also match the RDL</xsd:documentation>
1093                </xsd:annotation>
1094                <xsd:complexType>
1095                        <xsd:attribute name="Name" type="xsd:string" use="required"/>
1096                        <xsd:attribute name="Value" type="xsd:string" use="optional"/>
1097                        <xsd:attribute ref="Units" use="optional"/>
1098                        <xsd:attribute name="Format" type="xsd:string" use="optional"/>
1099                        <xsd:attribute name="URI" type="xsd:anyURI" use="optional"/>
1100                </xsd:complexType>
1101        </xsd:element>
1102        <!--History Elemet holds information on the use of a model and the transactions that occur-->
1103        <xsd:element name="History">
1104                <xsd:complexType>
1105                        <xsd:choice maxOccurs="unbounded">
1106                                <xsd:element ref="Transaction"/>
1107                        </xsd:choice>
1108                        <xsd:attribute name="NumTransactions" type="xsd:integer"/>
1109                </xsd:complexType>
1110        </xsd:element>
1111        <!--"Index" element  -->
1112        <xsd:element name="Index">
1113                <xsd:annotation>
1114                        <xsd:documentation>see Loop</xsd:documentation>
1115                </xsd:annotation>
1116                <xsd:complexType mixed="true">
1117                        <xsd:attribute name="Num" type="xsd:integer" use="required"/>
1118                </xsd:complexType>
1119        </xsd:element>
1120        <!-- An Inner Boundary (hole) for a Curve Bounded Surface -->
1121        <xsd:element name="InnerBoundary">
1122                <xsd:complexType>
1123                        <xsd:choice>
1124                                <xsd:element name="Pcurve" type="Pcurve"/>
1125                        </xsd:choice>
1126                </xsd:complexType>
1127        </xsd:element>
1128        <!--"Line" element  -->
1129        <xsd:element name="Line" type="Line" substitutionGroup="Curve"/>
1130        <xsd:complexType name="Line">
1131                <xsd:complexContent>
1132                        <xsd:extension base="Curve">
1133                                <xsd:sequence>
1134                                        <xsd:element ref="Presentation"/>
1135                                        <xsd:element ref="Extent"/>
1136                                        <xsd:element ref="Coordinate" minOccurs="2" maxOccurs="2"/>
1137                                        <xsd:element ref="GenericAttributes" minOccurs="0" maxOccurs="unbounded"/>
1138                                </xsd:sequence>
1139                        </xsd:extension>
1140                </xsd:complexContent>
1141        </xsd:complexType>
1142        <!--"Location" element  -->
1143        <xsd:element name="Location">
1144                <xsd:complexType>
1145                        <xsd:attribute name="X" type="xsd:double" use="required"/>
1146                        <xsd:attribute name="Y" type="xsd:double" use="required"/>
1147                        <xsd:attribute name="Z" type="xsd:double"/>
1148                </xsd:complexType>
1149        </xsd:element>
1150        <!--"Loop" element - defines the boundary and normal of a planar facet Face-->
1151        <xsd:element name="Loop">
1152                <xsd:complexType>
1153                        <xsd:sequence>
1154                                <xsd:element ref="Index" minOccurs="3" maxOccurs="unbounded"/>
1155                                <xsd:element ref="Axis" minOccurs="0" maxOccurs="unbounded"/>
1156                        </xsd:sequence>
1157                        <xsd:attribute name="NumIndices" type="xsd:integer" use="required"/>
1158                </xsd:complexType>
1159        </xsd:element>
1160        <!-- "Max" element-->
1161        <xsd:element name="Max">
1162                <xsd:annotation>
1163                        <xsd:documentation>Maximun extents of Plant item</xsd:documentation>
1164                </xsd:annotation>
1165                <xsd:complexType>
1166                        <xsd:attribute name="X" type="xsd:double" use="required"/>
1167                        <xsd:attribute name="Y" type="xsd:double" use="required"/>
1168                        <xsd:attribute name="Z" type="xsd:double" default="0.0"/>
1169                </xsd:complexType>
1170        </xsd:element>
1171        <!--"Min" element  -->
1172        <xsd:element name="Min">
1173                <xsd:annotation>
1174                        <xsd:documentation>Minimum extents of Plant item</xsd:documentation>
1175                </xsd:annotation>
1176                <xsd:complexType>
1177                        <xsd:attribute name="X" type="xsd:double" use="required"/>
1178                        <xsd:attribute name="Y" type="xsd:double" use="required"/>
1179                        <xsd:attribute name="Z" type="xsd:double" default="0.0"/>
1180                </xsd:complexType>
1181        </xsd:element>
1182        <!--"Node" element  -->
1183        <xsd:element name="Node">
1184                <xsd:annotation>
1185                        <xsd:documentation>A Node is an connection point for a component and is an Element within a ConnectioPoints Element.</xsd:documentation>
1186                </xsd:annotation>
1187                <xsd:complexType>
1188                        <xsd:choice maxOccurs="unbounded">
1189                                <xsd:element ref="Position"/>
1190                                <xsd:element ref="NominalDiameter" minOccurs="0"/>
1191                                <xsd:element ref="EndPreparation" minOccurs="0"/>
1192                                <xsd:element ref="GasketGap" minOccurs="0"/>
1193                                <xsd:element ref="Rating" minOccurs="0"/>
1194                                <xsd:element ref="ScheduleThickness" minOccurs="0"/>
1195                                <xsd:element ref="WeldType" minOccurs="0"/>
1196                                <xsd:element ref="GenericAttributes" minOccurs="0" maxOccurs="unbounded"/>
1197                        </xsd:choice>
1198                        <xsd:attribute name="Name" type="xsd:string" use="optional"/>
1199                        <xsd:attribute name="Type" use="optional">
1200                                <xsd:simpleType>
1201                                        <xsd:restriction base="xsd:NMTOKEN">
1202                                                <xsd:enumeration value="unspecified"/>
1203                                                <xsd:enumeration value="process"/>
1204                                                <xsd:enumeration value="signal"/>
1205                                        </xsd:restriction>
1206                                </xsd:simpleType>
1207                        </xsd:attribute>
1208                        <xsd:attribute name="Function" use="optional">
1209                                <xsd:simpleType>
1210                                        <xsd:restriction base="xsd:NMTOKEN">
1211                                                <xsd:enumeration value="unspecified"/>
1212                                                <xsd:enumeration value="primary"/>
1213                                                <xsd:enumeration value="secondary"/>
1214                                                <xsd:enumeration value="tap"/>
1215                                        </xsd:restriction>
1216                                </xsd:simpleType>
1217                        </xsd:attribute>
1218                        <xsd:attribute name="Flow" use="optional">
1219                                <xsd:simpleType>
1220                                        <xsd:restriction base="xsd:NMTOKEN">
1221                                                <xsd:enumeration value="unspecified"/>
1222                                                <xsd:enumeration value="in"/>
1223                                                <xsd:enumeration value="out"/>
1224                                                <xsd:enumeration value="both"/>
1225                                        </xsd:restriction>
1226                                </xsd:simpleType>
1227                        </xsd:attribute>
1228                </xsd:complexType>
1229        </xsd:element>
1230        <!-- The outer boundary of a Curve Bounded Surface -->
1231        <xsd:element name="OuterBoundary">
1232                <xsd:complexType>
1233                        <xsd:choice>
1234                                <xsd:element name="Pcurve" type="Pcurve"/>
1235                        </xsd:choice>
1236                </xsd:complexType>
1237        </xsd:element>
1238        <!--"PlantInformation" element  -->
1239        <xsd:element name="PlantInformation">
1240                <xsd:complexType>
1241                        <xsd:choice minOccurs="0" maxOccurs="unbounded">
1242                                <xsd:element ref="UnitsOfMeasure"/>
1243                        </xsd:choice>
1244                        <xsd:attribute name="SchemaVersion" type="xsd:string" default="3.3.3"/>
1245                        <xsd:attribute name="OriginatingSystem" type="xsd:string" use="required"/>
1246                        <xsd:attribute name="ModelName" type="xsd:string" use="optional"/>
1247                        <xsd:attribute name="Date" type="xsd:date" use="required"/>
1248                        <xsd:attribute name="ProjectName" type="xsd:string" use="optional"/>
1249                        <xsd:attribute name="ProjectCode" type="xsd:string" use="optional"/>
1250                        <xsd:attribute name="ProjectDescription" type="xsd:string" use="optional"/>
1251                        <xsd:attribute name="CompanyName" type="xsd:string" use="optional"/>
1252                        <xsd:attribute name="Time" type="xsd:time" use="optional"/>
1253                        <xsd:attribute name="Is3D" use="required">
1254                                <xsd:simpleType>
1255                                        <xsd:restriction base="xsd:NMTOKEN">
1256                                                <xsd:enumeration value="no"/>
1257                                                <xsd:enumeration value="yes"/>
1258                                        </xsd:restriction>
1259                                </xsd:simpleType>
1260                        </xsd:attribute>
1261                        <xsd:attribute name="Units" type="xsd:string" use="required"/>
1262                        <xsd:attribute name="Discipline" type="xsd:string"/>
1263                </xsd:complexType>
1264        </xsd:element>
1265        <!--"PlantItem" element  -->
1266        <xsd:element name="PlantItem" type="PlantItem" abstract="true"/>
1267        <xsd:complexType name="PlantItem">
1268                <xsd:annotation>
1269                        <xsd:documentation>Defines aspects common to all Plant items</xsd:documentation>
1270                </xsd:annotation>
1271                <xsd:choice minOccurs="0" maxOccurs="unbounded">
1272                        <xsd:element ref="Presentation" minOccurs="0"/>
1273                        <xsd:element ref="Extent"/>
1274                        <xsd:element ref="PersistentID"/>
1275                        <xsd:element ref="Position"/>
1276                        <xsd:element ref="Scale"/>
1277                        <xsd:element ref="Solid"/>
1278                        <xsd:element ref="Surface"/>
1279                        <xsd:element ref="Curve" maxOccurs="unbounded"/>
1280                        <xsd:element ref="GeometricPrimitives"/>
1281                        <xsd:element ref="ConnectionPoints"/>
1282                        <xsd:element ref="PConnectionPoints"/>
1283                        <xsd:element ref="Text"/>
1284                        <xsd:element ref="Identifier"/>
1285                        <xsd:element ref="Drawing"/>
1286                        <xsd:element ref="Description"/>
1287                        <xsd:element ref="Weight"/>
1288                        <xsd:element ref="Material"/>
1289                        <xsd:element ref="MaterialDescription"/>
1290                        <xsd:element name="ModelNumber" type="xsd:string"/>
1291                        <xsd:element name="Supplier" type="xsd:string"/>
1292                        <xsd:element name="Manufacturer" type="xsd:string"/>
1293                        <xsd:element ref="GenericAttributes" maxOccurs="unbounded"/>
1294                        <xsd:element ref="Association" maxOccurs="unbounded"/>
1295                        <xsd:element ref="History"/>
1296                </xsd:choice>
1297                <xsd:attribute name="ID" type="xsd:ID" use="required"/>
1298                <xsd:attribute name="TagName" type="xsd:string"/>
1299                <xsd:attribute name="Specification" type="xsd:string"/>
1300                <xsd:attribute name="StockNumber" type="xsd:string"/>
1301                <xsd:attribute name="ComponentClass" type="xsd:string"/>
1302                <xsd:attribute name="ComponentName" type="xsd:string"/>
1303                <xsd:attribute name="ComponentType">
1304                        <xsd:simpleType>
1305                                <xsd:restriction base="xsd:NMTOKEN">
1306                                        <xsd:enumeration value="Normal"/>
1307                                        <xsd:enumeration value="Explicit"/>
1308                                        <xsd:enumeration value="Parametric"/>
1309                                </xsd:restriction>
1310                        </xsd:simpleType>
1311                </xsd:attribute>
1312                <xsd:attribute name="Revision" type="xsd:string"/>
1313                <xsd:attribute name="Status">
1314                        <xsd:simpleType>
1315                                <xsd:restriction base="xsd:NMTOKEN">
1316                                        <xsd:enumeration value="Current"/>
1317                                        <xsd:enumeration value="Deleted"/>
1318                                        <xsd:enumeration value="Modified"/>
1319                                        <xsd:enumeration value="New"/>
1320                                </xsd:restriction>
1321                        </xsd:simpleType>
1322                </xsd:attribute>
1323        </xsd:complexType>
1324        <!--"PlantModel" element  -->
1325        <xsd:element name="PlantModel">
1326                <xsd:annotation>
1327                        <xsd:documentation>Handle for a collection of Plant objects</xsd:documentation>
1328                </xsd:annotation>
1329                <xsd:complexType>
1330                        <xsd:sequence>
1331                                <xsd:element ref="PlantInformation"/>
1332                                <xsd:element ref="Extent"/>
1333                                <xsd:any namespace="##targetNamespace" maxOccurs="unbounded"/>
1334                        </xsd:sequence>
1335                </xsd:complexType>
1336        </xsd:element>
1337        <!--"Polyline" element  -->
1338        <xsd:element name="PolyLine" substitutionGroup="Curve">
1339                <xsd:complexType>
1340                        <xsd:complexContent>
1341                                <xsd:extension base="Curve">
1342                                        <xsd:sequence>
1343                                                <xsd:element ref="Presentation"/>
1344                                                <xsd:element ref="Extent"/>
1345                                                <xsd:element ref="Coordinate" minOccurs="2" maxOccurs="unbounded"/>
1346                                                <xsd:element ref="GenericAttributes" minOccurs="0" maxOccurs="unbounded"/>
1347                                        </xsd:sequence>
1348                                        <xsd:attribute name="NumPoints" type="xsd:integer"/>
1349                                </xsd:extension>
1350                        </xsd:complexContent>
1351                </xsd:complexType>
1352        </xsd:element>
1353        <!--"Position" element  -->
1354        <xsd:element name="Position">
1355                <xsd:complexType>
1356                        <xsd:sequence>
1357                                <xsd:element ref="Location"/>
1358                                <xsd:element ref="Axis"/>
1359                                <xsd:element ref="Reference"/>
1360                        </xsd:sequence>
1361                </xsd:complexType>
1362        </xsd:element>
1363        <!--"Presentation" element  -->
1364        <xsd:element name="Presentation">
1365                <xsd:complexType>
1366                        <xsd:attribute name="Layer" type="xsd:string"/>
1367                        <xsd:attribute name="Color" type="xsd:string"/>
1368                        <xsd:attribute name="LineType" type="xsd:string"/>
1369                        <xsd:attribute name="LineWeight" type="xsd:string"/>
1370                        <xsd:attribute name="R">
1371                                <xsd:simpleType>
1372                                        <xsd:restriction base="xsd:double">
1373                                                <xsd:minInclusive value="0.0"/>
1374                                                <xsd:maxInclusive value="1.0"/>
1375                                        </xsd:restriction>
1376                                </xsd:simpleType>
1377                        </xsd:attribute>
1378                        <xsd:attribute name="G">
1379                                <xsd:simpleType>
1380                                        <xsd:restriction base="xsd:double">
1381                                                <xsd:minInclusive value="0.0"/>
1382                                                <xsd:maxInclusive value="1.0"/>
1383                                        </xsd:restriction>
1384                                </xsd:simpleType>
1385                        </xsd:attribute>
1386                        <xsd:attribute name="B">
1387                                <xsd:simpleType>
1388                                        <xsd:restriction base="xsd:double">
1389                                                <xsd:minInclusive value="0.0"/>
1390                                                <xsd:maxInclusive value="1.0"/>
1391                                        </xsd:restriction>
1392                                </xsd:simpleType>
1393                        </xsd:attribute>
1394                </xsd:complexType>
1395        </xsd:element>
1396        <!--"ProfileCurve" element  -->
1397        <xsd:element name="ProfileCurve">
1398                <xsd:complexType>
1399                        <xsd:choice>
1400                                <xsd:element ref="Curve" maxOccurs="unbounded"/>
1401                        </xsd:choice>
1402                </xsd:complexType>
1403        </xsd:element>
1404        <!--"Reference" element  -->
1405        <xsd:element name="Reference">
1406                <xsd:complexType>
1407                        <xsd:attribute name="X" type="xsd:double" use="required"/>
1408                        <xsd:attribute name="Y" type="xsd:double" use="required"/>
1409                        <xsd:attribute name="Z" type="xsd:double" use="required"/>
1410                </xsd:complexType>
1411        </xsd:element>
1412        <!-- Scale -->
1413        <xsd:element name="Scale">
1414                <xsd:complexType>
1415                        <xsd:attribute name="X" type="xsd:double" use="required"/>
1416                        <xsd:attribute name="Y" type="xsd:double" use="required"/>
1417                        <xsd:attribute name="Z" type="xsd:double" use="optional"/>
1418                </xsd:complexType>
1419        </xsd:element>
1420        <!--"Shape" element  -->
1421        <xsd:element name="Shape" substitutionGroup="Curve">
1422                <xsd:complexType>
1423                        <xsd:complexContent>
1424                                <xsd:extension base="Curve">
1425                                        <xsd:sequence>
1426                                                <xsd:element ref="Presentation"/>
1427                                                <xsd:element ref="Extent"/>
1428                                                <xsd:element ref="Coordinate" maxOccurs="unbounded"/>
1429                                                <xsd:element ref="GenericAttributes" minOccurs="0" maxOccurs="unbounded"/>
1430                                        </xsd:sequence>
1431                                        <xsd:attribute name="NumPoints" use="required"/>
1432                                        <xsd:attribute name="Filled">
1433                                                <xsd:simpleType>
1434                                                        <xsd:restriction base="xsd:NMTOKEN">
1435                                                                <xsd:enumeration value="Solid"/>
1436                                                                <xsd:enumeration value="Hatch"/>
1437                                                        </xsd:restriction>
1438                                                </xsd:simpleType>
1439                                        </xsd:attribute>
1440                                </xsd:extension>
1441                        </xsd:complexContent>
1442                </xsd:complexType>
1443        </xsd:element>
1444        <!--"Solid" element  -->
1445        <xsd:element name="Solid" abstract="true"/>
1446        <!--"SolidOfExtrusion" element  -->
1447        <xsd:element name="SolidOfExtrusion" substitutionGroup="Solid">
1448                <xsd:complexType>
1449                        <xsd:sequence>
1450                                <xsd:element ref="Presentation" minOccurs="0"/>
1451                                <xsd:element ref="Extent"/>
1452                                <xsd:element ref="Position"/>
1453                                <xsd:element ref="ExtrudeCurve" minOccurs="0"/>
1454                                <xsd:element ref="ProfileCurve"/>
1455                                <xsd:element ref="EdgeCurve" minOccurs="0"/>
1456                                <xsd:element ref="GenericAttributes" minOccurs="0" maxOccurs="unbounded"/>
1457                        </xsd:sequence>
1458                        <xsd:attribute name="Type">
1459                                <xsd:simpleType>
1460                                        <xsd:restriction base="xsd:NMTOKEN">
1461                                                <xsd:enumeration value="Block"/>
1462                                                <xsd:enumeration value="Cone"/>
1463                                                <xsd:enumeration value="Cylinder"/>
1464                                                <xsd:enumeration value="Linear"/>
1465                                                <xsd:enumeration value="Pyramid"/>
1466                                                <xsd:enumeration value="Prism"/>
1467                                                <xsd:enumeration value="MultiSection"/>
1468                                        </xsd:restriction>
1469                                </xsd:simpleType>
1470                        </xsd:attribute>
1471                </xsd:complexType>
1472        </xsd:element>
1473        <!--"SolidOfRevolution" element  -->
1474        <xsd:element name="SolidOfRevolution" substitutionGroup="Solid">
1475                <xsd:complexType>
1476                        <xsd:sequence>
1477                                <xsd:element ref="Presentation" minOccurs="0"/>
1478                                <xsd:element ref="Extent"/>
1479                                <xsd:element ref="Position"/>
1480                                <xsd:element ref="ProfileCurve"/>
1481                                <xsd:element ref="EdgeCurve" minOccurs="0"/>
1482                                <xsd:element ref="GenericAttributes" minOccurs="0" maxOccurs="unbounded"/>
1483                        </xsd:sequence>
1484                        <xsd:attribute name="SweepAngle" type="xsd:double"/>
1485                </xsd:complexType>
1486        </xsd:element>
1487        <!--"Sphere" element  -->
1488        <xsd:element name="Sphere" substitutionGroup="Solid">
1489                <xsd:complexType>
1490                        <xsd:sequence>
1491                                <xsd:element ref="Presentation" minOccurs="0"/>
1492                                <xsd:element ref="Extent"/>
1493                                <xsd:element ref="Position"/>
1494                                <xsd:element ref="GenericAttributes" minOccurs="0" maxOccurs="unbounded"/>
1495                        </xsd:sequence>
1496                        <xsd:attribute name="Radius" type="xsd:double" use="required"/>
1497                        <xsd:attribute name="Type" default="Sphere">
1498                                <xsd:simpleType>
1499                                        <xsd:restriction base="xsd:NMTOKEN">
1500                                                <xsd:enumeration value="Sphere"/>
1501                                                <xsd:enumeration value="Hemisphere"/>
1502                                        </xsd:restriction>
1503                                </xsd:simpleType>
1504                        </xsd:attribute>
1505                </xsd:complexType>
1506        </xsd:element>
1507        <!--"SURFACE" element  -->
1508        <xsd:element name="Surface" abstract="true"/>
1509        <!--"SurfaceOfExtrusion" element  -->
1510        <xsd:element name="SurfaceOfExtrusion" substitutionGroup="Surface">
1511                <xsd:complexType>
1512                        <xsd:sequence>
1513                                <xsd:element ref="Presentation" minOccurs="0"/>
1514                                <xsd:element ref="Extent"/>
1515                                <xsd:element ref="Position"/>
1516                                <xsd:element ref="ExtrudeCurve"/>
1517                                <xsd:element ref="ProfileCurve"/>
1518                                <xsd:element ref="EdgeCurve" minOccurs="0"/>
1519                                <xsd:element ref="GenericAttributes" minOccurs="0" maxOccurs="unbounded"/>
1520                        </xsd:sequence>
1521                        <xsd:attribute name="Type">
1522                                <xsd:simpleType>
1523                                        <xsd:restriction base="xsd:NMTOKEN">
1524                                                <xsd:enumeration value="Cone"/>
1525                                                <xsd:enumeration value="Cylinder"/>
1526                                                <xsd:enumeration value="Linear"/>
1527                                                <xsd:enumeration value="Pyramid"/>
1528                                                <xsd:enumeration value="Prism"/>
1529                                                <xsd:enumeration value="MultiSection"/>
1530                                        </xsd:restriction>
1531                                </xsd:simpleType>
1532                        </xsd:attribute>
1533                </xsd:complexType>
1534        </xsd:element>
1535        <!--"SurfaceOfRevolution" element  -->
1536        <xsd:element name="SurfaceOfRevolution" substitutionGroup="Surface">
1537                <xsd:complexType>
1538                        <xsd:sequence>
1539                                <xsd:element ref="Presentation" minOccurs="0"/>
1540                                <xsd:element ref="Extent"/>
1541                                <xsd:element ref="Position"/>
1542                                <xsd:element ref="ProfileCurve"/>
1543                                <xsd:element ref="EdgeCurve"/>
1544                                <xsd:element ref="GenericAttributes" minOccurs="0" maxOccurs="unbounded"/>
1545                        </xsd:sequence>
1546                        <xsd:attribute name="SweepAngle" type="xsd:double"/>
1547                </xsd:complexType>
1548        </xsd:element>
1549        <!--"Text" element  -->
1550        <xsd:element name="Text">
1551                <xsd:annotation>
1552                        <xsd:documentation>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
1553                        </xsd:documentation>
1554                </xsd:annotation>
1555                <xsd:complexType>
1556                        <xsd:choice maxOccurs="unbounded">
1557                                <xsd:element ref="Presentation"/>
1558                                <xsd:element ref="Extent"/>
1559                                <xsd:element ref="Position"/>
1560                                <xsd:element name="String" type="String" minOccurs="0"/>
1561                                <xsd:element ref="GenericAttributes" minOccurs="0" maxOccurs="unbounded"/>
1562                        </xsd:choice>
1563                        <xsd:attribute name="NumLines" type="xsd:integer" use="optional"/>
1564                        <xsd:attribute name="String" type="xsd:string" use="optional"/>
1565                        <xsd:attribute name="Font" type="xsd:string" use="required"/>
1566                        <xsd:attribute name="Justification">
1567                                <xsd:simpleType>
1568                                        <xsd:restriction base="xsd:NMTOKEN">
1569                                                <xsd:enumeration value="LeftTop"/>
1570                                                <xsd:enumeration value="LeftCenter"/>
1571                                                <xsd:enumeration value="LeftBottom"/>
1572                                                <xsd:enumeration value="CenterTop"/>
1573                                                <xsd:enumeration value="CenterCenter"/>
1574                                                <xsd:enumeration value="CenterBottom"/>
1575                                                <xsd:enumeration value="RightTop"/>
1576                                                <xsd:enumeration value="RightCenter"/>
1577                                                <xsd:enumeration value="RightBottom"/>
1578                                        </xsd:restriction>
1579                                </xsd:simpleType>
1580                        </xsd:attribute>
1581                        <xsd:attribute name="Width" type="xsd:double" use="required"/>
1582                        <xsd:attribute name="Height" type="xsd:double" use="required"/>
1583                        <xsd:attribute name="TextAngle" type="xsd:double"/>
1584                        <xsd:attribute name="SlantAngle" type="xsd:double"/>
1585                        <xsd:attribute name="ItemID" type="xsd:IDREF"/>
1586                        <xsd:attribute name="Set" type="xsd:string"/>
1587                        <xsd:attribute name="DependantAttribute" type="xsd:string"/>
1588                </xsd:complexType>
1589        </xsd:element>
1590        <!--"Torus" element  -->
1591        <xsd:element name="Torus" substitutionGroup="Solid">
1592                <xsd:complexType>
1593                        <xsd:sequence>
1594                                <xsd:element ref="Presentation" minOccurs="0"/>
1595                                <xsd:element ref="Extent"/>
1596                                <xsd:element ref="Position"/>
1597                                <xsd:element ref="GenericAttributes" minOccurs="0" maxOccurs="unbounded"/>
1598                        </xsd:sequence>
1599                        <xsd:attribute name="MajorRadius" type="xsd:double" use="required"/>
1600                        <xsd:attribute name="MinorRadius" type="xsd:double" use="required"/>
1601                        <xsd:attribute name="SweepAngle" type="xsd:double"/>
1602                </xsd:complexType>
1603        </xsd:element>
1604        <!--Transaction Element details an operation on model-->
1605        <xsd:element name="Transaction">
1606                <xsd:complexType>
1607                        <xsd:sequence>
1608                                <xsd:element name="Remark" minOccurs="0" maxOccurs="unbounded"/>
1609                                <xsd:element ref="GenericAttributes" minOccurs="0" maxOccurs="unbounded"/>
1610                        </xsd:sequence>
1611                        <xsd:attribute name="Type" type="TransactionType"/>
1612                        <xsd:attribute name="Date" type="xsd:date"/>
1613                        <xsd:attribute name="Time" type="xsd:time"/>
1614                        <xsd:attribute name="CompanyName" type="xsd:string"/>
1615                        <xsd:attribute name="Person" type="xsd:string"/>
1616                </xsd:complexType>
1617        </xsd:element>
1618        <!--"TrimmedCurve" element  -->
1619        <xsd:element name="TrimmedCurve" substitutionGroup="Curve">
1620                <xsd:complexType>
1621                        <xsd:complexContent>
1622                                <xsd:extension base="Curve">
1623                                        <xsd:sequence>
1624                                                <xsd:choice>
1625                                                        <xsd:element ref="Circle"/>
1626                                                        <xsd:element ref="Ellipse"/>
1627                                                </xsd:choice>
1628                                                <xsd:element ref="GenericAttributes" minOccurs="0"/>
1629                                        </xsd:sequence>
1630                                        <xsd:attribute name="StartAngle" type="xsd:double" use="required"/>
1631                                        <xsd:attribute name="EndAngle" type="xsd:double" use="required"/>
1632                                </xsd:extension>
1633                        </xsd:complexContent>
1634                </xsd:complexType>
1635        </xsd:element>
1636        <xsd:element name="Vertices">
1637                <xsd:complexType>
1638                        <xsd:sequence>
1639                                <xsd:element ref="Coordinate" maxOccurs="unbounded"/>
1640                        </xsd:sequence>
1641                        <xsd:attribute name="NumVertices" type="xsd:integer" use="required"/>
1642                </xsd:complexType>
1643        </xsd:element>
1644        <!-- List of weights for a Rational Nurb curve or surface - one per control point -->
1645        <xsd:element name="Weights">
1646                <xsd:complexType>
1647                        <xsd:sequence>
1648                                <xsd:element name="ControlPointWeight" maxOccurs="unbounded"/>
1649                        </xsd:sequence>
1650                </xsd:complexType>
1651        </xsd:element>
1652        <!-- Parametric objects  - basic objects then the primitives  -Note that Extents are not relevant  ***************-->
1653        <!--"Parametric Axis" element  - values can be expressions -->
1654        <xsd:element name="PAxis">
1655                <xsd:annotation>
1656                        <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>
1657                </xsd:annotation>
1658                <xsd:complexType>
1659                        <xsd:attribute name="X" type="xsd:string" use="required"/>
1660                        <xsd:attribute name="Y" type="xsd:string" use="required"/>
1661                        <xsd:attribute name="Z" type="xsd:string" use="required"/>
1662                </xsd:complexType>
1663        </xsd:element>
1664        <!--"Parametric Location" element - values can be expressions -->
1665        <xsd:element name="PLocation">
1666                <xsd:complexType>
1667                        <xsd:attribute name="X" type="xsd:string" use="required"/>
1668                        <xsd:attribute name="Y" type="xsd:string" use="required"/>
1669                        <xsd:attribute name="Z" type="xsd:string"/>
1670                </xsd:complexType>
1671        </xsd:element>
1672        <!--"Parameteric Reference" element - values can be expressions  -->
1673        <xsd:element name="PReference">
1674                <xsd:complexType>
1675                        <xsd:attribute name="X" type="xsd:string" use="required"/>
1676                        <xsd:attribute name="Y" type="xsd:string" use="required"/>
1677                        <xsd:attribute name="Z" type="xsd:string" use="required"/>
1678                </xsd:complexType>
1679        </xsd:element>
1680        <!--"Parametric Position" element   - values can be expressions  -->
1681        <xsd:element name="PPosition">
1682                <xsd:complexType>
1683                        <xsd:sequence>
1684                                <xsd:element ref="PLocation"/>
1685                                <xsd:element ref="PAxis"/>
1686                                <xsd:element ref="PReference"/>
1687                        </xsd:sequence>
1688                </xsd:complexType>
1689        </xsd:element>
1690        <!--"Parametric Node" element  -->
1691        <xsd:element name="PNode">
1692                <xsd:annotation>
1693                        <xsd:documentation>A PNode is an connection point for a parametric component and is an Element within a PConnectioPoints Element.</xsd:documentation>
1694                </xsd:annotation>
1695                <xsd:complexType>
1696                        <xsd:choice maxOccurs="unbounded">
1697                                <xsd:element ref="PPosition"/>
1698                                <xsd:element ref="NominalDiameter" minOccurs="0"/>
1699                                <xsd:element ref="EndPreparation" minOccurs="0"/>
1700                                <xsd:element ref="GasketGap" minOccurs="0"/>
1701                                <xsd:element ref="Rating" minOccurs="0"/>
1702                                <xsd:element ref="ScheduleThickness" minOccurs="0"/>
1703                                <xsd:element ref="GenericAttributes" minOccurs="0" maxOccurs="unbounded"/>
1704                        </xsd:choice>
1705                        <xsd:attribute name="Name" type="xsd:string" use="optional"/>
1706                        <xsd:attribute name="Type" use="optional">
1707                                <xsd:simpleType>
1708                                        <xsd:restriction base="xsd:NMTOKEN">
1709                                                <xsd:enumeration value="unspecified"/>
1710                                                <xsd:enumeration value="process"/>
1711                                                <xsd:enumeration value="signal"/>
1712                                        </xsd:restriction>
1713                                </xsd:simpleType>
1714                        </xsd:attribute>
1715                        <xsd:attribute name="Function" use="optional">
1716                                <xsd:simpleType>
1717                                        <xsd:restriction base="xsd:NMTOKEN">
1718                                                <xsd:enumeration value="unspecified"/>
1719                                                <xsd:enumeration value="primary"/>
1720                                                <xsd:enumeration value="secondary"/>
1721                                                <xsd:enumeration value="tap"/>
1722                                        </xsd:restriction>
1723                                </xsd:simpleType>
1724                        </xsd:attribute>
1725                        <xsd:attribute name="Flow" use="optional">
1726                                <xsd:simpleType>
1727                                        <xsd:restriction base="xsd:NMTOKEN">
1728                                                <xsd:enumeration value="unspecified"/>
1729                                                <xsd:enumeration value="in"/>
1730                                                <xsd:enumeration value="out"/>
1731                                                <xsd:enumeration value="both"/>
1732                                        </xsd:restriction>
1733                                </xsd:simpleType>
1734                        </xsd:attribute>
1735                </xsd:complexType>
1736        </xsd:element>
1737        <!--"Parametric ConnectionPoints" element - values can be expressions  -->
1738        <xsd:element name="PConnectionPoints">
1739                <xsd:annotation>
1740                        <xsd:documentation>An ordered set of Nodes for the object containing this ConnectionPoints object. The first Node (0) is coincident with the origing of the containing object. The next two (1and 2) are the main flow and all others are secondary flows. Flowin and Flowout reference the Nodes indexed from 0 ie main flow is 1 and 2</xsd:documentation>
1741                </xsd:annotation>
1742                <xsd:complexType>
1743                        <xsd:sequence>
1744                                <xsd:element ref="Presentation" minOccurs="0"/>
1745                                <xsd:element ref="Extent" minOccurs="0"/>
1746                                <xsd:element ref="PNode" maxOccurs="unbounded"/>
1747                                <xsd:element ref="GenericAttributes" minOccurs="0" maxOccurs="unbounded"/>
1748                        </xsd:sequence>
1749                        <xsd:attribute name="NumPoints" type="xsd:integer" use="required"/>
1750                        <xsd:attribute name="FlowIn">
1751                                <xsd:simpleType>
1752                                        <xsd:restriction base="xsd:integer">
1753                                                <xsd:minInclusive value="1"/>
1754                                        </xsd:restriction>
1755                                </xsd:simpleType>
1756                        </xsd:attribute>
1757                        <xsd:attribute name="FlowOut">
1758                                <xsd:simpleType>
1759                                        <xsd:restriction base="xsd:integer">
1760                                                <xsd:minInclusive value="1"/>
1761                                        </xsd:restriction>
1762                                </xsd:simpleType>
1763                        </xsd:attribute>
1764                </xsd:complexType>
1765        </xsd:element>
1766        <!--"Parameteric Block" element  - values can be expressions -->
1767        <xsd:element name="PBlock" substitutionGroup="Solid">
1768                <xsd:complexType>
1769                        <xsd:sequence>
1770                                <xsd:element ref="Presentation" minOccurs="0"/>
1771                                <xsd:element ref="PPosition"/>
1772                                <xsd:element ref="GenericAttributes" minOccurs="0" maxOccurs="unbounded"/>
1773                        </xsd:sequence>
1774                        <xsd:attribute name="Xlen" type="xsd:string" use="required"/>
1775                        <xsd:attribute name="Ylen" type="xsd:string"/>
1776                        <xsd:attribute name="Zlen" type="xsd:string"/>
1777                </xsd:complexType>
1778        </xsd:element>
1779        <!--"Parametric Cone" element  - values can be expressions -->
1780        <xsd:element name="PCone" substitutionGroup="Solid">
1781                <xsd:complexType>
1782                        <xsd:sequence>
1783                                <xsd:element ref="Presentation" minOccurs="0"/>
1784                                <xsd:element ref="PPosition" maxOccurs="2"/>
1785                                <xsd:element ref="GenericAttributes" minOccurs="0" maxOccurs="unbounded"/>
1786                        </xsd:sequence>
1787                        <xsd:attribute name="Height" type="xsd:string" use="required"/>
1788                        <xsd:attribute name="BaseRadius" type="xsd:string" use="required"/>
1789                        <xsd:attribute name="TopRadius" type="xsd:string" use="required"/>
1790                        <xsd:attribute name="Type" default="RightCone">
1791                                <xsd:simpleType>
1792                                        <xsd:restriction base="xsd:NMTOKEN">
1793                                                <xsd:enumeration value="RightCone"/>
1794                                                <xsd:enumeration value="SkewedCone"/>
1795                                                <xsd:enumeration value="TrimmedCone"/>
1796                                        </xsd:restriction>
1797                                </xsd:simpleType>
1798                        </xsd:attribute>
1799                </xsd:complexType>
1800        </xsd:element>
1801        <!--"Parametric Cylinder" element   - values can be expressions-->
1802        <xsd:element name="PCylinder" substitutionGroup="Solid">
1803                <xsd:complexType>
1804                        <xsd:sequence>
1805                                <xsd:element ref="Presentation" minOccurs="0"/>
1806                                <xsd:element ref="PPosition" maxOccurs="2"/>
1807                                <xsd:element ref="GenericAttributes" minOccurs="0" maxOccurs="unbounded"/>
1808                        </xsd:sequence>
1809                        <xsd:attribute name="Height" type="xsd:string" use="required"/>
1810                        <xsd:attribute name="Radius" type="xsd:string" use="required"/>
1811                        <xsd:attribute name="Type" default="RightCylinder">
1812                                <xsd:simpleType>
1813                                        <xsd:restriction base="xsd:NMTOKEN">
1814                                                <xsd:enumeration value="RightCylinder"/>
1815                                                <xsd:enumeration value="SkewedCylinder"/>
1816                                                <xsd:enumeration value="TrimmedCylinder"/>
1817                                        </xsd:restriction>
1818                                </xsd:simpleType>
1819                        </xsd:attribute>
1820                </xsd:complexType>
1821        </xsd:element>
1822        <!--"Parametric Sphere" element   - values can be expression -->
1823        <xsd:element name="PSphere" substitutionGroup="Solid">
1824                <xsd:complexType>
1825                        <xsd:sequence>
1826                                <xsd:element ref="Presentation" minOccurs="0"/>
1827                                <xsd:element ref="PPosition"/>
1828                                <xsd:element ref="GenericAttributes" minOccurs="0" maxOccurs="unbounded"/>
1829                        </xsd:sequence>
1830                        <xsd:attribute name="Radius" type="xsd:string" use="required"/>
1831                        <xsd:attribute name="Type" default="Sphere">
1832                                <xsd:simpleType>
1833                                        <xsd:restriction base="xsd:NMTOKEN">
1834                                                <xsd:enumeration value="Sphere"/>
1835                                                <xsd:enumeration value="Hemisphere"/>
1836                                        </xsd:restriction>
1837                                </xsd:simpleType>
1838                        </xsd:attribute>
1839                </xsd:complexType>
1840        </xsd:element>
1841        <!--"Parametric Torus" element - values can be expression  -->
1842        <xsd:element name="PTorus" substitutionGroup="Solid">
1843                <xsd:complexType>
1844                        <xsd:sequence>
1845                                <xsd:element ref="Presentation" minOccurs="0"/>
1846                                <xsd:element ref="PPosition"/>
1847                                <xsd:element ref="GenericAttributes" minOccurs="0" maxOccurs="unbounded"/>
1848                        </xsd:sequence>
1849                        <xsd:attribute name="MajorRadius" type="xsd:string" use="required"/>
1850                        <xsd:attribute name="MinorRadius" type="xsd:string" use="required"/>
1851                        <xsd:attribute name="SweepAngle" type="xsd:string"/>
1852                </xsd:complexType>
1853        </xsd:element>
1854        <!-- Plant item classes start here  ************************************************   -->
1855        <!--"Area" element  -->
1856        <xsd:element name="PlantArea">
1857                <xsd:complexType>
1858                        <xsd:complexContent>
1859                                <xsd:extension base="PlantItem">
1860                                        <xsd:choice minOccurs="0" maxOccurs="unbounded">
1861                                                <xsd:element ref="Component" maxOccurs="unbounded"/>
1862                                                <xsd:element ref="CableTray" maxOccurs="unbounded"/>
1863                                                <xsd:element ref="Equipment" maxOccurs="unbounded"/>
1864                                                <xsd:element ref="Framework" maxOccurs="unbounded"/>
1865                                                <xsd:element ref="HVAC" maxOccurs="unbounded"/>
1866                                                <xsd:element ref="InstrumentLoop" maxOccurs="unbounded"/>
1867                                                <xsd:element ref="SignalCable" maxOccurs="unbounded"/>
1868                                                <xsd:element ref="ProcessInstrument" maxOccurs="unbounded"/>
1869                                                <xsd:element ref="InstrumentPanel" maxOccurs="unbounded"/>
1870                                                <xsd:element ref="PipingAssembly" maxOccurs="unbounded"/>
1871                                                <xsd:element ref="PipingNetworkSystem" maxOccurs="unbounded"/>
1872                                                <xsd:element ref="PipingNetworkSegment" maxOccurs="unbounded"/>
1873                                                <xsd:element ref="PipingComponent" maxOccurs="unbounded"/>
1874                                                <xsd:element ref="PipeSupport" maxOccurs="unbounded"/>
1875                                                <xsd:element ref="Structure" maxOccurs="unbounded"/>
1876                                                <!-- temp probably not allowed -->
1877                                        </xsd:choice>
1878                                        <xsd:attribute name="Name" type="xsd:string" use="optional"/>
1879                                </xsd:extension>
1880                        </xsd:complexContent>
1881                </xsd:complexType>
1882        </xsd:element>
1883        <!--"CableTray" element  -->
1884        <xsd:element name="CableTray">
1885                <xsd:complexType>
1886                        <xsd:complexContent>
1887                                <xsd:extension base="PlantItem">
1888                                        <xsd:choice minOccurs="0" maxOccurs="unbounded">
1889                                                <xsd:element ref="CableTraySection" maxOccurs="unbounded"/>
1890                                                <xsd:element ref="CableTrayComponent" maxOccurs="unbounded"/>
1891                                                <xsd:element ref="NominalDiameter" minOccurs="0"/>
1892                                        </xsd:choice>
1893                                </xsd:extension>
1894                        </xsd:complexContent>
1895                </xsd:complexType>
1896        </xsd:element>
1897        <!--"CableTrayBend" element  -->
1898        <xsd:element name="CableTrayBend">
1899                <xsd:complexType>
1900                        <xsd:complexContent>
1901                                <xsd:extension base="CableTrayComponent">
1902                                        <xsd:sequence>
1903                                                <xsd:element ref="Radius"/>
1904                                        </xsd:sequence>
1905                                </xsd:extension>
1906                        </xsd:complexContent>
1907                </xsd:complexType>
1908        </xsd:element>
1909        <!--"CableTrayComponent" element  -->
1910        <xsd:element name="CableTrayComponent" type="CableTrayComponent"/>
1911        <xsd:complexType name="CableTrayComponent">
1912                <xsd:complexContent>
1913                        <xsd:extension base="PlantItem"/>
1914                </xsd:complexContent>
1915        </xsd:complexType>
1916        <!--"CableTraySection" element  -->
1917        <xsd:element name="CableTraySection">
1918                <xsd:complexType>
1919                        <xsd:complexContent>
1920                                <xsd:extension base="PlantItem">
1921                                        <xsd:choice minOccurs="0" maxOccurs="unbounded">
1922                                                <xsd:element ref="CableTrayBend" maxOccurs="unbounded"/>
1923                                                <xsd:element ref="CableTrayStraight" maxOccurs="unbounded"/>
1924                                                <xsd:element ref="CableTrayComponent" maxOccurs="unbounded"/>
1925                                                <xsd:element ref="Connection" minOccurs="0"/>
1926                                                <xsd:element ref="NominalDiameter" minOccurs="0"/>
1927                                                <!-- temp kludge -->
1928                                        </xsd:choice>
1929                                </xsd:extension>
1930                        </xsd:complexContent>
1931                </xsd:complexType>
1932        </xsd:element>
1933        <!--"CableTrayStraight" element  -->
1934        <xsd:element name="CableTrayStraight">
1935                <xsd:complexType>
1936                        <xsd:complexContent>
1937                                <xsd:extension base="PlantItem"/>
1938                        </xsd:complexContent>
1939                </xsd:complexType>
1940        </xsd:element>
1941        <!-- Ceiling element -->
1942        <xsd:complexType name="Ceiling">
1943                <xsd:complexContent>
1944                        <xsd:extension base="PlantItem">
1945                                <xsd:choice minOccurs="0" maxOccurs="unbounded">
1946                                        <xsd:element ref="Fitting"/>
1947                                        <xsd:element ref="Component"/>
1948                                        <xsd:element ref="StructuralSection"/>
1949                                        <xsd:element ref="Plate"/>
1950                                </xsd:choice>
1951                        </xsd:extension>
1952                </xsd:complexContent>
1953        </xsd:complexType>
1954        <xsd:element name="Ceiling" type="Ceiling"/>
1955        <!--component" element  - used as a generic collection of objects for which the purpose is unknown - it is used to retain the structure-->
1956        <xsd:element name="Component">
1957                <xsd:complexType>
1958                        <xsd:complexContent>
1959                                <xsd:extension base="PlantItem">
1960                                        <xsd:choice>
1961                                                <xsd:element ref="Component" minOccurs="0" maxOccurs="unbounded"/>
1962                                        </xsd:choice>
1963                                </xsd:extension>
1964                        </xsd:complexContent>
1965                </xsd:complexType>
1966        </xsd:element>
1967        <!--"cutout" element  -->
1968        <xsd:element name="Cutout">
1969                <xsd:complexType>
1970                        <xsd:complexContent>
1971                                <xsd:extension base="PlantItem">
1972                                        <xsd:sequence>
1973                                                <xsd:element ref="ProfileCurve" maxOccurs="unbounded"/>
1974                                                <xsd:element ref="Thickness"/>
1975                                        </xsd:sequence>
1976                                </xsd:extension>
1977                        </xsd:complexContent>
1978                </xsd:complexType>
1979        </xsd:element>
1980        <!-- Document - a general document - implemented as the generic container PlantItem -->
1981        <xsd:element name="Document">
1982                <xsd:complexType>
1983                        <xsd:complexContent>
1984                                <xsd:extension base="PlantItem">
1985                                        <xsd:choice minOccurs="0" maxOccurs="unbounded">
1986                                                <xsd:element ref="DocumentPart"/>
1987                                                <xsd:element ref="DocumentCell"/>
1988                                        </xsd:choice>
1989                                        <xsd:attribute name="Name" type="xsd:string" use="required"/>
1990                                        <xsd:attribute name="Type">
1991                                                <xsd:simpleType>
1992                                                        <xsd:restriction base="xsd:NMTOKEN">
1993                                                                <xsd:enumeration value="RFQ"/>
1994                                                                <xsd:enumeration value="Order"/>
1995                                                                <xsd:enumeration value="Datasheet"/>
1996                                                                <xsd:enumeration value="EquipmentList"/>
1997                                                                <xsd:enumeration value="General"/>
1998                                                        </xsd:restriction>
1999                                                </xsd:simpleType>
2000                                        </xsd:attribute>
2001                                        <xsd:attribute name="Title" type="xsd:string"/>
2002                                        <xsd:attribute name="Subject" type="xsd:string"/>
2003                                        <xsd:attribute name="Size" type="xsd:string"/>
2004                                        <xsd:attribute ref="Units"/>
2005                                        <xsd:attribute name="Date" type="xsd:date" use="required"/>
2006                                        <xsd:attribute name="Time" type="xsd:time" use="optional"/>
2007                                </xsd:extension>
2008                        </xsd:complexContent>
2009                </xsd:complexType>
2010        </xsd:element>
2011        <!-- DocumentPart - a contained part of a document - implemented as the generic container PlantItem -->
2012        <xsd:element name="DocumentPart">
2013                <xsd:complexType>
2014                        <xsd:complexContent>
2015                                <xsd:extension base="PlantItem">
2016                                        <xsd:choice minOccurs="0" maxOccurs="unbounded">
2017                                                <xsd:element ref="DocumentPart"/>
2018                                                <xsd:element ref="DocumentCell"/>
2019                                        </xsd:choice>
2020                                        <xsd:attribute name="Name" type="xsd:string" use="optional"/>
2021                                        <xsd:attribute name="Title" type="xsd:string"/>
2022                                        <xsd:attribute name="Subject" type="xsd:string"/>
2023                                        <xsd:attribute name="Size" type="xsd:string"/>
2024                                        <xsd:attribute ref="Units"/>
2025                                </xsd:extension>
2026                        </xsd:complexContent>
2027                </xsd:complexType>
2028        </xsd:element>
2029        <!-- DocumentCell - a single unit of a DocumentPart - implemented as the generic container PlantItem. For Type="PlantItem" the contained PlantItem specialisation will be linked by an Association "has dataset" and the reverse Association "is a dataset of".-->
2030        <xsd:element name="DocumentCell">
2031                <xsd:complexType>
2032                        <xsd:complexContent>
2033                                <xsd:extension base="PlantItem">
2034                                        <xsd:choice minOccurs="0" maxOccurs="unbounded">
2035                                                <xsd:element ref="Component"/>
2036                                        </xsd:choice>
2037                                        <xsd:attribute name="Name" type="xsd:string" use="optional"/>
2038                                        <xsd:attribute name="Type">
2039                                                <xsd:simpleType>
2040                                                        <xsd:restriction base="xsd:NMTOKEN">
2041                                                                <xsd:enumeration value="Number"/>
2042                                                                <xsd:enumeration value="String"/>
2043                                                                <xsd:enumeration value="Attribute"/>
2044                                                                <xsd:enumeration value="Formula"/>
2045                                                                <xsd:enumeration value="PlantItem"/>
2046                                                        </xsd:restriction>
2047                                                </xsd:simpleType>
2048                                        </xsd:attribute>
2049                                        <xsd:attribute name="Address" type="xsd:string" use="optional"/>
2050                                        <xsd:attribute name="Value" type="xsd:string" use="optional"/>
2051                                        <xsd:attribute ref="Units"/>
2052                                </xsd:extension>
2053                        </xsd:complexContent>
2054                </xsd:complexType>
2055        </xsd:element>
2056        <!--"equipment" element  -->
2057        <xsd:element name="Equipment">
2058                <xsd:complexType>
2059                        <xsd:complexContent>
2060                                <xsd:extension base="PlantItem">
2061                                        <xsd:choice minOccurs="0" maxOccurs="unbounded">
2062                                                <xsd:element ref="Discipline" minOccurs="0"/>
2063                                                <xsd:element ref="MinimumDesignPressure"/>
2064                                                <xsd:element ref="MaximumDesignPressure"/>
2065                                                <xsd:element ref="MinimumDesignTemperature"/>
2066                                                <xsd:element ref="MaximumDesignTemperature"/>
2067                                                <xsd:element ref="Equipment"/>
2068                                                <xsd:element ref="Nozzle"/>
2069                                                <xsd:element ref="Plate"/>
2070                                                <xsd:element ref="StructuralSection"/>
2071                                                <xsd:element ref="Component"/>
2072                                        </xsd:choice>
2073                                        <xsd:attribute name="ProcessArea" type="xsd:string"/>
2074                                        <xsd:attribute name="Purpose" type="xsd:string"/>
2075                                </xsd:extension>
2076                        </xsd:complexContent>
2077                </xsd:complexType>
2078        </xsd:element>
2079        <!-- Fitting element -->
2080        <xsd:complexType name="Fitting">
2081                <xsd:complexContent>
2082                        <xsd:extension base="PlantItem">
2083                                <xsd:choice minOccurs="0" maxOccurs="unbounded">
2084                                        <xsd:element ref="Component"/>
2085                                        <xsd:element ref="StructuralSection"/>
2086                                        <xsd:element ref="Plate"/>
2087                                </xsd:choice>
2088                        </xsd:extension>
2089                </xsd:complexContent>
2090        </xsd:complexType>
2091        <xsd:element name="Fitting" type="Fitting"/>
2092        <!-- Floor element -->
2093        <xsd:complexType name="Floor">
2094                <xsd:complexContent>
2095                        <xsd:extension base="PlantItem">
2096                                <xsd:choice minOccurs="0" maxOccurs="unbounded">
2097                                        <xsd:element ref="Fitting"/>
2098                                        <xsd:element ref="Component"/>
2099                                        <xsd:element ref="StructuralSection"/>
2100                                        <xsd:element ref="Plate"/>
2101                                </xsd:choice>
2102                        </xsd:extension>
2103                </xsd:complexContent>
2104        </xsd:complexType>
2105        <xsd:element name="Floor" type="Floor"/>
2106        <!--"framework" element  -->
2107        <xsd:element name="Framework">
2108                <xsd:complexType>
2109                        <xsd:complexContent>
2110                                <xsd:extension base="PlantItem">
2111                                        <xsd:choice minOccurs="0" maxOccurs="unbounded">
2112                                                <xsd:element ref="Framework"/>
2113                                                <xsd:element ref="StructuralBeam"/>
2114                                                <xsd:element ref="StructuralBrace"/>
2115                                                <xsd:element ref="StructuralColumn"/>
2116                                                <xsd:element ref="StructuralSection"/>
2117                                                <xsd:element ref="Wall"/>
2118                                                <xsd:element ref="Floor"/>
2119                                                <xsd:element ref="Ceiling"/>
2120                                                <xsd:element ref="Plate"/>
2121                                                <xsd:element ref="Component"/>
2122                                        </xsd:choice>
2123                                </xsd:extension>
2124                        </xsd:complexContent>
2125                </xsd:complexType>
2126        </xsd:element>
2127        <!--"HVAC" element  -->
2128        <xsd:element name="HVAC">
2129                <xsd:complexType>
2130                        <xsd:complexContent>
2131                                <xsd:extension base="PlantItem">
2132                                        <xsd:sequence>
2133                                                <xsd:element ref="HVACSegment" minOccurs="0" maxOccurs="unbounded"/>
2134                                                <xsd:element ref="NominalDiameter" minOccurs="0"/>
2135                                        </xsd:sequence>
2136                                </xsd:extension>
2137                        </xsd:complexContent>
2138                </xsd:complexType>
2139        </xsd:element>
2140        <!--"hvac_bend" element  -->
2141        <xsd:element name="HVACBend">
2142                <xsd:complexType>
2143                        <xsd:complexContent>
2144                                <xsd:extension base="HVACComponent">
2145                                        <xsd:sequence>
2146                                                <xsd:element ref="Radius" minOccurs="0"/>
2147                                        </xsd:sequence>
2148                                </xsd:extension>
2149                        </xsd:complexContent>
2150                </xsd:complexType>
2151        </xsd:element>
2152        <!--"hvac_component" element  -->
2153        <xsd:element name="HVACComponent" type="HVACComponent"/>
2154        <xsd:complexType name="HVACComponent">
2155                <xsd:complexContent>
2156                        <xsd:extension base="PlantItem">
2157                                <xsd:choice>
2158                                        <xsd:element ref="NominalDiameter" minOccurs="0"/>
2159                                </xsd:choice>
2160                        </xsd:extension>
2161                </xsd:complexContent>
2162        </xsd:complexType>
2163        <!--"hvac_duct" element a straight piece of duct -->
2164        <xsd:element name="HVACDuct">
2165                <xsd:complexType>
2166                        <xsd:complexContent>
2167                                <xsd:extension base="HVACComponent"/>
2168                        </xsd:complexContent>
2169                </xsd:complexType>
2170        </xsd:element>
2171        <!--"HVAC_Section" element  -->
2172        <xsd:element name="HVACSegment">
2173                <xsd:complexType>
2174                        <xsd:complexContent>
2175                                <xsd:extension base="PlantItem">
2176                                        <xsd:choice minOccurs="0" maxOccurs="unbounded">
2177                                                <xsd:element ref="HVACBend"/>
2178                                                <xsd:element ref="HVACComponent"/>
2179                                                <xsd:element ref="HVACDuct"/>
2180                                                <xsd:element ref="Connection"/>
2181                                                <xsd:element ref="CenterLine"/>
2182                                                <xsd:element ref="NominalDiameter" minOccurs="0"/>
2183                                        </xsd:choice>
2184                                </xsd:extension>
2185                        </xsd:complexContent>
2186                </xsd:complexType>
2187        </xsd:element>
2188        <!--An InstrumentConnection is a special symbol that locates the connection point for an junction for a small bore segment to connect to an instrument.-->
2189        <xsd:element name="InstrumentConnection">
2190                <xsd:complexType>
2191                        <xsd:complexContent>
2192                                <xsd:extension base="PlantItem"/>
2193                        </xsd:complexContent>
2194                </xsd:complexType>
2195        </xsd:element>
2196        <!--An InstrumentComponent is one that is not part of or connected to the process-->
2197        <xsd:element name="InstrumentComponent">
2198                <xsd:complexType>
2199                        <xsd:complexContent>
2200                                <xsd:extension base="PlantItem">
2201                                        <xsd:choice minOccurs="0" maxOccurs="unbounded">
2202                                                <xsd:element ref="InstrumentComponent" minOccurs="0" maxOccurs="unbounded"/>
2203                                                <xsd:element ref="Component" minOccurs="0" maxOccurs="unbounded"/>
2204                                                <xsd:element ref="NominalDiameter" minOccurs="0"/>
2205                                                <xsd:element ref="InsideDiameter" minOccurs="0"/>
2206                                                <xsd:element ref="OutsideDiameter" minOccurs="0"/>
2207                                                <xsd:element ref="OperatorType" minOccurs="0"/>
2208                                                <xsd:element ref="WallThickness" minOccurs="0"/>
2209                                        </xsd:choice>
2210                                </xsd:extension>
2211                        </xsd:complexContent>
2212                </xsd:complexType>
2213        </xsd:element>
2214        <!--An instrument that is part of or connected to a process line-->
2215        <xsd:element name="ProcessInstrument">
2216                <xsd:complexType>
2217                        <xsd:complexContent>
2218                                <xsd:extension base="PlantItem">
2219                                        <xsd:choice minOccurs="0" maxOccurs="unbounded">
2220                                                <xsd:element ref="ProcessInstrument" minOccurs="0" maxOccurs="unbounded"/>
2221                                                <xsd:element ref="Component" minOccurs="0" maxOccurs="unbounded"/>
2222                                                <xsd:element ref="NominalDiameter" minOccurs="0"/>
2223                                                <xsd:element ref="InsideDiameter" minOccurs="0"/>
2224                                                <xsd:element ref="OutsideDiameter" minOccurs="0"/>
2225                                                <xsd:element ref="OperatorType" minOccurs="0"/>
2226                                                <xsd:element ref="WallThickness" minOccurs="0"/>
2227                                        </xsd:choice>
2228                                </xsd:extension>
2229                        </xsd:complexContent>
2230                </xsd:complexType>
2231        </xsd:element>
2232        <!--An InstrumentLoop is a collection of InstrumentsComponents and ProcessInstruments by Association and can contain a SignalLine-->
2233        <xsd:element name="InstrumentLoop">
2234                <xsd:complexType>
2235                        <xsd:complexContent>
2236                                <xsd:extension base="PlantItem">
2237                                        <xsd:choice minOccurs="0" maxOccurs="unbounded">
2238                                                <xsd:element ref="SignalConnectorSymbol"/>
2239                                                <xsd:element ref="SignalLine"/>
2240                                        </xsd:choice>
2241                                </xsd:extension>
2242                        </xsd:complexContent>
2243                </xsd:complexType>
2244        </xsd:element>
2245        <!-- Instrument Panel element  -->
2246        <xsd:element name="InstrumentPanel" type="JunctionBox"/>
2247        <!--Junction Box element - general can be for Cables or Signal wires-->
2248        <xsd:element name="JunctionBox" type="JunctionBox"/>
2249        <xsd:complexType name="JunctionBox">
2250                <xsd:complexContent>
2251                        <xsd:extension base="PlantItem">
2252                                <xsd:choice minOccurs="0" maxOccurs="unbounded">
2253                                        <xsd:element ref="TerminalStrip"/>
2254                                </xsd:choice>
2255                        </xsd:extension>
2256                </xsd:complexContent>
2257        </xsd:complexType>
2258        <!--"nozzle" element  -->
2259        <xsd:element name="Nozzle">
2260                <xsd:complexType>
2261                        <xsd:complexContent>
2262                                <xsd:extension base="PlantItem">
2263                                        <xsd:choice minOccurs="0" maxOccurs="unbounded">
2264                                                <xsd:element ref="NozzleType"/>
2265                                                <xsd:element ref="NominalDiameter" minOccurs="0"/>
2266                                                <xsd:element ref="Height" minOccurs="0"/>
2267                                                <xsd:element ref="Rating" minOccurs="0"/>
2268                                        </xsd:choice>
2269                                </xsd:extension>
2270                        </xsd:complexContent>
2271                </xsd:complexType>
2272        </xsd:element>
2273        <!--"piping_assembly" - a piping system designed and mounted on a machine or equipment in order to perform a certain auxilary function. Dependent on if the pipework is made of large diameter rigid tubes or small diameter tubing, this is termed respectively "Piping" and "Tubing".-->
2274        <xsd:element name="PipingAssembly">
2275                <xsd:complexType>
2276                        <xsd:complexContent>
2277                                <xsd:extension base="PlantItem"/>
2278                        </xsd:complexContent>
2279                </xsd:complexType>
2280        </xsd:element>
2281        <!--"pipe_bend" an artefact intended to change piping direction with a non-standard Radius, Normally fabricated from pipe by bending.-->
2282        <xsd:element name="PipeBend">
2283                <xsd:complexType>
2284                        <xsd:complexContent>
2285                                <xsd:extension base="PipingComponent">
2286                                        <xsd:choice minOccurs="0" maxOccurs="unbounded">
2287                                                <xsd:element ref="BendAngle" minOccurs="0"/>
2288                                                <xsd:element ref="Radius" minOccurs="0"/>
2289                                        </xsd:choice>
2290                                </xsd:extension>
2291                        </xsd:complexContent>
2292                </xsd:complexType>
2293        </xsd:element>
2294        <!--"pipe_component" element  -->
2295        <xsd:element name="PipingComponent" type="PipingComponent"/>
2296        <xsd:complexType name="PipingComponent">
2297                <xsd:annotation>
2298                        <xsd:documentation>PipingComponet 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.
2299                </xsd:documentation>
2300                </xsd:annotation>
2301                <xsd:complexContent>
2302                        <xsd:extension base="PlantItem">
2303                                <xsd:choice minOccurs="0" maxOccurs="unbounded">
2304                                        <xsd:element ref="PipingComponent"/>
2305                                        <xsd:element ref="Component"/>
2306                                        <xsd:element ref="ConnectionType" minOccurs="0"/>
2307                                        <xsd:element ref="NominalDiameter" minOccurs="0"/>
2308                                        <xsd:element ref="InsideDiameter" minOccurs="0"/>
2309                                        <xsd:element ref="OutsideDiameter" minOccurs="0"/>
2310                                        <xsd:element ref="OperatorType" minOccurs="0"/>
2311                                        <xsd:element ref="WallThickness" minOccurs="0"/>
2312                                        <xsd:element ref="FabricationCategory" minOccurs="0"/>
2313                                        <xsd:element ref="Bolting" minOccurs="0"/>
2314                                </xsd:choice>
2315                                <xsd:attribute name="ConnectionType" type="xsd:string"/>
2316                                <xsd:attribute name="Rating" type="xsd:string"/>
2317                                <xsd:attribute name="Standard" type="xsd:string"/>
2318                                <xsd:attribute name="ISOSymbol" type="xsd:string"/>
2319                        </xsd:extension>
2320                </xsd:complexContent>
2321        </xsd:complexType>
2322        <!--"Piping Network System " which consists of one or more succeeding piping segments. typically identified by a process Units and a Line id"
2323 -->
2324        <xsd:element name="PipingNetworkSystem">
2325                <xsd:complexType>
2326                        <xsd:complexContent>
2327                                <xsd:extension base="PlantItem">
2328                                        <xsd:choice minOccurs="0" maxOccurs="unbounded">
2329                                                <xsd:element ref="NominalDiameter"/>
2330                                                <xsd:element ref="InsideDiameter"/>
2331                                                <xsd:element ref="OutsideDiameter"/>
2332                                                <xsd:element ref="StartDiameter"/>
2333                                                <xsd:element ref="EndDiameter"/>
2334                                                <xsd:element ref="NormalDesignPressure"/>
2335                                                <xsd:element ref="MinimumDesignPressure"/>
2336                                                <xsd:element ref="MaximumDesignPressure"/>
2337                                                <xsd:element ref="NormalDesignTemperature"/>
2338                                                <xsd:element ref="MinimumDesignTemperature"/>
2339                                                <xsd:element ref="MaximumDesignTemperature"/>
2340                                                <xsd:element ref="NormalOperatingPressure"/>
2341                                                <xsd:element ref="MinimumOperatingPressure"/>
2342                                                <xsd:element ref="MaximumOperatingPressure"/>
2343                                                <xsd:element ref="TestPressure"/>
2344                                                <xsd:element ref="NormalOperatingTemperature"/>
2345                                                <xsd:element ref="MinimumOperatingTemperature"/>
2346                                                <xsd:element ref="MaximumOperatingTemperature"/>
2347                                                <xsd:element ref="WallThickness"/>
2348                                                <xsd:element ref="PipingNetworkSegment" minOccurs="0"/>
2349                                                <xsd:element ref="PropertyBreak" minOccurs="0"/>
2350                                        </xsd:choice>
2351                                </xsd:extension>
2352                        </xsd:complexContent>
2353                </xsd:complexType>
2354        </xsd:element>
2355        <!--"PipingSegment 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. renamed in RDL alignment-->
2356        <xsd:element name="PipingNetworkSegment">
2357                <xsd:complexType>
2358                        <xsd:complexContent>
2359                                <xsd:extension base="PlantItem">
2360                                        <xsd:choice minOccurs="0" maxOccurs="unbounded">
2361                                                <xsd:element ref="NominalDiameter"/>
2362                                                <xsd:element ref="InsideDiameter"/>
2363                                                <xsd:element ref="OutsideDiameter"/>
2364                                                <xsd:element ref="StartDiameter"/>
2365                                                <xsd:element ref="EndDiameter"/>
2366                                                <xsd:element ref="NormalDesignPressure"/>
2367                                                <xsd:element ref="MinimumDesignPressure"/>
2368                                                <xsd:element ref="MaximumDesignPressure"/>
2369                                                <xsd:element ref="NormalDesignTemperature"/>
2370                                                <xsd:element ref="MinimumDesignTemperature"/>
2371                                                <xsd:element ref="MaximumDesignTemperature"/>
2372                                                <xsd:element ref="NormalOperatingPressure"/>
2373                                                <xsd:element ref="MinimumOperatingPressure"/>
2374                                                <xsd:element ref="MaximumOperatingPressure"/>
2375                                                <xsd:element ref="TestPressure"/>
2376                                                <xsd:element ref="NormalOperatingTemperature"/>
2377                                                <xsd:element ref="MinimumOperatingTemperature"/>
2378                                                <xsd:element ref="MaximumOperatingTemperature"/>
2379                                                <xsd:element ref="WallThickness"/>
2380                                                <xsd:element ref="Connection" minOccurs="0"/>
2381                                                <xsd:element ref="CenterLine"/>
2382                                                <xsd:element ref="Equipment"/>
2383                                                <xsd:element ref="PipeBend"/>
2384                                                <xsd:element ref="PipingComponent"/>
2385                                                <xsd:element ref="ProcessInstrument"/>
2386                                                <xsd:element ref="InstrumentConnection"/>
2387                                                <xsd:element ref="Component"/>
2388                                                <xsd:element ref="PipeConnectorSymbol"/>
2389                                                <xsd:element ref="InsulationSymbol"/>
2390                                                <xsd:element ref="Pipe"/>
2391                                                <xsd:element ref="PipeFlowArrow"/>
2392                                                <xsd:element ref="Label"/>
2393                                                <xsd:element ref="PipeSupport"/>
2394                                        </xsd:choice>
2395                                        <xsd:attribute name="DualFlow" type="xsd:boolean" use="optional"/>
2396                                </xsd:extension>
2397                        </xsd:complexContent>
2398                </xsd:complexType>
2399        </xsd:element>
2400        <!--"pipe_support" element  -->
2401        <xsd:element name="PipeSupport">
2402                <xsd:complexType>
2403                        <xsd:complexContent>
2404                                <xsd:extension base="PlantItem">
2405                                        <xsd:choice minOccurs="0" maxOccurs="unbounded">
2406                                                <xsd:element ref="Component"/>
2407                                                <xsd:element ref="NominalDiameter" minOccurs="0"/>
2408                                        </xsd:choice>
2409                                </xsd:extension>
2410                        </xsd:complexContent>
2411                </xsd:complexType>
2412        </xsd:element>
2413        <!--" pipe" a circular hollow Section_name, defined by a noMinal size and intended for communicating fluid or pressure. -->
2414        <xsd:element name="Pipe">
2415                <xsd:complexType>
2416                        <xsd:complexContent>
2417                                <xsd:extension base="PlantItem">
2418                                        <xsd:choice minOccurs="0" maxOccurs="unbounded">
2419                                                <xsd:element ref="Component"/>
2420                                                <xsd:element ref="Length"/>
2421                                                <xsd:element ref="NominalDiameter" minOccurs="0"/>
2422                                                <xsd:element ref="InsideDiameter" minOccurs="0"/>
2423                                                <xsd:element ref="OutsideDiameter" minOccurs="0"/>
2424                                                <xsd:element ref="WallThickness" minOccurs="0"/>
2425                                        </xsd:choice>
2426                                </xsd:extension>
2427                        </xsd:complexContent>
2428                </xsd:complexType>
2429        </xsd:element>
2430        <!--"Pipe weld" element  -->
2431        <xsd:element name="PipeWeld">
2432                <xsd:complexType>
2433                        <xsd:complexContent>
2434                                <xsd:extension base="PlantItem"/>
2435                        </xsd:complexContent>
2436                </xsd:complexType>
2437        </xsd:element>
2438        <!--"plate" element  -->
2439        <xsd:element name="Plate">
2440                <xsd:complexType>
2441                        <xsd:complexContent>
2442                                <xsd:extension base="PlantItem">
2443                                        <xsd:choice minOccurs="0" maxOccurs="unbounded">
2444                                                <xsd:element ref="Component" minOccurs="0"/>
2445                                                <xsd:element ref="ProfileCurve" minOccurs="0"/>
2446                                                <xsd:element ref="Thickness"/>
2447                                                <xsd:element ref="Cutout" minOccurs="0" maxOccurs="unbounded"/>
2448                                                <xsd:element ref="Fitting" minOccurs="0" maxOccurs="unbounded"/>
2449                                                <xsd:element ref="Grade"/>
2450                                        </xsd:choice>
2451                                </xsd:extension>
2452                        </xsd:complexContent>
2453                </xsd:complexType>
2454        </xsd:element>
2455        <!--Plant" element  The Top of the Asset tree-->
2456        <xsd:element name="Plant">
2457                <xsd:complexType>
2458                        <xsd:complexContent>
2459                                <xsd:extension base="PlantItem">
2460                                        <xsd:choice minOccurs="0" maxOccurs="unbounded">
2461                                                <xsd:element ref="Site" minOccurs="0" maxOccurs="unbounded"/>
2462                                                <xsd:element ref="PlantArea" minOccurs="0" maxOccurs="unbounded"/>
2463                                        </xsd:choice>
2464                                </xsd:extension>
2465                        </xsd:complexContent>
2466                </xsd:complexType>
2467        </xsd:element>
2468        <!-- ShapeCatalogue - a container for Compoents or Piping Component definitions-->
2469        <xsd:element name="ShapeCatalogue">
2470                <xsd:annotation>
2471                        <xsd:documentation>XMpLant Catalogue for 2D symbols or 3D models</xsd:documentation>
2472                </xsd:annotation>
2473                <xsd:complexType>
2474                        <xsd:choice minOccurs="0" maxOccurs="unbounded">
2475                                <xsd:element ref="Equipment" minOccurs="0" maxOccurs="unbounded"/>
2476                                <xsd:element ref="Nozzle" minOccurs="0" maxOccurs="unbounded"/>
2477                                <xsd:element ref="PipingComponent" minOccurs="0" maxOccurs="unbounded"/>
2478                                <xsd:element ref="ProcessInstrument" minOccurs="0" maxOccurs="unbounded"/>
2479                                <xsd:element ref="InstrumentComponent" minOccurs="0" maxOccurs="unbounded"/>
2480                                <xsd:element ref="Component" minOccurs="0" maxOccurs="unbounded"/>
2481                                <xsd:element ref="PipeConnectorSymbol" minOccurs="0" maxOccurs="unbounded"/>
2482                                <xsd:element ref="SignalConnectorSymbol" minOccurs="0" maxOccurs="unbounded"/>
2483                                <xsd:element ref="InsulationSymbol" minOccurs="0" maxOccurs="unbounded"/>
2484                                <xsd:element ref="PropertyBreak" minOccurs="0" maxOccurs="unbounded"/>
2485                                <xsd:element ref="Label" minOccurs="0" maxOccurs="unbounded"/>
2486                                <xsd:element ref="PipeFlowArrow" minOccurs="0" maxOccurs="unbounded"/>
2487                        </xsd:choice>
2488                        <xsd:attribute name="Name" type="xsd:string" use="required"/>
2489                        <xsd:attribute name="Version" type="xsd:string" use="optional"/>
2490                        <xsd:attribute name="Units" type="xsd:string" use="optional"/>
2491                        <xsd:attribute name="Date" type="xsd:date" use="optional"/>
2492                </xsd:complexType>
2493        </xsd:element>
2494        <!--Signal Cable element  - renamed from InstrumentCable in RDL alignment-->
2495        <xsd:element name="SignalCable">
2496                <xsd:complexType>
2497                        <xsd:complexContent>
2498                                <xsd:extension base="PlantItem">
2499                                        <xsd:choice minOccurs="0" maxOccurs="unbounded">
2500                                                <xsd:element ref="SignalWireSet"/>
2501                                        </xsd:choice>
2502                                </xsd:extension>
2503                        </xsd:complexContent>
2504                </xsd:complexType>
2505        </xsd:element>
2506        <!-- Signal Wire set element  - A collection of wires in a Instrument Cable  - renamed from InstrumentWireSet in RDL alignment-->
2507        <xsd:element name="SignalWireSet">
2508                <xsd:complexType>
2509                        <xsd:complexContent>
2510                                <xsd:extension base="PlantItem">
2511                                        <xsd:choice minOccurs="0" maxOccurs="unbounded">
2512                                                <xsd:element ref="SignalWire" maxOccurs="unbounded"/>
2513                                        </xsd:choice>
2514                                </xsd:extension>
2515                        </xsd:complexContent>
2516                </xsd:complexType>
2517        </xsd:element>
2518        <!-- Signal Wire element  renamed from InstrumentWire in RDL alignment-->
2519        <xsd:element name="SignalWire">
2520                <xsd:complexType>
2521                        <xsd:complexContent>
2522                                <xsd:extension base="PlantItem"/>
2523                        </xsd:complexContent>
2524                </xsd:complexType>
2525        </xsd:element>
2526        <!--A SignalLine is the graphical line between Instruments on a P&ID - it may contain components for complex graphics-->
2527        <xsd:element name="SignalLine">
2528                <xsd:complexType>
2529                        <xsd:complexContent>
2530                                <xsd:extension base="PlantItem">
2531                                        <xsd:choice minOccurs="0" maxOccurs="unbounded">
2532                                                <xsd:element ref="Connection" minOccurs="0"/>
2533                                                <xsd:element ref="CenterLine"/>
2534                                                <xsd:element ref="Component"/>
2535                                        </xsd:choice>
2536                                </xsd:extension>
2537                        </xsd:complexContent>
2538                </xsd:complexType>
2539        </xsd:element>
2540        <!-- Site element -->
2541        <xsd:element name="Site">
2542                <xsd:complexType>
2543                        <xsd:complexContent>
2544                                <xsd:extension base="PlantItem">
2545                                        <xsd:choice minOccurs="0" maxOccurs="unbounded">
2546                                                <xsd:element ref="PlantArea"/>
2547                                                <xsd:element ref="Stream"/>
2548                                                <xsd:element ref="AverageBarometricPressure"/>
2549                                                <xsd:element ref="MinimumAmbientTemperature"/>
2550                                                <xsd:element ref="MaximumAmbientTemperature"/>
2551                                                <xsd:element ref="MinimumRelativeHumidity"/>
2552                                                <xsd:element ref="MaximumRelativeHumidity"/>
2553                                        </xsd:choice>
2554                                        <xsd:attribute name="Name" type="xsd:string" use="optional"/>
2555                                </xsd:extension>
2556                        </xsd:complexContent>
2557                </xsd:complexType>
2558        </xsd:element>
2559        <!--Specification-->
2560        <xsd:element name="Specification">
2561                <xsd:complexType>
2562                        <xsd:choice minOccurs="0" maxOccurs="unbounded">
2563                                <xsd:element ref="SpecificationEntry" minOccurs="0" maxOccurs="unbounded"/>
2564                                <xsd:element ref="PipingComponent" minOccurs="0" maxOccurs="unbounded"/>
2565                                <xsd:element ref="Component" minOccurs="0" maxOccurs="unbounded"/>
2566                                <xsd:element ref="Description" minOccurs="0"/>
2567                                <xsd:element ref="Standard" minOccurs="0"/>
2568                                <xsd:element ref="Family" minOccurs="0"/>
2569                                <xsd:element ref="Rating" minOccurs="0"/>
2570                                <xsd:element ref="FluidType" minOccurs="0"/>
2571                                <xsd:element ref="Material" minOccurs="0"/>
2572                                <xsd:element ref="MaterialDescription" minOccurs="0"/>
2573                                <xsd:element ref="FabricationCategory" minOccurs="0"/>
2574                                <xsd:element ref="Weight" minOccurs="0"/>
2575                                <xsd:element ref="SurfaceTreatment" minOccurs="0"/>
2576                                <xsd:element ref="Lining" minOccurs="0"/>
2577                                <xsd:element ref="Insulation" minOccurs="0"/>
2578                                <xsd:element ref="Tracing" minOccurs="0"/>
2579                                <xsd:element ref="NormalOperatingTemperature" minOccurs="0"/>
2580                                <xsd:element ref="MinimumOperatingTemperature" minOccurs="0"/>
2581                                <xsd:element ref="MaximumOperatingTemperature" minOccurs="0"/>
2582                                <xsd:element ref="NormalOperatingPressure" minOccurs="0"/>
2583                                <xsd:element ref="MinimumOperatingPressure" minOccurs="0"/>
2584                                <xsd:element ref="MaximumOperatingPressure" minOccurs="0"/>
2585                        </xsd:choice>
2586                        <xsd:attribute name="Name" type="xsd:string" use="required"/>
2587                        <xsd:attribute name="Units" type="xsd:string" use="optional"/>
2588                        <xsd:attribute name="Version" type="xsd:string" use="optional"/>
2589                        <xsd:attribute name="Date" type="xsd:date" use="optional"/>
2590                </xsd:complexType>
2591        </xsd:element>
2592        <!--"SpecificationEntry" element  - there will be one Element for each NominalDiameter for each ComponentClass-->
2593        <xsd:element name="SpecificationEntry">
2594                <xsd:annotation>
2595                        <xsd:documentation>Large and Small Diameter applies to Reducers. BranchDiameters refers to Tees Wyes and Crosses - there can be more than one BranchDiameter- order is by Node number.</xsd:documentation>
2596                </xsd:annotation>
2597                <xsd:complexType>
2598                        <xsd:choice minOccurs="0" maxOccurs="unbounded">
2599                                <xsd:element ref="NominalDiameter"/>
2600                                <xsd:element ref="LargeDiameter"/>
2601                                <xsd:element ref="SmallDiameter"/>
2602                                <xsd:element ref="BranchDiameter" maxOccurs="unbounded"/>
2603                                <xsd:element ref="Rating" minOccurs="0"/>
2604                                <xsd:element ref="FluidType" minOccurs="0"/>
2605                                <xsd:element ref="Material" minOccurs="0"/>
2606                                <xsd:element ref="MaterialDescription" minOccurs="0"/>
2607                                <xsd:element ref="FabricationCategory" minOccurs="0"/>
2608                                <xsd:element ref="Weight" minOccurs="0"/>
2609                                <xsd:element ref="SurfaceTreatment" minOccurs="0"/>
2610                                <xsd:element ref="Lining" minOccurs="0"/>
2611                                <xsd:element ref="Insulation" minOccurs="0"/>
2612                                <xsd:element ref="Radius"/>
2613                                <xsd:element ref="SweepAngle"/>
2614                                <xsd:element ref="Description"/>
2615                                <xsd:element ref="Parameters" minOccurs="0"/>
2616                        </xsd:choice>
2617                        <xsd:attribute name="ComponentClass" type="xsd:string" use="required"/>
2618                        <xsd:attribute name="ComponentType">
2619                                <xsd:simpleType>
2620                                        <xsd:restriction base="xsd:NMTOKEN">
2621                                                <xsd:enumeration value="Normal"/>
2622                                                <xsd:enumeration value="Explicit"/>
2623                                                <xsd:enumeration value="Parametric"/>
2624                                        </xsd:restriction>
2625                                </xsd:simpleType>
2626                        </xsd:attribute>
2627                        <xsd:attribute name="StockNumber" type="xsd:string" use="required"/>
2628                        <xsd:attribute name="ComponentName" type="xsd:string" use="required"/>
2629                        <xsd:attribute name="ISOSymbol" type="xsd:string" use="optional"/>
2630                </xsd:complexType>
2631        </xsd:element>
2632        <!--Element for a Stream -->
2633        <xsd:element name="Stream">
2634                <xsd:complexType>
2635                        <xsd:complexContent>
2636                                <xsd:extension base="PlantItem">
2637                                        <xsd:attribute name="Name" type="xsd:string" use="optional"/>
2638                                </xsd:extension>
2639                        </xsd:complexContent>
2640                </xsd:complexType>
2641        </xsd:element>
2642        <!--"structure" element  -->
2643        <xsd:element name="Structure">
2644                <xsd:complexType>
2645                        <xsd:complexContent>
2646                                <xsd:extension base="PlantItem">
2647                                        <xsd:choice minOccurs="0" maxOccurs="unbounded">
2648                                                <xsd:element ref="Structure"/>
2649                                                <xsd:element ref="Framework"/>
2650                                                <xsd:element ref="Plate"/>
2651                                        </xsd:choice>
2652                                </xsd:extension>
2653                        </xsd:complexContent>
2654                </xsd:complexType>
2655        </xsd:element>
2656        <!--"Section" element  -->
2657        <xsd:complexType name="StructuralSection">
2658                <xsd:complexContent>
2659                        <xsd:extension base="PlantItem">
2660                                <xsd:choice minOccurs="0" maxOccurs="unbounded">
2661                                        <xsd:element name="ProfileCurve" type="Curve" minOccurs="0" maxOccurs="unbounded"/>
2662                                        <xsd:element name="StartProfileCurve" type="Curve" minOccurs="0" maxOccurs="unbounded"/>
2663                                        <xsd:element name="EndProfileCurve" type="Curve" minOccurs="0" maxOccurs="unbounded"/>
2664                                        <xsd:element name="ObstructionProfileCurve" type="Curve" minOccurs="0" maxOccurs="unbounded"/>
2665                                        <xsd:element name="FireproofProfileCurve" type="Curve" minOccurs="0" maxOccurs="unbounded"/>
2666                                        <xsd:element ref="PlacementCurve"/>
2667                                        <xsd:element ref="RotationAboutPlacement"/>
2668                                        <xsd:element ref="OrientationVector"/>
2669                                        <xsd:element ref="ProfileSectionWidth"/>
2670                                        <xsd:element ref="ProfileSectionHeight"/>
2671                                        <xsd:element ref="FlangeThickness"/>
2672                                        <xsd:element ref="WebThickness"/>
2673                                        <xsd:element ref="RootRadius"/>
2674                                        <xsd:element ref="DepthBetweenFillets"/>
2675                                        <xsd:element ref="ProfileInternalCornerRadius"/>
2676                                        <xsd:element ref="ProfileExternalCornerRadius"/>
2677                                        <xsd:element ref="ProfileFlangeSlope"/>
2678                                        <xsd:element ref="Radius"/>
2679                                        <xsd:element ref="Thickness"/>
2680                                        <xsd:element ref="Grade"/>
2681                                        <xsd:element ref="Cutout" minOccurs="0" maxOccurs="unbounded"/>
2682                                        <xsd:element ref="Component"/>
2683                                        <xsd:element ref="Fitting" minOccurs="0" maxOccurs="unbounded"/>
2684                                        <xsd:element ref="Length"/>
2685                                </xsd:choice>
2686                                <xsd:attribute name="SectionName" type="xsd:string" use="optional"/>
2687                                <xsd:attribute name="SectionProfileType" type="xsd:string" use="optional"/>
2688                                <xsd:attribute name="Standard" type="xsd:string" use="optional"/>
2689                                <xsd:attribute name="CardinalPoint" type="xsd:string" use="optional"/>
2690                        </xsd:extension>
2691                        <!--CardinalPoint is the position on the profile that the PlacementCurve is located - also called CardinalPoint-->
2692                </xsd:complexContent>
2693                <!--There will be one Profile Curve for each change of section profile. The section shape will be interpolalated between each pair of section profiles. The Scetion profile coordinates are wrt the neutral axis of the section and the Z value will be 0. The Position Element will locate each profile and will also define the orientation of the Profile -allowing for twisted sections. Unless it is a standard section the there must be at least one ProfileCurve even if Start and EndProfiles are specified. The optional StartProfileCurve and EndProfileCurve allow the definition of trimmed ends-->
2694        </xsd:complexType>
2695        <xsd:element name="StructuralSection" type="StructuralSection"/>
2696        <!--"Beam" element  -->
2697        <xsd:element name="StructuralBeam" type="StructuralSection"/>
2698        <!--"Brace" element  -->
2699        <xsd:element name="StructuralBrace" type="StructuralSection"/>
2700        <!--"Column" element  -->
2701        <xsd:element name="StructuralColumn" type="StructuralSection"/>
2702        <!--Terminal element  - renamed from InstrumentTerminal in RDL alignment-->
2703        <xsd:element name="Terminal">
2704                <xsd:complexType>
2705                        <xsd:complexContent>
2706                                <xsd:extension base="PlantItem"/>
2707                        </xsd:complexContent>
2708                </xsd:complexType>
2709        </xsd:element>
2710        <!-- Terminal strip element  - renamed from InstrumentTerminalStrip in RDL alignment-->
2711        <xsd:element name="TerminalStrip">
2712                <xsd:complexType>
2713                        <xsd:complexContent>
2714                                <xsd:extension base="PlantItem">
2715                                        <xsd:choice minOccurs="0" maxOccurs="unbounded">
2716                                                <xsd:element ref="Terminal" maxOccurs="unbounded"/>
2717                                        </xsd:choice>
2718                                </xsd:extension>
2719                        </xsd:complexContent>
2720                </xsd:complexType>
2721        </xsd:element>
2722        <!-- Wall element -->
2723        <xsd:complexType name="Wall">
2724                <xsd:complexContent>
2725                        <xsd:extension base="PlantItem">
2726                                <xsd:choice minOccurs="0" maxOccurs="unbounded">
2727                                        <xsd:element ref="Fitting"/>
2728                                        <xsd:element ref="Component"/>
2729                                        <xsd:element ref="StructuralSection"/>
2730                                        <xsd:element ref="Plate"/>
2731                                </xsd:choice>
2732                        </xsd:extension>
2733                </xsd:complexContent>
2734        </xsd:complexType>
2735        <xsd:element name="Wall" type="Wall"/>
2736        <!-- "Catchall Unclassified element -->
2737        <xsd:element name="Unclassified">
2738                <xsd:complexType>
2739                        <xsd:complexContent>
2740                                <xsd:extension base="PlantItem">
2741                                        <xsd:choice minOccurs="0" maxOccurs="unbounded">
2742                                                <xsd:element ref="Component"/>
2743                                        </xsd:choice>
2744                                </xsd:extension>
2745                        </xsd:complexContent>
2746                </xsd:complexType>
2747        </xsd:element>
2748        <!--****************************     AnnotationItems start here-->
2749        <!--"pipe_connector" element - On / Off page connector for P&ID-->
2750        <xsd:element name="PipeConnectorSymbol">
2751                <xsd:complexType>
2752                        <xsd:complexContent>
2753                                <xsd:extension base="AnnotationItem">
2754                                        <xsd:choice>
2755                                                <xsd:element ref="CrossPageConnection" minOccurs="0"/>
2756                                        </xsd:choice>
2757                                </xsd:extension>
2758                        </xsd:complexContent>
2759                </xsd:complexType>
2760        </xsd:element>
2761        <!--"pipe_flow_arrow" element  -->
2762        <xsd:element name="PipeFlowArrow">
2763                <xsd:complexType>
2764                        <xsd:complexContent>
2765                                <xsd:extension base="AnnotationItem"/>
2766                        </xsd:complexContent>
2767                </xsd:complexType>
2768        </xsd:element>
2769        <!--"spec_break" element  - change to PropertyBreak-->
2770        <xsd:element name="PropertyBreak">
2771                <xsd:complexType>
2772                        <xsd:complexContent>
2773                                <xsd:extension base="AnnotationItem"/>
2774                        </xsd:complexContent>
2775                </xsd:complexType>
2776        </xsd:element>
2777        <!--Signal connector Symbol element  renamed from InstrumentConnector in RDL alignment  - On / Off page connector for P&ID-->
2778        <xsd:element name="SignalConnectorSymbol">
2779                <xsd:complexType>
2780                        <xsd:complexContent>
2781                                <xsd:extension base="AnnotationItem">
2782                                        <xsd:choice>
2783                                                <xsd:element ref="CrossPageConnection" minOccurs="0"/>
2784                                        </xsd:choice>
2785                                </xsd:extension>
2786                        </xsd:complexContent>
2787                </xsd:complexType>
2788        </xsd:element>
2789        <!--InsulationSymbol is a special symbol to denote insulation which can be associated with a given PipingNetworkSegment-->
2790        <xsd:element name="InsulationSymbol">
2791                <xsd:complexType>
2792                        <xsd:complexContent>
2793                                <xsd:extension base="AnnotationItem"/>
2794                        </xsd:complexContent>
2795                </xsd:complexType>
2796        </xsd:element>
2797        <!--ScopeBubble - a cloud drawn to surround a number of items on a P&ID to group plant items for a particualr purpose-->
2798        <xsd:element name="ScopeBubble">
2799                <xsd:complexType>
2800                        <xsd:complexContent>
2801                                <xsd:extension base="AnnotationItem"/>
2802                        </xsd:complexContent>
2803                </xsd:complexType>
2804        </xsd:element>
2805        <!--Label an Annotation items for text identifiers that can be referenced-->
2806        <xsd:element name="Label">
2807                <xsd:complexType>
2808                        <xsd:complexContent>
2809                                <xsd:extension base="AnnotationItem"/>
2810                        </xsd:complexContent>
2811                </xsd:complexType>
2812        </xsd:element>
2813</xsd:schema>
Home
About PCA
Reference Data Services
Projects
Workgroups