XML Schema for WSML

Table of Contents

top

Schema Document Properties

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>
top

Global Schema Components

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>
top

Element: importsOntology

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 "/>
top

Element: usesMediator

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 "/>
top

Element: sharedVariables

Name sharedVariables
Type Locally-defined complex type
Nillable no
Abstract no
Documentation A list of shared variables for the capability
XML Instance Representation
<sharedVariables>
<variable> wsmlVariable </variable> [1..*]
</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>
top

Element: precondition

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]
<nonFunctionalProperties> ... </nonFunctionalProperties> [0..1]
<definedBy> logicalExpressionType </definedBy> [1]
End Sequence
</precondition>
Schema Component Representation
<xs:element name="precondition" type=" axiomType "/>
top

Element: assumption

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]
<nonFunctionalProperties> ... </nonFunctionalProperties> [0..1]
<definedBy> logicalExpressionType </definedBy> [1]
End Sequence
</assumption>
Schema Component Representation
<xs:element name="assumption" type=" axiomType "/>
top

Element: postcondition

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]
<nonFunctionalProperties> ... </nonFunctionalProperties> [0..1]
<definedBy> logicalExpressionType </definedBy> [1]
End Sequence
</postcondition>
Schema Component Representation
<xs:element name="postcondition" type=" axiomType "/>
top

Element: effect

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]
<nonFunctionalProperties> ... </nonFunctionalProperties> [0..1]
<definedBy> logicalExpressionType </definedBy> [1]
End Sequence
</effect>
Schema Component Representation
<xs:element name="effect" type=" axiomType "/>
top

Element: choreography

Name choreography
Type wsmlIRI
Nillable no
Abstract no
Documentation A reference to a choreography description.
XML Instance Representation
<choreography> wsmlIRI </choreography>
Schema Component Representation
<xs:element name="choreography" type=" wsmlIRI "/>
top

Element: orchestration

Name orchestration
Type wsmlIRI
Nillable no
Abstract no
Documentation A reference to an orchestration description.
XML Instance Representation
<orchestration> wsmlIRI </orchestration>
Schema Component Representation
<xs:element name="orchestration" type=" wsmlIRI "/>
top

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]">
<nonFunctionalProperties> ... </nonFunctionalProperties> [0..1]
<importsOntology> ... </importsOntology> [0..*]
<usesMediator> ... </usesMediator> [0..*]
<postcondition> ... </postcondition> [0..*]
<effect> ... </effect> [0..*]
</goal>
Schema Component Representation
<xs:element name="goal">
<xs:complexType>
<xs:sequence>
<xs:element ref=" nonFunctionalProperties " minOccurs="0"/>
<xs:element ref=" importsOntology " minOccurs="0" maxOccurs="unbounded"/>
<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>
top

Element: nonFunctionalProperties

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>
<attributeValue> ... </attributeValue> [0..*]
</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>
top

Element: webService

Name webService
Type Locally-defined complex type
Nillable no
Abstract no
Documentation A web service specification.
XML Instance Representation
<webService
name=" wsmlIRI [0..1]">
<nonFunctionalProperties> ... </nonFunctionalProperties> [0..1]
<importsOntology> ... </importsOntology> [0..*]
<ooMediator> ... </ooMediator> [0..*]
<capability> ... </capability> [1]
<interface> ... </interface> [0..*]
</webService>
Schema Component Representation
<xs:element name="webService">
<xs:complexType>
<xs:sequence>
<xs:element ref=" nonFunctionalProperties " minOccurs="0"/>
<xs:element ref=" importsOntology " minOccurs="0" maxOccurs="unbounded"/>
<xs:element ref=" ooMediator " minOccurs="0" maxOccurs="unbounded"/>
<xs:element ref=" capability "/>
<xs:element ref=" interface " minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
<xs:attribute name="name" type=" wsmlIRI " use="optional"/>
</xs:complexType>
</xs:element>
top

Element: capability

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]">
<nonFunctionalProperties> ... </nonFunctionalProperties> [0..1]
<importsOntology> ... </importsOntology> [0..*]
<usesMediator> ... </usesMediator> [0..*]
<sharedVariables> ... </sharedVariables> [0..1]
<precondition> ... </precondition> [0..*]
<assumption> ... </assumption> [0..*]
<postcondition> ... </postcondition> [0..*]
<effect> ... </effect> [0..*]
</capability>
Schema Component Representation
<xs:element name="capability">
<xs:complexType>
<xs:sequence>
<xs:element ref=" nonFunctionalProperties " minOccurs="0"/>
<xs:element ref=" importsOntology " minOccurs="0" maxOccurs="unbounded"/>
<xs:element ref=" usesMediator " minOccurs="0" maxOccurs="unbounded"/>
<xs:element ref=" sharedVariables " minOccurs="0"/>
<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>
top

