Copyright © 2014 Open Geospatial Consortium
128
sequence attributeGroup
ref =
swe:AssociationAttributeGroup complexType
From core.xsd: complexType
name =
DataComponentRefPropertyType attribute
name =
ref type
= sml:DataComponentPathPropertyType
use =
required complexType
simpleType name
= DataComponentPathPropertyType
restriction base
= token
pattern value
= [a-zA-Z_][a-zA-Z0-9_\-\.][a-zA-Z_][a-zA-Z0-9_\-\.]
restriction simpleType
8.3.3.1 Rules for Connections
The Link element may define a data connection between any properties of a process, but it typically connects inputs, outputs, and parameters. However, certain rules apply
regarding sources for data provided by the source property of the Link element and destinations for data provided by the destination property of the Link element.
Typical data flow is from an aggregate processes input to one or more component’s input, from a component output to another component’s input, or from a component’s output to
an output of the aggregate process.
Requirement
http:www.opengis.netspecsensorml2.0reqxmlaggregate-processinput-connection-restrictions
Req 66. The input of an enclosing aggregate process can connect to the input of one or more of its components; otherwise an input cannot connect to another input.
Requirement
http:www.opengis.netspecsensorml2.0reqxmlaggregate-processoutput-connection-restrictions
Req 67. The output of a component can connect to an output of its enclosing aggregate process; otherwise an output cannot connect to another output.
Requirement
http:www.opengis.netspecsensorml2.0reqxmlaggregate-processmultiple-connections
Req 68. An output can connect to multiple destinations, but an input can only have one source connection.
SensorML OGC 12-000
Copyright © 2014 Open Geospatial Consortium
129
Requirement
http:www.opengis.netspecsensorml2.0reqxmlaggregate-processparameter-connection- restrictions
Req 69. A parameter can only be connected as a destination; a parameter cannot serve as a source.
Requirement
http:www.opengis.netspecsensorml2.0reqxmlaggregate-processproperty-connection- restrictions
Req 70. Process properties other than inputs, outputs, or parameters can only serve as sources of data not destinations.
8.3.3.2 Rules for Path Designation
While the use of XPath was considered as a means of designating Link sources and destinations, this protocol was rejected on the grounds that its was too complicated for
our needs and because it did not allow continues designation of paths for “byReference” objects. The designation of a path starts at the base element of the aggregate process and
only uses property elements. Where the attribute name exists for an element, it is used; otherwise the element name is used.
Requirement
http:www.opengis.netspecsensorml2.0reqxmlaggregate-processdesignating-link-paths
Req 71. The following rules shall be used for designating the source and destination paths within the Linked element.
a The path begins at the base of the current process b The path includes only property elements lowerCamelCase and not
value objects UpperCamelCase c If the property has an attribute name and it has a value, then it shall be
used; otherwise the unqualified name of the property element should be used
d The path can follow properties that are byReference
As an example, a snippet of the previous example is given below, highlighting the source path parts in yellow and the destination path parts in cyan. The subsequent example
shows the appropriate source link path in yellow and the destination link path in cyan.
?xml version=1.0 encoding=UTF-8? sml:AggregateProcess
gml:id =
scaleAndClip06
Copyright © 2014 Open Geospatial Consortium
130
… deleted for brevity sake …
-- =============================
-- --
Aggregate Process Inputs --
-- =============================
-- sml:inputs
sml:InputList sml:input
name =
valueIn swe:Quantity
definition =
http:sensorml.comontswepropertyDN swe:uom
code =
any swe:Quantity
sml:input sml:InputList
sml:inputs
… deleted for brevity sake …
sml:components sml:ComponentList
-- Component 1 - Linear Interpolator
-- sml:component
name =
scale sml:SimpleProcess
gml:id =
linearInterpolator01 definition
= http:sensorml.comontsweprocessLinearInterpolator
-- =============================
-- --
Linear Interpolator Descriptions --
-- =============================
-- gml:description
A linear interpolator based on equation y = mx + b gml:description
gml:identifier codeSpace
= uid
urn:myCompany:process:8755d73ab gml:identifier
gml:name Linear Equation 01
gml:name --
============================= --
-- Linear Interpolator Inputs
-- --
============================= --
sml:inputs sml:InputList
sml:input name
= x
swe:Quantity definition
= http:sensorml.comontswepropertyXCoordinate
swe:uom code
= any
swe:Quantity sml:input
sml:InputList sml:inputs
… deleted for brevity sake …
sml:connections sml:ConnectionList
-- Connect AggregateProcess input to LinearInterpolator scale input
-- sml:connection
sml:Link sml:source
ref =
inputsvalueIn sml:destination
ref =
componentsscaleinputsx sml:Link
sml:connection
… deleted for brevity sake …
SensorML OGC 12-000
Copyright © 2014 Open Geospatial Consortium
131
8.4 Requirements Class: Physical Component Schema Requirements Class