semi合集-English.pdf - 第2991页

SEMI E120.1-0705 © SEMI 2004, 2005 5 Figure 1 XML Example Diagram 5.8.6 The yellow ( or gray if pri n ted in m onochrome) boxes indi cate the use of other define d types. So, Child4 is of type “Child4T ype”. Child4T ype …

100%1 / 7923
SEMI E120.1-0705 © SEMI 2004, 2005 4
XML Name/Type — Provides the name and data type of the resulting XML construct. The type may be a built-
in type (for example, xs:string), or a named type defined within the XML schema.
Table 1 Example Translation Table
Attribute or Role Name UML Name/Type XML Element or Attribute XML Name/Type
friend association element Friend: HumanReferenceArray
employees aggregation element Employees: HumanArray
family composition element Family: HumanArray
name string element Name: xs:string
5.8 Documenting The XML With Diagrams
5.8.1 This document provides graphical representations of the included XML. Although no standard graphical
notation for XML could be found, various XML tools have their own notation. This document will use the notation
provided by XMLSPY® from Altova Corporation
8
. There is no requirement for use of XMLSPY® in order to
comply with this specification. Figure 1 shows a sample XML diagram that will be used to provide a basis for
explanation of the XML graphical notation used in the rest of the document.
5.8.2 In the diagram, rectangular boxes represent XML elements. Ownership or containment is read from right to
left in the diagrams. In the sample diagram, ParentType contains Child1, Child2, Child3, and Child4. In turn,
Child2 contains Child2a, Child2b, and Child2c. The additional symbols (8-sided boxes) represent sequences or
choices. See Table 2 for an explanation of these symbols.
5.8.3 Please note that “element”, “sequence”, “all”, and “choice” are XML terms (see the W3C standards
referenced in ¶3.3). The reader is expected to be familiar with XML.
Table 2 Altova XMLSPY Schema Diagram Symbols
Denotes a required ordered sequence of the right hand elements with a cardinality of one for each element.
(sequence)
Denotes an optional ordered sequence of the right hand elements with a cardinality of one for each element.
(sequence)
Denotes a required, but unordered, sequence of the right hand elements with a cardinality of one for each
element. (all)
Denotes a required choice of the right hand elements. Exactly one or two of the right hand elements must be
present. (choice)
Name
Denotes an element.
NameName
Denotes an element that contains parsed character data.
5.8.4 A graphic using a solid line is a required element; using a dashed line represents an optional element.
Numbers or ranges in the lower right hand corner represent cardinality. The default cardinality is one.
5.8.5 To simplify a diagram or help focus on a particular aspect, detail may be hidden. The 8-sided symbols have a
small square on the right end. If a minus sign “-“ is in the box, then all detail is shown. If the box contains a plus
sign “+”, then all detail to the right of that symbol is hidden. The example has no hidden detail.
8 All images/graphics were created using Altova’s XMLSPY®. Copyright 2003 Altova GmbH and reprinted with permission of Altova.
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.