semi合集-English.pdf - 第3630页

SEMI E139.1-0705 © SEMI 2005 6 <?xml version="1.0" encoding="UTF-8"?> < xs:schema xmlns:xs =" http://www.w3.or g/2001/XMLSchema " elementFormDefault =" qualif ied " attrib…

100%1 / 7923
SEMI E139.1-0705 © SEMI 2005 5
Figure 1
XML Example Diagram
6.5.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.
6.5.6.1 Reading Figure 1 would yield the following additional information:
Child1and2Type is an ordered sequence of two items: Child2 and Child1.
Child1 contains an optional ordered sequence of Child1a, one or more Child1b, and (optionally) Child1c.
Child2 contains a choice of one or two of the following: Child2a, Child2b, and Child2c.
Child3 contains an unordered sequence of Child3a and Child3b.
6.5.7 XML Schema Sample
6.5.7.1 The sample XML for the example shown in Figure 1, is presented below. Refer to the XML documentation
referenced in ¶4.3 for a complete description of the syntax and semantics of XML schemas.
SEMI E139.1-0705 © SEMI 2005 6
<?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
7 PDE Schema Definition
7.1 PDE Class Mapping to XML
7.1.1 This section describes how the PDE classes from SEMI E139 are mapped to XML. The descriptions in this
section are provided to support and explain the XML schema document for the PDE (attached, see ¶7.2.2). This
section contains no requirements. Specific requirements are included in ¶7.2.
7.1.2 Abstract Classes
7.1.2.1 No classes in the PDE model for RaP are abstract.
SEMI E139.1-0705 © SEMI 2005 7
7.1.3 Concrete Classes
7.1.3.1 This section contains the XML mappings for the concrete classes defined for the PDE in SEMI E139. These
are the classes that can be represented in an XML instance document based on the attached XML schema for the
PDE.
7.1.4 PDE
7.1.4.1 The PDE class is mapped to the XML complexType also named PDE. Table 3 shows how the associations
and attributes of the PDE class are mapped into XML. Figure 3 illustrates the resulting XML structure.
7.1.4.2 See ¶7.2.1 for instructions on the calculation of the value of the checksum element.
Table 3 Translation Table For PDE Class
Attribute or Role Name UML Type
XML Element or Attribute
(or Reference)
XML Name/Type
checksum Checksum element checksum (simpleType Checksum)
PDEheader aggregation element PDEheader (complexType)
(xor) constraint
choice (of PDEbody or
PDEbodyReference)
none
PDEbody aggregation element PDEbody (complexType)
PDEbodyReference aggregation element PDEbodyReference (complexType)
Figure 3
PDE
7.1.4.3 PDEheader
7.1.4.3.1 The PDEheader class is mapped to the XML complexType also named PDEheader. Table 4 shows how
the associations and attributes of the PDEheader class are mapped into XML. Figure 4 illustrates the resulting XML
structure.
Table 4 Translation Table For PDEheader Class
Attribute or Role
Name
UML Type
XML Element or Attribute
(or Reference)
XML Name/Type
uid UUID element uid (simpleType UUID)
name String element name (simpleType xs:string)
gid UUID element gid (simpleType UUID)
groupName String element groupName (simpleType xs:string)
description String element description (simpleType xs:string)
type String element [0..1] type (simpleType xs:string)
executable Boolean element executable (simpleType xs:boolean)
maxAntecedents Integer element maxAntecedents (simpleType xs:int)
createDate Time element createDate (simpleType xs:dateTime)
createNode String element createNode (simpleType xs:string)
author String element author (simpleType xs:string)