semi合集-English.pdf - 第2990页
SEMI E120.1-0705 © SEMI 2004, 2005 4 XML Name/Type — Provides the name and data type of the resultin g XML construct. The type may be a built- in type (for example, xs:string), or a nam ed type defi ned wi thin the XML…

SEMI E120.1-0705 © SEMI 2004, 2005 3
XML Path Language (Xpath)
7
— W3C, 16 November 1999
NOTICE: Unless otherwise indicated, all documents cited shall be the latest published versions.
4 Terminology
4.1 Abbreviations and Acronyms
4.1.1 UML — Unified Modeling Language
4.1.2 W3C — World Wide Web Consortium
4.1.3 XML — eXtensible Markup Language
4.2 Definitions and Acronyms
4.2.1 UML (Unified Modeling Language) — a notation for representing object-oriented designs and views created
by Booch, Rumbaugh, and Jacobson in order to merge their three popular notations plus aspects of other existing
notations into a single object-oriented notation intended to be usable by all.
4.2.2 XML (eXtensible Markup Language) — a markup language used for representing data rich with context and
content in documents and in communications. XML is an extension of SGML, a document-oriented markup
language. It was created by W3C for use on the Internet. XML can represent object-oriented structures.
5 Conventions
5.1 This section discusses the conventions used in this specification for translating UML to XML and for
documenting the XML. These conventions are heavily influenced by the SEMI E121.
5.2 The reader is expected to have a working knowledge of the UML, XML, and Schema specifications (See ¶3.2
and ¶3.3). This document does not provide tutorial information on these subjects.
5.3 Translating UML to XML
5.4 This document follows the guidelines for XML as outlined in SEMI E121.
5.5 Some of the key guidelines followed in this specification are summarized here:
Attributes of a class are generally represented as elements such that they can be easily extended by other
applications.
Inheritance is modeled as element extension.
Compositions always turn into contained elements (or arrays if multiples are allowed).
Associations and Aggregations are modeled as contained elements or arrays wherever possible to simplify the
instance model.
5.6 The translation of a UML class to XML is documented using a table format illustrated Table 1. Note that SEMI
E120 does not define services, so only attribute and association representations are addressed here. Any superclass
information is addressed in the text and the diagrams.
5.7 Translation Table Column Header Description
Attribute or Role Name — If an attribute, the name of the attribute is placed here. If an association (including
aggregation or composition), the role name from the UML diagram is placed here. Compositions are often not
assigned roll names. In that case “none” is placed here.
UML Name/Type — If an attribute, the data type of the UML attribute is place here. If an association, the type
of association is placed here. The possible types are “Composition”, “Aggregation”, or the basic “Association”.
UML defines these three types of association.
XML Element or Attribute — Lists the type of XML construct used to represent the UML attribute or
association.
7 World Wide Web Consortium (W3C), http://www/w3/org/TR/xpath/

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.