Element: interface

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]">
<nonFunctionalProperties> ... </nonFunctionalProperties> [0..1]
<importsOntology> ... </importsOntology> [0..*]
<usesMediator> ... </usesMediator> [0..*]
<choreography> ... </choreography> [1]
<orchestration> ... </orchestration> [1]
</interface>
Schema Component Representation
<xs:element name="interface">
<xs:complexType>
<xs:sequence>
<xs:element ref=" nonFunctionalProperties " minOccurs="0"/>
<xs:element ref=" importsOntology " minOccurs="0" maxOccurs="unbounded"/>
<xs:element ref=" usesMediator " minOccurs="0" maxOccurs="unbounded"/>
<xs:element ref=" choreography "/>
<xs:element ref=" orchestration "/>
</xs:sequence>
<xs:attribute name="name" type=" wsmlIRI " use="optional"/>
</xs:complexType>
</xs:element>
top

Element: ooMediator

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]">
<nonFunctionalProperties> ... </nonFunctionalProperties> [0..1]
<importsOntology> ... </importsOntology> [0..*]
<source> wsmlIRI </source> [1..*]
<target> wsmlIRI </target> [0..1]
<usesService> wsmlIRI </usesService> [0..1]
</ooMediator>
Schema Component Representation
<xs:element name="ooMediator">
<xs:complexType>
<xs:sequence>
<xs:element ref=" nonFunctionalProperties " minOccurs="0"/>
<xs:element ref=" importsOntology " 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>
top

Element: ggMediator

Name ggMediator
Type Locally-defined complex type
Nillable no
Abstract no
Documentation A ggMediator specification.
XML Instance Representation
<ggMediator
name=" wsmlIRI [0..1]">
<nonFunctionalProperties> ... </nonFunctionalProperties> [0..1]
<importsOntology> ... </importsOntology> [0..*]
<usesMediator> ... </usesMediator> [0..*]
<source> wsmlIRI </source> [1..*]
<target> wsmlIRI </target> [0..1]
<usesService> wsmlIRI </usesService> [0..1]
</ggMediator>
Schema Component Representation
<xs:element name="ggMediator">
<xs:complexType>
<xs:sequence>
<xs:element ref=" nonFunctionalProperties " minOccurs="0"/>
<xs:element ref=" importsOntology " minOccurs="0" maxOccurs="unbounded"/>
<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>
top

Element: wgMediator

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]
<nonFunctionalProperties> ... </nonFunctionalProperties> [0..1]
<importsOntology> ... </importsOntology> [0..*]
<usesMediator> ... </usesMediator> [0..*]
<source> wsmlIRI </source> [0..1]
<target> wsmlIRI </target> [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=" nonFunctionalProperties " minOccurs="0"/>
<xs:element ref=" importsOntology " minOccurs="0" maxOccurs="unbounded"/>
<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>
top

Element: wwMediator

Name wwMediator
Type Locally-defined complex type
Nillable no
Abstract no
Documentation A wwMediator specification.
XML Instance Representation
<wwMediator
name=" wsmlIRI [0..1]">
<nonFunctionalProperties> ... </nonFunctionalProperties> [0..1]
<importsOntology> ... </importsOntology> [0..*]
<usesMediator> ... </usesMediator> [0..*]
<source> wsmlIRI </source> [0..1]
<target> wsmlIRI </target> [0..1]
<usesService> wsmlIRI </usesService> [0..1]
</wwMediator>
Schema Component Representation
<xs:element name="wwMediator">
<xs:complexType>
<xs:sequence>
<xs:element ref=" nonFunctionalProperties " minOccurs="0"/>
<xs:element ref=" importsOntology " minOccurs="0" maxOccurs="unbounded"/>
<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>
top

Element: ontology

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..*]
<nonFunctionalProperties> ... </nonFunctionalProperties> [1]
<importsOntology> ... </importsOntology> [1]
<usesMediator> ... </usesMediator> [1]
<concept> ... </concept> [1]
<relation> ... </relation> [1]
<instance> ... </instance> [1]
<relationInstance> ... </relationInstance> [1]
<axiom> ... </axiom> [1]
End Choice
</ontology>
Schema Component Representation
<xs:element name="ontology">
<xs:complexType>
<xs:sequence>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element ref=" nonFunctionalProperties "/>
<xs:element ref=" importsOntology "/>
<xs:element ref=" usesMediator "/>
<xs:element ref=" concept "/>
<xs:element ref=" relation "/>
<xs:element ref=" instance "/>
<xs:element ref=" relationInstance "/>
<xs:element ref=" axiom "/>
</xs:choice>
</xs:sequence>
<xs:attribute name="name" type=" wsmlIRI " use="optional"/>
</xs:complexType>
</xs:element>
top

