semi合集-English.pdf - 第3152页

SEMI E125.1-0305 © SEMI 2005 6  Aggregations a re mapped to containe d elements or arrays o f references to one or m ore unique attributes of t h e target type.  Inheritanc e is modele d using com plexType exte nsion. …

100%1 / 7923
SEMI E125.1-0305 © SEMI 2005 5
Namespaces in XML W3C, 14 January 1999 (http://www.w3.org/TR/1999/REC-xml-names-19990114/)
XML Schema Part 0: PrimerW3C, 2 May 2001 (http://www.w3.org/TR/xmlschema-0/)
XML Schema Part 1: Structures — W3C, 2 May 2001 (http://www.w3.org/TR/xmlschema-1/)
XML Schema Part 2: Datatypes — W3C, 2 May 2001 (http://www.w3.org/TR/xmlschema-2/)
XML Path Language (Xpath) — W3C, 16 November 1999 (http://www.w3.org/TR/xpath/)
Web Services Description Language (WSDL) 1.1 — W3C Note, (http://www.w3.org/TR/wsdl)
Simple Object Access Protocol (SOAP) 1.1 — W3C Note, (http://www.w3.org/TR/2000/NOTE-SOAP-20000508/)
4.4 Other Standards
Secure Sockets Layer (SSL) Protocol 3.0 (available from http://wp.netscape.com/eng/ssl3/draft302.txt)
Web Services Interoperability (WS-I): Basic Profile Version 1.0a (available from http://www.ws-
i.org/Profiles/Basic/2003-08/BasicProfile-1.0a.html)
SEMI Specification for XML Semiconductor Common Components
SEMI Specification for the Representation of Measurement Units in XML
NOTICE: Unless otherwise indicated, all documents cited shall be the latest published versions.
5 Terminology
5.1 Abbreviations and Acronyms
5.1.1 SOAP — Simple Object Access Protocol
5.1.2 UML — Unified Modeling Language
5.1.3 W3C — World Wide Web Consortium
5.1.4 WSDL — Web Service Description Language
5.1.5 XML — eXtensible Markup Language
5.2 Definitions
5.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.
5.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.
6 Conventions
6.1 Translating UML to XML Schema
6.1.1 The reader is expected to have a working knowledge of the UML, XML, WSDL, SOAP, and Schema
specifications (see ¶¶4.2 and 4.3). This document does not provide tutorial information on these subjects.
6.1.2 This document follows the guidelines for XML as outlined in SEMI E121.
6.1.3 Some of the key guidelines followed in this document are summarized here:
Attributes of UML classes from SEMI E125 are generally represented as XML attributes, to improve efficiency
in transferring metadata descriptions from the equipment. Exceptions to this convention are UML attributes
that correspond to data structures or other constructs that cannot be represented as XML attributes, or may
include text values that may need to include non-parsed character data (CDATA).
Composition associations are mapped to a single XML element (or multiple such elements if the specified
multiplicity is greater than 1).
SEMI E125.1-0305 © SEMI 2005 6
Aggregations are mapped to contained elements or arrays of references to one or more unique attributes of the
target type.
Inheritance is modeled using complexType extension. In cases where a reference to an abstract base class
occurs in the UML model, a choice compositor for each of the possible derived types is used in order to restrict
instance documents from including arbitrary extension through type substitution.
6.1.4 The translation of a UML class to XML Schema types is documented using a table format illustrated by
Table 1. Operations defined for a UML class are translated into WSDL operations.
6.1.5 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 role names. In that case “none” is placed here.
UML Name/Type — If an attribute, the data type of the UML attribute is placed here. If an association, the type
of association is placed here. The possible association 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.
XML Name/Type — Provides the name and data type of the resulting XML construct. The type may be a built-
in type (for example, xsd: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: xsd:string
6.1.6 Translating Operations to XML Schema
6.1.6.1 The translation of an operation defined for UML interface classes to XML Schema types is documented
using a table format illustrated in Table 2. One row is provided for each possible input/output argument for the
operation being described.
Table 2 Example Translation Table for Operation Input/Output Arguments
Argument Name Format XML Element or Attribute XML Name/Type
<argument name from
abstract specification>
<argument format from
abstract specification>
<whether the argument is modeled as
an Element or Attribute>
<namespace-qualified name of the
attribute/element>
6.2 Documenting XML Schema and WSDL Files
6.2.1 Associated with this document are XML Schema and WSDL files that are core components of the
specification. Each such document is described using a table format illustrated by Table 3.
Table 3 Example Schema/WSDL Document Description Table
File Name <.xsd or .wsdl file name>
Target Namespace <target namespace defined in the schema or WSDL file>
Imported/Referenced
Namespaces
<namespaces imported or used by the schema or WSDL file>
Description <brief description of the purpose/function of the schema or WSDL file>
SEMI E125.1-0305 © SEMI 2005 7
6.3 Documenting XML Schema with Diagrams
3
6.3.1 This document provides graphical representations of the included XML Schema data type and element
definitions. Although no standard graphical notation for XML Schema could be found, various XML tools have
their own notation. This document will use the notation provided by XMLSpy from Altova Corporation. Figure 1
shows a sample XML Schema diagram that will be used to provide a basis for explanation of the schema graphical
notation used in the rest of the document.
6.3.2 In the diagram, rectangular boxes represent XML element definitions. Ownership or containment is read from
left to right in the diagrams. In the sample diagram, ParentType contains Child1, Child2, Child 3, and Child 4. In
turn, Child2 contains Child2a, Child2b, and Child2c. The additional symbols (8-sided boxes) represent sequences or
choices. See Table 4 for an explanation of these symbols.
Table 4 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)
Denotes an element that contains parsed character data
Denotes a reference to a group or element defined elsewhere
6.3.3 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.
6.3.4 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.
6.3.5 The yellow (or grey 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 Child1and
2Type by adding a sequence that includes Child3 and Child4.
6.3.6 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.
6.4 XML Schema Sample
6.4.1 The sample XML Schema 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 Schema.
3 All images/graphics were created using Altova’s XMLSPY®. Copyright 2003 Altova GmbH and reprinted with permission of Altova.