Table of Contents
|
Target Namespace
|
http://www.wsmo.org/wsml/wsml-syntax#
|
| Element and Attribute Namespaces |
- Global element and attribute declarations belong to this schema's target namespace.
- By default, local element declarations belong to this schema's target namespace.
- By default, local attribute declarations have no namespace.
|
| Schema Composition |
- This schema imports schema(s) from the following namespace(s):
-
http://purl.org/dc/elements/1.1/ (at http://dublincore.org/schemas/xmls/qdc/2003/04/02/dc.xsd)
- This schema includes components from the following schema document(s):
- http://www.wsmo.org/TR/d16/d16.1/v0.2/xml-syntax/wsml-expr.xsd
- http://www.wsmo.org/TR/d16/d16.1/v0.2/xml-syntax/wsml-identifiers.xsd
|
| Documentation |
version: $Revision: 1.21 $
date: $Date: 2005/03/12 18:03:59 $
author: Jos de Bruijn, Reto Krummenacher
this document provides an XML Schema for the XML version of the WSML syntax
The syntax presented in this document can be used for all WSML variants. The WSML variant is identified through the 'variant' attribute of the root element 'wsml'.
A modular approach has been chosen when creating this schema. This schema contains the conceptual syntax. Separate schemas have been developed for the WSML identifiers and for the WSML logical expressions. These schemas are therefore included in this schema.
|
Declared Namespaces
| Prefix |
Namespace |
|
Default namespace
|
http://www.wsmo.org/wsml/wsml-syntax#
|
|
xml
|
http://www.w3.org/XML/1998/namespace |
|
dc
|
http://purl.org/dc/elements/1.1/ |
|
xs
|
http://www.w3.org/2001/XMLSchema |
Schema Component Representation
<
xs:schema targetNamespace="
http://www.wsmo.org/wsml/wsml-syntax#"
elementFormDefault="
qualified"
attributeFormDefault="
unqualified">
<xs:include schemaLocation="http://www.wsmo.org/TR/d16/d16.1/v0.2/xml-syntax/wsml-expr.xsd"/>
<xs:include schemaLocation="http://www.wsmo.org/TR/d16/d16.1/v0.2/xml-syntax/wsml-identifiers.xsd"/>
<xs:import namespace="http://purl.org/dc/elements/1.1/" schemaLocation="http://dublincore.org/schemas/xmls/qdc/2003/04/02/dc.xsd"/>
...
</
xs:schema>
Element: wsml
| Name |
wsml |
| Type |
Locally-defined complex type |
|
Nillable
|
no |
|
Abstract
|
no |
| Documentation |
The element 'wsml' is the preferred root element for any WSML specification.
It allows the user to explicity specify, through the 'variant' attribute, which WSML variant is used.
If the WSML variant has not been specified, the application has to "guess" the variant and in the worst case,
WSML-Full will be assumed.
|
XML Instance Representation
<wsml
variant="
wsmlIRI
[0..1]">
Start Sequence [0..*]
Allow any elements from any namespace (strict validation). [1]
End Sequence
</wsml>
Schema Component Representation
<
xs:element name="
wsml">
<
xs:complexType>
<
xs:sequence minOccurs="
0"
maxOccurs="
unbounded">
<xs:any/>
</
xs:sequence>
<
xs:attribute name="
variant"
type="
wsmlIRI
"/>
</
xs:complexType>
</
xs:element>
| Name |
importsOntology |
| Type |
wsmlIRI
|
|
Nillable
|
no |
|
Abstract
|
no |
| Documentation |
This element is used for indicating which ontologies to import.
Importing ontologies is the most basic (and inflexible) modularization mechanism.
The result of the import is merely the union of the axioms in the importing and the imported ontology.
|
XML Instance Representation
<importsOntology>
wsmlIRI
</importsOntology>
Schema Component Representation
<
xs:element name="
importsOntology"
type="
wsmlIRI
"/>
| Name |
usesMediator |
| Type |
wsmlIRI
|
|
Nillable
|
no |
|
Abstract
|
no |
| Documentation |
Mediators can be used to mediate between any top-level WSMO elements, i.e. ontologies, goals, and web services.
The most frequent use of mediators is to resolve heterogeneity between ontologies.
Thus, mediators provide a more flexible way for modularization of ontologies.
|
XML Instance Representation
<usesMediator>
wsmlIRI
</usesMediator>
Schema Component Representation
<
xs:element name="
usesMediator"
type="
wsmlIRI
"/>
| Name |
sharedVariables |
| Type |
Locally-defined complex type |
|
Nillable
|
no |
|
Abstract
|
no |
| Documentation |
A list of shared variables for the capability |
XML Instance Representation
<sharedVariables>
</sharedVariables>
Schema Component Representation
<
xs:element name="
sharedVariables">
<
xs:complexType>
<
xs:sequence>
<
xs:element name="
variable"
type="
wsmlVariable
"
minOccurs="
1"
maxOccurs="
unbounded"/>
</
xs:sequence>
</
xs:complexType>
</
xs:element>
| Name |
precondition |
| Type |
axiomType
|
|
Nillable
|
no |
|
Abstract
|
no |
| Documentation |
A pre-condition is an axiom describing the state of the information space before executing the web service. |
XML Instance Representation
<precondition
name="
wsmlIRI
[0..1]">
Start Sequence [0..1]
End Sequence
</precondition>
Schema Component Representation
<
xs:element name="
precondition"
type="
axiomType
"/>
| Name |
assumption |
| Type |
axiomType
|
|
Nillable
|
no |
|
Abstract
|
no |
| Documentation |
An assumption is an axiom describing the state of the world before executing the web service. |
XML Instance Representation
<assumption
name="
wsmlIRI
[0..1]">
Start Sequence [0..1]
End Sequence
</assumption>
Schema Component Representation
<
xs:element name="
assumption"
type="
axiomType
"/>
| Name |
postcondition |
| Type |
axiomType
|
|
Nillable
|
no |
|
Abstract
|
no |
| Documentation |
A post-condition is an axiom describing the state of the information space after executing the web service. |
XML Instance Representation
<postcondition
name="
wsmlIRI
[0..1]">
Start Sequence [0..1]
End Sequence
</postcondition>
Schema Component Representation
<
xs:element name="
postcondition"
type="
axiomType
"/>
| Name |
effect |
| Type |
axiomType
|
|
Nillable
|
no |
|
Abstract
|
no |
| Documentation |
An effect is an axiom describing the state of the world after executing the web service. |
XML Instance Representation
<effect
name="
wsmlIRI
[0..1]">
Start Sequence [0..1]
End Sequence
</effect>
Schema Component Representation
<
xs:element name="
effect"
type="
axiomType
"/>
XML Instance Representation
<choreography>
wsmlIRI
</choreography>
Schema Component Representation
<
xs:element name="
choreography"
type="
wsmlIRI
"/>
XML Instance Representation
<orchestration>
wsmlIRI
</orchestration>
Schema Component Representation
<
xs:element name="
orchestration"
type="
wsmlIRI
"/>
Element: goal
| Name |
goal |
| Type |
Locally-defined complex type |
|
Nillable
|
no |
|
Abstract
|
no |
| Documentation |
A goal specification. |
XML Instance Representation
<goal
name="
wsmlIRI
[0..1]">
</goal>
Schema Component Representation
<
xs:element name="
goal">
<
xs:complexType>
<
xs:sequence>
<
xs:element ref="
usesMediator
"
minOccurs="
0"
maxOccurs="
unbounded"/>
<
xs:element ref="
postcondition
"
minOccurs="
0"
maxOccurs="
unbounded"/>
<
xs:element ref="
effect
"
minOccurs="
0"
maxOccurs="
unbounded"/>
</
xs:sequence>
<
xs:attribute name="
name"
type="
wsmlIRI
"
use="
optional"/>
</
xs:complexType>
</
xs:element>
| Name |
nonFunctionalProperties |
| Type |
Locally-defined complex type |
|
Nillable
|
no |
|
Abstract
|
no |
| Documentation |
Any element can be used inside the non-functional properties.
Non-functional properties function as annotation for the containing element.
The recommended set of non-functional properties is the set of elements offered by Dublin Core.
WSML further defines one element, named 'version' and a number of web-service specific elements,
named 'performance', 'reliability', 'security'. 'scalability', 'robustness', 'accuracy', 'transactional',
'trust', 'financial', and 'networkRelatedQoS'.
|
XML Instance Representation
<nonFunctionalProperties>
</nonFunctionalProperties>
Schema Component Representation
<
xs:element name="
nonFunctionalProperties">
<
xs:complexType>
<
xs:sequence>
<
xs:element ref="
attributeValue
"
minOccurs="
0"
maxOccurs="
unbounded"/>
</
xs:sequence>
</
xs:complexType>
</
xs:element>
| Name |
webService |
| Type |
Locally-defined complex type |
|
Nillable
|
no |
|
Abstract
|
no |
| Documentation |
A web service specification. |
XML Instance Representation
<webService
name="
wsmlIRI
[0..1]">
</webService>
Schema Component Representation
<
xs:element name="
webService">
<
xs:complexType>
<
xs:sequence>
<
xs:element ref="
ooMediator
"
minOccurs="
0"
maxOccurs="
unbounded"/>
<
xs:element ref="
interface
"
minOccurs="
0"
maxOccurs="
unbounded"/>
</
xs:sequence>
<
xs:attribute name="
name"
type="
wsmlIRI
"
use="
optional"/>
</
xs:complexType>
</
xs:element>
| Name |
capability |
| Type |
Locally-defined complex type |
|
Nillable
|
no |
|
Abstract
|
no |
| Documentation |
A web service capability specification. |
XML Instance Representation
<capability
name="
wsmlIRI
[0..1]">
</capability>
Schema Component Representation
<
xs:element name="
capability">
<
xs:complexType>
<
xs:sequence>
<
xs:element ref="
usesMediator
"
minOccurs="
0"
maxOccurs="
unbounded"/>
<
xs:element ref="
precondition
"
minOccurs="
0"
maxOccurs="
unbounded"/>
<
xs:element ref="
assumption
"
minOccurs="
0"
maxOccurs="
unbounded"/>
<
xs:element ref="
postcondition
"
minOccurs="
0"
maxOccurs="
unbounded"/>
<
xs:element ref="
effect
"
minOccurs="
0"
maxOccurs="
unbounded"/>
</
xs:sequence>
<
xs:attribute name="
name"
type="
wsmlIRI
"
use="
optional"/>
</
xs:complexType>
</
xs:element>
| Name |
interface |
| Type |
Locally-defined complex type |
|
Nillable
|
no |
|
Abstract
|
no |
| Documentation |
A web service interface specification. |
XML Instance Representation
<interface
name="
wsmlIRI
[0..1]">
</interface>
Schema Component Representation
<
xs:element name="
interface">
<
xs:complexType>
<
xs:sequence>
<
xs:element ref="
usesMediator
"
minOccurs="
0"
maxOccurs="
unbounded"/>
</
xs:sequence>
<
xs:attribute name="
name"
type="
wsmlIRI
"
use="
optional"/>
</
xs:complexType>
</
xs:element>
| Name |
ooMediator |
| Type |
Locally-defined complex type |
|
Nillable
|
no |
|
Abstract
|
no |
| Documentation |
The element ooMediator is used for both declaration of ooMediators and reference to existing ooMediators.
In case no elements are nested inside the ooMediator, the element is interpreted as a reference to the ooMediator
indicated with the attribute 'name'.
If elements are nested inside the ooMediator, it is interpreted as a specification of a new ooMediator whose
identifier is specified in the attribute 'name'.
|
XML Instance Representation
<ooMediator
name="
wsmlIRI
[0..1]">
<usesService>
wsmlIRI
</usesService>
[0..1]
</ooMediator>
Schema Component Representation
<
xs:element name="
ooMediator">
<
xs:complexType>
<
xs:sequence>
<
xs:element name="
source"
type="
wsmlIRI
"
minOccurs="
1"
maxOccurs="
unbounded"/>
<
xs:element name="
target"
type="
wsmlIRI
"
minOccurs="
0"/>
<
xs:element name="
usesService"
type="
wsmlIRI
"
minOccurs="
0"/>
</
xs:sequence>
<
xs:attribute name="
name"
type="
wsmlIRI
"
use="
optional"/>
</
xs:complexType>
</
xs:element>
| Name |
ggMediator |
| Type |
Locally-defined complex type |
|
Nillable
|
no |
|
Abstract
|
no |
| Documentation |
A ggMediator specification. |
XML Instance Representation
<ggMediator
name="
wsmlIRI
[0..1]">
<usesService>
wsmlIRI
</usesService>
[0..1]
</ggMediator>
Schema Component Representation
<
xs:element name="
ggMediator">
<
xs:complexType>
<
xs:sequence>
<
xs:element ref="
usesMediator
"
minOccurs="
0"
maxOccurs="
unbounded"/>
<
xs:element name="
source"
type="
wsmlIRI
"
minOccurs="
1"
maxOccurs="
unbounded"/>
<
xs:element name="
target"
type="
wsmlIRI
"
minOccurs="
0"/>
<
xs:element name="
usesService"
type="
wsmlIRI
"
minOccurs="
0"/>
</
xs:sequence>
<
xs:attribute name="
name"
type="
wsmlIRI
"
use="
optional"/>
</
xs:complexType>
</
xs:element>
| Name |
wgMediator |
| Type |
Locally-defined complex type |
|
Nillable
|
no |
|
Abstract
|
no |
| Documentation |
A wgMediator specification. |
XML Instance Representation
<wgMediator
name="
wsmlIRI
[0..1]">
Start Sequence [0..1]
<usesService>
wsmlIRI
</usesService>
[0..1]
End Sequence
</wgMediator>
Schema Component Representation
<
xs:element name="
wgMediator">
<
xs:complexType>
<
xs:sequence minOccurs="
0">
<
xs:element ref="
usesMediator
"
minOccurs="
0"
maxOccurs="
unbounded"/>
<
xs:element name="
source"
type="
wsmlIRI
"
minOccurs="
0"/>
<
xs:element name="
target"
type="
wsmlIRI
"
minOccurs="
0"/>
<
xs:element name="
usesService"
type="
wsmlIRI
"
minOccurs="
0"/>
</
xs:sequence>
<
xs:attribute name="
name"
type="
wsmlIRI
"
use="
optional"/>
</
xs:complexType>
</
xs:element>
| Name |
wwMediator |
| Type |
Locally-defined complex type |
|
Nillable
|
no |
|
Abstract
|
no |
| Documentation |
A wwMediator specification. |
XML Instance Representation
<wwMediator
name="
wsmlIRI
[0..1]">
<usesService>
wsmlIRI
</usesService>
[0..1]
</wwMediator>
Schema Component Representation
<
xs:element name="
wwMediator">
<
xs:complexType>
<
xs:sequence>
<
xs:element ref="
usesMediator
"
minOccurs="
0"
maxOccurs="
unbounded"/>
<
xs:element name="
source"
type="
wsmlIRI
"
minOccurs="
0"/>
<
xs:element name="
target"
type="
wsmlIRI
"
minOccurs="
0"/>
<
xs:element name="
usesService"
type="
wsmlIRI
"
minOccurs="
0"/>
</
xs:sequence>
<
xs:attribute name="
name"
type="
wsmlIRI
"
use="
optional"/>
</
xs:complexType>
</
xs:element>
| Name |
ontology |
| Type |
Locally-defined complex type |
|
Nillable
|
no |
|
Abstract
|
no |
| Documentation |
An ontology specification. |
XML Instance Representation
<ontology
name="
wsmlIRI
[0..1]">
Start Choice [0..*]
End Choice
</ontology>
Schema Component Representation
<
xs:element name="
ontology">
<
xs:complexType>
<
xs:sequence>
<
xs:choice minOccurs="
0"
maxOccurs="
unbounded">
<
xs:element ref="
axiom
"/>
</
xs:choice>
</
xs:sequence>
<
xs:attribute name="
name"
type="
wsmlIRI
"
use="
optional"/>
</
xs:complexType>
</
xs:element>
XML Instance Representation
Schema Component Representation
<
xs:element name="
axiom"
type="
axiomType
"/>
| Super-types: |
None |
| Sub-types: |
None |
| Name |
axiomType |
|
Abstract
|
no |
| Documentation |
An axiom reference or specification.
In case no elements are nested inside the axiom, it is merely a reference to an axiom definition.
Otherwise, it is an axiom specification, consisting of a number of annotations in the form of non-functional
properties and the actual logical expression, contained in the definedBy keyword.
|
XML Instance Representation
Schema Component Representation
<
xs:complexType name="
axiomType">
<
xs:sequence minOccurs="
0">
</
xs:sequence>
<
xs:attribute name="
name"
type="
wsmlIRI
"
use="
optional"/>
</
xs:complexType>
| Name |
concept |
| Type |
Locally-defined complex type |
|
Nillable
|
no |
|
Abstract
|
no |
| Documentation |
A concept specification or reference. In case no elements are nested inside the concept, it is a reference to the concept identified by the name. Otherwise, it is a concept specification. |
XML Instance Representation
<concept
name="
wsmlIRI
[1]">
<superConcept>
wsmlIRI
</superConcept>
[0..*]
</concept>
Schema Component Representation
<
xs:element name="
concept">
<
xs:complexType>
<
xs:sequence>
<
xs:element name="
superConcept"
type="
wsmlIRI
"
minOccurs="
0"
maxOccurs="
unbounded"/>
<
xs:element ref="
attribute
"
minOccurs="
0"
maxOccurs="
unbounded"/>
</
xs:sequence>
<
xs:attribute name="
name"
type="
wsmlIRI
"
use="
required"/>
</
xs:complexType>
</
xs:element>
| Name |
attribute |
| Type |
Locally-defined complex type |
|
Nillable
|
no |
|
Abstract
|
no |
| Documentation |
A concept can have zero or more attributes. The type of the attribute can be inferring or constraining. A constraining attribute (corresponding to 'ofType') is used to check the type of parameter values; an inferring parameter (corresponding to 'impliesType') is used to derive the type of attribute values. By default an attribute is constraining. Furthermore, an attribute can be symmetric, transitive, reflexive or the inverse of another attribute. Finally, it is possible to specify the minimal and maximal cardinality of an attribute. By default the minimal cardinality is 0 and the maximal cardinality is n (i.e. not restricted).
|
XML Instance Representation
<attribute
name="
wsmlIRI
[1]"
type="
xs:string (value comes from list: {'constraining'|'inferring'}) [0..1]">
<symmetric> ... </symmetric> [0..1]
<transitive> ... </transitive> [0..1]
<reflexive> ... </reflexive> [0..1]
<inverseOf>
wsmlID
</inverseOf>
[0..1]
<minCardinality>
xs:integer </minCardinality>
[0..1]
<maxCardinality>
xs:integer </maxCardinality>
[0..1]
</attribute>
Schema Component Representation
<
xs:element name="
attribute">
<
xs:complexType>
<
xs:sequence>
<
xs:element name="
range"
type="
wsmlIRI
"
minOccurs="
0"/>
<xs:element name="symmetric" minOccurs="0"/>
<xs:element name="transitive" minOccurs="0"/>
<xs:element name="reflexive" minOccurs="0"/>
<
xs:element name="
inverseOf"
type="
wsmlID
"
minOccurs="
0"/>
<
xs:element name="
minCardinality"
type="
xs:integer
"
minOccurs="
0"/>
<
xs:element name="
maxCardinality"
type="
xs:integer
"
minOccurs="
0"/>
</
xs:sequence>
<
xs:attribute name="
name"
type="
wsmlIRI
"
use="
required"/>
<
xs:attribute name="
type"
default="
constraining">
<
xs:simpleType>
<
xs:restriction base="
xs:string
">
<xs:enumeration value="constraining"/>
<xs:enumeration value="inferring"/>
</
xs:restriction>
</
xs:simpleType>
</
xs:attribute>
</
xs:complexType>
</
xs:element>
XML Instance Representation
<relation
name="
wsmlIRI
[1]"
arity="
xs:integer [0..1]">
<superRelation>
wsmlIRI
</superRelation>
[0..*]
</relation>
Schema Component Representation
| Super-types: |
None |
| Sub-types: |
None |
| Name |
relationType |
|
Abstract
|
no |
| Documentation |
A relation specification or reference.
In case no elements are nested inside the relation, it is a reference to the relation identified by the name.
Otherwise, it is a relation specification.
|
XML Instance Representation
<...
name="
wsmlIRI
[1]"
arity="
xs:integer [0..1]">
<superRelation>
wsmlIRI
</superRelation>
[0..*]
</...>
Schema Component Representation
<
xs:complexType name="
relationType">
<
xs:sequence>
<
xs:element name="
superRelation"
type="
wsmlIRI
"
minOccurs="
0"
maxOccurs="
unbounded"/>
</
xs:sequence>
<
xs:attribute name="
name"
type="
wsmlIRI
"
use="
required"/>
<
xs:attribute name="
arity"
type="
xs:integer
"
use="
optional"/>
</
xs:complexType>
| Name |
parameters |
| Type |
Locally-defined complex type |
|
Nillable
|
no |
|
Abstract
|
no |
| Documentation |
The ordered list of parameter types |
XML Instance Representation
<parameters>
<parameter
type="
xs:string (value comes from list: {'constraining'|'inferring'}) [0..1]">
[0..*]
</parameter>
</parameters>
Schema Component Representation
<
xs:element name="
parameters">
<
xs:complexType>
<
xs:sequence>
<
xs:element name="
parameter"
minOccurs="
0"
maxOccurs="
unbounded">
<
xs:complexType>
<
xs:sequence>
<
xs:element name="
range"
type="
wsmlIRI
"
maxOccurs="
unbounded"/>
</
xs:sequence>
<
xs:attribute name="
type"
default="
constraining">
<
xs:simpleType>
<
xs:restriction base="
xs:string
">
<xs:enumeration value="constraining"/>
<xs:enumeration value="inferring"/>
</
xs:restriction>
</
xs:simpleType>
</
xs:attribute>
</
xs:complexType>
</
xs:element>
</
xs:sequence>
</
xs:complexType>
</
xs:element>
| Name |
instance |
| Type |
Locally-defined complex type |
|
Nillable
|
no |
|
Abstract
|
no |
| Documentation |
An instance can be member of zero or more concepts.
Furthermore, zero or more attribute values can be associated with this particular instance.
|
XML Instance Representation
<instance
name="
wsmlIRI
[0..1]">
<memberOf>
wsmlIRI
</memberOf>
[0..*]
</instance>
Schema Component Representation
<
xs:element name="
instance">
<
xs:complexType>
<
xs:sequence>
<
xs:element name="
memberOf"
type="
wsmlIRI
"
minOccurs="
0"
maxOccurs="
unbounded"/>
<
xs:element ref="
attributeValue
"
minOccurs="
0"
maxOccurs="
unbounded"/>
</
xs:sequence>
<
xs:attribute name="
name"
type="
wsmlIRI
"
use="
optional"/>
</
xs:complexType>
</
xs:element>
| Name |
attributeValue |
| Type |
Locally-defined complex type |
|
Nillable
|
no |
|
Abstract
|
no |
| Documentation |
The value of an attribute is either the identifier of another WSML element or a literal.
|
XML Instance Representation
<attributeValue
name="
wsmlIRI
[1]">
</attributeValue>
Schema Component Representation
<
xs:element name="
attributeValue">
<
xs:complexType>
<
xs:sequence>
<
xs:element name="
value"
type="
wsmlAnyValue
"
maxOccurs="
unbounded"/>
</
xs:sequence>
<
xs:attribute name="
name"
type="
wsmlIRI
"
use="
required"/>
</
xs:complexType>
</
xs:element>
XML Instance Representation
<relationInstance
name="
wsmlIRI
[0..1]">
<memberOf>
wsmlIRI
</memberOf>
[0..*]
</relationInstance>
Schema Component Representation
<
xs:element name="
relationInstance">
<
xs:complexType>
<
xs:sequence>
<
xs:element name="
memberOf"
type="
wsmlIRI
"
minOccurs="
0"
maxOccurs="
unbounded"/>
<
xs:element ref="
parameterValue
"
minOccurs="
0"
maxOccurs="
unbounded"/>
</
xs:sequence>
<
xs:attribute name="
name"
type="
wsmlIRI
"
use="
optional"/>
</
xs:complexType>
</
xs:element>
XML Instance Representation
<parameterValue>
Start Choice [1]
End Choice
</parameterValue>
Schema Component Representation
<
xs:element name="
parameterValue">
<
xs:complexType>
<
xs:choice>
<
xs:element name="
value"
type="
wsmlAnyValue
"
maxOccurs="
unbounded"/>
</
xs:choice>
</
xs:complexType>
</
xs:element>
Complex Type:
Schema Component Type
AusAddress
Schema Component Name
| Super-types: |
Address < AusAddress (by extension) |
| Sub-types: |
-
QLDAddress (by restriction)
|
If this schema component is a type definition, its type hierarchy is shown in a gray-bordered box.
The table above displays the properties of this schema component.
XML Instance Representation
<...
country="Australia"
>
<unitNo> string </unitNo> [0..1]
<houseNo> string </houseNo> [1]
<street> string </street> [1]
Start Choice
[1]
<city> string </city> [1]
<town> string </town> [1]
End Choice
<state> AusStates </state> [1]
<postcode> string <<pattern = [1-9][0-9]{3}>> </postcode> [1]
</...>
The XML Instance Representation table above shows the schema component's content as an XML instance.
- The minimum and maximum occurrence of elements and attributes are provided in square brackets, e.g. [0..1].
- Model group information are shown in gray, e.g. Start Choice ... End Choice.
- For type derivations, the elements and attributes that have been added to or changed from the base type's content are shown in bold.
- If an element/attribute has a fixed value, the fixed value is shown in green, e.g. country="Australia".
- Otherwise, the type of the element/attribute is displayed.
- If the element/attribute's type is in the schema, a link is provided to it.
- For local simple type definitions, the constraints are displayed in angle brackets, e.g. <<pattern = [1-9][0-9]{3}>>.
Schema Component Representation
<complexType
name="AusAddress">
<complexContent>
<extension
base="
Address
">
<sequence>
<element
name="state" type="
AusStates
"/>
<element
name="postcode">
<simpleType>
<restriction
base="
string
">
<pattern
value="[1-9][0-9]{3}"/>
</restriction>
</simpleType>
</element>
</sequence>
<attribute
name="country" type="
string
" fixed="Australia"/>
</extension>
</complexContent>
</complexType>
The Schema Component Representation table above displays the underlying XML representation of the schema component. (Annotations are not shown.)
Abstract (Applies to complex type definitions and element declarations). An abstract element or complex type cannot used to validate an element instance. If there is a reference to an abstract element, only element declarations that can substitute the abstract element can be used to validate the instance. For references to abstract type definitions, only derived types can be used.
All Model Group Child elements can be provided in any order in instances. See: http://www.w3.org/TR/xmlschema-1/#element-all.
Choice Model Group
Only one from the list of child elements and model groups can be provided in instances. See: http://www.w3.org/TR/xmlschema-1/#element-choice.
Collapse Whitespace Policy Replace tab, line feed, and carriage return characters with space character (Unicode character 32). Then, collapse contiguous sequences of space characters into single space character, and remove leading and trailing space characters.
Disallowed Substitutions (Applies to element declarations). If substitution is specified, then substitution group members cannot be used in place of the given element declaration to validate element instances. If derivation methods, e.g. extension, restriction, are specified, then the given element declaration will not validate element instances that have types derived from the element declaration's type using the specified derivation methods. Normally, element instances can override their declaration's type by specifying an xsi:type attribute.
Key Constraint Like Uniqueness Constraint, but additionally requires that the specified value(s) must be provided. See: http://www.w3.org/TR/xmlschema-1/#cIdentity-constraint_Definitions.
Key Reference Constraint Ensures that the specified value(s) must match value(s) from a Key Constraint or Uniqueness Constraint. See: http://www.w3.org/TR/xmlschema-1/#cIdentity-constraint_Definitions.
Model Group Groups together element content, specifying the order in which the element content can occur and the number of times the group of element content may be repeated. See: http://www.w3.org/TR/xmlschema-1/#Model_Groups.
Nillable (Applies to element declarations). If an element declaration is nillable, instances can use the xsi:nil attribute. The xsi:nil attribute is the boolean attribute, nil, from the http://www.w3.org/2001/XMLSchema-instance namespace. If an element instance has an xsi:nil attribute set to true, it can be left empty, even though its element declaration may have required content.
Notation A notation is used to identify the format of a piece of data. Values of elements and attributes that are of type, NOTATION, must come from the names of declared notations. See: http://www.w3.org/TR/xmlschema-1/#cNotation_Declarations.
Preserve Whitespace Policy Preserve whitespaces exactly as they appear in instances.
Prohibited Derivations (Applies to type definitions). Derivation methods that cannot be used to create sub-types from a given type definition.
Prohibited Substitutions (Applies to complex type definitions). Prevents sub-types that have been derived using the specified derivation methods from validating element instances in place of the given type definition.
Replace Whitespace Policy Replace tab, line feed, and carriage return characters with space character (Unicode character 32).
Sequence Model Group Child elements and model groups must be provided in the specified order in instances. See: http://www.w3.org/TR/xmlschema-1/#element-sequence.
Substitution Group Elements that are members of a substitution group can be used wherever the head element of the substitution group is referenced.
Substitution Group Exclusions (Applies to element declarations). Prohibits element declarations from nominating themselves as being able to substitute a given element declaration, if they have types that are derived from the original element's type using the specified derivation methods.
Target Namespace The target namespace identifies the namespace that components in this schema belongs to. If no target namespace is provided, then the schema components do not belong to any namespace.
Uniqueness Constraint Ensures uniqueness of an element/attribute value, or a combination of values, within a specified scope. See: http://www.w3.org/TR/xmlschema-1/#cIdentity-constraint_Definitions.