Stylus Studio XML Editor

Table of contents

Appendices

2.4 Port Type

Port Type

The Port Type Component[top]

The Port Type Component

A port type component describes a set of messages that a service sends and/or receives. It does this by grouping related messages into operations. An operation is a set of input and output messages, a port type is a set of operations.

A port type can optionally extend one or more other port types. In such cases the port type contains the operations of the port types it extends, along with any operations it defines.

Port types are named constructs and can be referred to by QName (see [QName resolution]). For instance, binding components refer to port types in this way.

The properties of the Port Type Component are as follows:

  • {name} An NCName as defined by [XMLNS].

  • {target namespace} A namespace name, as defined in [XMLNS].

  • {extended port types} A set of named port type definitions.

  • {operations} A set of named port type operation definitions.

For each port type component in the {port types} property of a definitions container the combination of {name} and {target namespace} properties must be unique.

XML Representation of Port Type Component[top]

XML Representation of Port Type Component

The XML representation for a port type definition component is an element information item with the following Infoset properties;

  • A [local name] of portType

  • A [namespace name] of http://www.w3.org/2003/03/wsdl

  • One or more attribute information items amongst its [attributes] as follows;

    • A name attribute information item as described below in [ ].

    • An optional extends attribute information item as described below in [ ].

    • Zero or more namespace qualified attribute information items. The [namespace name] of such attribute information items MUST NOT be http://www.w3.org/2003/03/wsdl.

  • Zero or more element information items amongst its [children], as follows;

  • Zero or more namespace qualified element information items amongst its [children]. Such element information items MUST be a member of one of the element substitution groups related to port types described in [Language Extensibility].

name attribute information item with portType [owner][top]

name attribute information item with portType [owner]

The name attribute information item together with the targetNamespace attribute information item of the definitions element information item forms the QName of the port type.

The name attribute information item has the following Infoset properties;

  • A [local name] of name

  • A [namespace name] which has no value

The type of the name attribute information item is xs:NCName.

extends attribute information item[top]

extends attribute information item

The extends attribute information item lists the port types that this port type derives from.

The extends attribute information item has the following Infoset properties;

  • A [local name] of extends

  • A [namespace name] which has no value

The type of the extends attribute information item is a list of xs:QName.

Mapping Port Type's XML Representation to Component Properties[top]

Mapping Port Type's XML Representation to Component Properties

The mapping between the properties of the Port Type Component (see [The Port Type Component]) and the XML Representation of the portType element information item (see [XML Representation of Port Type Component]) is as described in [tab_PortType_Mapping].

1tab_PortType_Mapping Mapping between Port Type Component Properties and XML Representation Property Mapping
11{name} 11The actual value of the name attribute information item
11{target namespace} 11 The actual value of the targetNamespace attribute information item of the [parent] definitions element information item
11{extended port types} 11 The set of port type definitions resolved to by the values in the extends attribute information item if any, plus the set of port type definitions in the {extended port types} property of those port type definitions, otherwise empty.
11{operations} 11 The set of port type operation definitions corresponding to the operation element information items in [children], if any, plus the set of port type operation definitions in the {operations} property of the port type definitions in {extended port types}, if any.