semi合集-English.pdf - 第2992页

SEMI E120.1-0705 © SEMI 2004, 2005 6 5.8.8 XML Sample 5.8.8.1 The sample XML for the exam ple shown in Figure 1, is presente d below. Re fer to the XML doc umentation referenced in ¶3.3for a complete descript ion of the …

100%1 / 7923
SEMI E120.1-0705 © SEMI 2004, 2005 5
Figure 1
XML Example Diagram
5.8.6 The yellow (or gray if printed in monochrome) boxes indicate the use of other defined types. So, Child4 is of
type “Child4Type”. Child4Type defines Child4a and Child4b. This detail may be hidden in the diagram. Object
oriented inheritance is typically represented in XML as type extension. In Figure 1, ParentType extends
Child1and2Type by adding a sequence that includes Child3 and Child4.
5.8.7 Reading Figure 1 would yield the following additional information:
1. Child1and2Type is an ordered sequence of two items: Child2 and Child1.
2. Child1 contains an optional ordered sequence of Child1a, one or more Child1b, and (optionally) Child1c.
3. Child2 contains a choice of one or two of the following: Child2a, Child2b, and Child2c.
4. Child3 contains an unordered sequence of Child3a and Child3b.
SEMI E120.1-0705 © SEMI 2004, 2005 6
5.8.8 XML Sample
5.8.8.1 The sample XML for the example shown in Figure 1, is presented below. Refer to the XML documentation
referenced in ¶3.3for a complete description of the syntax and semantics of XML.
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
elementFormDefault="qualified" attributeFormDefault="unqualified">
<xs:complexType name="ParentType" abstract="true">
<xs:complexContent>
<xs:extension base="Child1and2Type">
<xs:sequence>
<xs:element name="Child3">
<xs:complexType>
<xs:all>
<xs:element name="Child3a"/>
<xs:element name="Child3b"/>
</xs:all>
</xs:complexType>
</xs:element>
<xs:element name="Child4" type="Child4Type" nillable="false"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="Child4Type" abstract="true">
<xs:sequence>
<xs:element name="Child4a" type="xs:integer" nillable="false"/>
<xs:element name="Child4b" type="xs:string" nillable="false"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="Child1and2Type" abstract="true">
<xs:sequence>
<xs:element name="Child2">
<xs:complexType>
<xs:choice maxOccurs="2">
<xs:element name="Child2a"/>
<xs:element name="Child2b"/>
<xs:element name="Child2c"/>
</xs:choice>
</xs:complexType>
</xs:element>
<xs:element name="Child1">
<xs:complexType>
<xs:sequence minOccurs="0">
<xs:element name="Child1a"/>
<xs:element name="Child1b" maxOccurs="unbounded"/>
<xs:element name="Child1c" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:element name="Parent" type="ParentType" final="#all"/>
</xs:schema>
Figure 2
XML for Sample
6 CEM Class Mapping to XML
6.1 This section describes how the CEM classes from SEMI E120 were mapped to XML. The descriptions in this
section are provided to support and explain the XML schema document.
SEMI E120.1-0705 © SEMI 2004, 2005 7
6.2 Abstract Classes
6.2.1 The classes from the CEM that were designated “abstract” are included in this section. Abstract classes are
not directly implemented. They exist in the model (and in the schema) to provide a basis for the concrete objects.
So, they will not have corresponding instances in an XML instance file based on this schema.
6.2.2 Nameable => NameableType
6.2.2.1 The Nameable class is mapped to the XML NameableType. The XML definition of the class Nameable
uses simple types UuidType and NameType (see ¶6.4.2 for definition).
6.2.2.2 The association of Nameable with the class Extension is modeled here as an array (Extensions) contained
inside of Nameable. See ¶6.2.5 for more about Extension.
Table 3 Translation Table For Nameable
Attribute or Role Name UML Type
XML Element or Attribute
(or Reference)
XML Name/Type
uid string element Uid: UuidType
name string element Name: NameType
description string element Description: xs:string
extensions association element Extensions: ExtensionArrayType
Figure 3
NameableType
6.2.3 EquipmentElement => EquipmentElementType
6.2.3.1 The EquipmentElement class is mapped to the XML EquipmentElementType. EquipmentElement
translates in a straightforward way with all UML attributes mapping to elements. EquipmentElementType extends
NameableType.
Table 4 Translation Table For EquipmentElement
Attribute or Role
Name
UML Type
XML Element or Attribute
(or Reference)
XML Name/Type
elementType string element ElementType: xs:string
supplier string element Supplier: xs:string
make string element Make: xs:string
model string element Model: xs:string
modelRevision string element ModelRevision: xs:string
function string element Function: xs:string
immutableId string element ImmutableId: xs:string