Element: axiom

Name axiom
Type axiomType
Nillable no
Abstract no
XML Instance Representation
<axiom
name=" wsmlIRI [0..1]">
Start Sequence [0..1]
<nonFunctionalProperties> ... </nonFunctionalProperties> [0..1]
<definedBy> logicalExpressionType </definedBy> [1]
End Sequence
</axiom>
Schema Component Representation
<xs:element name="axiom" type=" axiomType "/>
top

Complex 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
<...
name=" wsmlIRI [0..1]">
Start Sequence [0..1]
<nonFunctionalProperties> ... </nonFunctionalProperties> [0..1]
<definedBy> logicalExpressionType </definedBy> [1]
End Sequence
</...>
Schema Component Representation
<xs:complexType name="axiomType">
<xs:sequence minOccurs="0">
<xs:element ref=" nonFunctionalProperties " minOccurs="0"/>
<xs:element name="definedBy" type=" logicalExpressionType "/>
</xs:sequence>
<xs:attribute name="name" type=" wsmlIRI " use="optional"/>
</xs:complexType>
top

Element: concept

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..*]
<nonFunctionalProperties> ... </nonFunctionalProperties> [0..1]
<attribute> ... </attribute> [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=" nonFunctionalProperties " minOccurs="0"/>
<xs:element ref=" attribute " minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
<xs:attribute name="name" type=" wsmlIRI " use="required"/>
</xs:complexType>
</xs:element>
top

Element: attribute

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]">
<range> wsmlIRI </range> [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]
<nonFunctionalProperties> ... </nonFunctionalProperties> [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:element ref=" nonFunctionalProperties " 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>
top

Element: relation

Name relation
Type relationType
Nillable no
Abstract no
XML Instance Representation
<relation
name=" wsmlIRI [1]"
arity=" xs:integer [0..1]">
<superRelation> wsmlIRI </superRelation> [0..*]
<parameters> ... </parameters> [0..1]
<nonFunctionalProperties> ... </nonFunctionalProperties> [0..1]
</relation>
Schema Component Representation
<xs:element name="relation" type=" relationType "/>
top

Complex Type: relationType

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..*]
<parameters> ... </parameters> [0..1]
<nonFunctionalProperties> ... </nonFunctionalProperties> [0..1]
</...>
Schema Component Representation
<xs:complexType name="relationType">
<xs:sequence>
<xs:element name="superRelation" type=" wsmlIRI " minOccurs="0" maxOccurs="unbounded"/>
<xs:element ref=" parameters " minOccurs="0"/>
<xs:element ref=" nonFunctionalProperties " minOccurs="0"/>
</xs:sequence>
<xs:attribute name="name" type=" wsmlIRI " use="required"/>
<xs:attribute name="arity" type=" xs:integer " use="optional"/>
</xs:complexType>
top

Element: parameters

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..*]
<range> wsmlIRI </range> [1..*]
</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>
top

Element: instance

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..*]
<nonFunctionalProperties> ... </nonFunctionalProperties> [0..1]
<attributeValue> ... </attributeValue> [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=" nonFunctionalProperties " minOccurs="0"/>
<xs:element ref=" attributeValue " minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
<xs:attribute name="name" type=" wsmlIRI " use="optional"/>
</xs:complexType>
</xs:element>
top

Element: attributeValue

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]">
<value> wsmlAnyValue </value> [1..*]
</attributeValue>
Schema Component Representation
<xs:element name="attributeValue">
<xs:complexType>
<xs:sequence>
<xs:element name="value" type=" wsmlAnyValue " maxOccurs="unbounded"/>
<-- can be instance, ID or literal -->
</xs:sequence>
<xs:attribute name="name" type=" wsmlIRI " use="required"/>
</xs:complexType>
</xs:element>
top

Element: relationInstance

Name relationInstance
Type Locally-defined complex type
Nillable no
Abstract no
XML Instance Representation
<relationInstance
name=" wsmlIRI [0..1]">
<memberOf> wsmlIRI </memberOf> [0..*]
<nonFunctionalProperties> ... </nonFunctionalProperties> [0..1]
<parameterValue> ... </parameterValue> [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=" nonFunctionalProperties " minOccurs="0"/>
<xs:element ref=" parameterValue " minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
<xs:attribute name="name" type=" wsmlIRI " use="optional"/>
</xs:complexType>
</xs:element>
top

Element: parameterValue

Name parameterValue
Type Locally-defined complex type
Nillable no
Abstract no
XML Instance Representation
<parameterValue>
Start Choice [1]
<value> wsmlAnyValue </value> [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>
top

Legend

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.
Name AusAddress
Abstract no
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.

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.)
top

Glossary

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.

top