W3C

IBM-WSLA

The document http://www.research.ibm.com/wsla/WSLA093.xsd has been classified as being possibly an Advanced XML Schema Patterns for Databinding 1.0 conformant document as it only exhibits the following patterns:

Status Nodes Name XPath
basic TargetNamespace .[@targetNamespace]/ (., @targetNamespace)
basic QualifiedLocalElements .[@elementFormDefault = 'qualified']/ (@elementFormDefault)
basic UnqualifiedLocalAttributes .[not(@attributeFormDefault) or @attributeFormDefault = 'unqualified']/ (., @attributeFormDefault)
basic DocumentationElement .//xs:annotation/xs:documentation/ (.., ., .//*, .//@*)
basic IdentifierName .//.[matches(@name, "^[A-Za-z_]([A-Za-z0-9_]0 31)$")]/ (@name)
basic GlobalElement ./xs:element[@name and @type and contains(@type, ':')]/ (., @name, @type)
basic ElementMinOccurs0 .//xs:element[@minOccurs = '0' and (not(@maxOccurs) or @maxOccurs = '1')]/ (@minOccurs, @maxOccurs)
basic ElementMinOccurs0MaxOccursUnbounded .//xs:element[@minOccurs = '0' and @maxOccurs = 'unbounded']/ (@minOccurs, @maxOccurs)
basic ElementMinOccurs1MaxOccursUnbounded .//xs:element[(not(@minOccurs) or @minOccurs = '1') and @maxOccurs = 'unbounded']/ (@minOccurs, @maxOccurs)
advanced ElementMinOccursFinite .//xs:element[xs:integer(@minOccurs) gt 1]/ (@minOccurs, @maxOccurs)
advanced ElementMaxOccursFinite .//xs:element[@maxOccurs and not(@maxOccurs = '0' or @maxOccurs = '1' or @maxOccurs = 'unbounded')]/ (@maxOccurs)
basic AttributeOptional .//xs:attribute[@use = 'optional']/ (@use)
basic GlobalSimpleType ./xs:simpleType[@name]/ (., @name)
basic GlobalComplexType ./xs:complexType[@name]/ (., @name)
advanced GlobalComplexTypeAbstract ./xs:complexType[@abstract='true']/ (@abstract)
basic StringEnumerationType .//xs:simpleType/xs:restriction[@base/resolve-QName(.,..) = xs:QName('xs:string') and xs:enumeration]/ (., @base, xs:enumeration/(., @value))
advanced ComplexTypeChoice .//xs:complexType/xs:choice/ (., xs:element/(., @name))
advanced ComplexTypeSequenceChoice .//xs:complexType/xs:sequence/xs:choice/ (., xs:element/(., @name))
basic ComplexTypeAttribute .//xs:complexType/xs:attribute[@name]/ (., @name)
advanced ComplexTypeOnlyAttributes .//xs:complexType/xs:attribute[../not(xs:choice or xs:sequence or xs:all or xs:anyAttribute or xs:group or xs:attributeGroup or xs:simpleContent or xs:complexContent)]/ (., ..,@use)
basic ComplexTypeSequence .//xs:complexType/xs:sequence/ (., xs:element/(., @name))
advanced ChoiceSequence .//xs:choice/xs:sequence/(.)
advanced SequenceChoice .//xs:sequence/xs:choice/(.)
advanced ChoiceElement .//xs:choice/xs:element/(.)
basic SequenceElement .//xs:sequence/xs:element/(.)
basic SequenceSingleRepeatedElement .//xs:sequence[count(xs:element) = 1]/xs:element[@maxOccurs = 'unbounded']/ (., @maxOccurs)
basic NullEnumerationType .//xs:simpleType/xs:restriction[@base/resolve-QName(.,..) = xs:QName('xs:string') and count(xs:enumeration) le 1 and xs:enumeration = '']/ (@base, xs:enumeration/(., @value))
basic ElementTypeReference .//xs:element[@name and @type and namespace-uri-from-QName(resolve-QName(@type,.)) != 'http://www.w3.org/2001/XMLSchema' and contains(@type, ':')]/ (., @name, @type)
basic ElementReference .//xs:element[@ref and contains(@ref, ':')]/ (., @ref)
basic AttributeTypeReference .//xs:attribute[@name and @type and namespace-uri-from-QName(resolve-QName(@type,.)) != 'http://www.w3.org/2001/XMLSchema' and contains(@type, ':')]/ (., @name, @type)
advanced List .//xs:list[@itemType]/ (., @itemType)
basic StringElement .//xs:element/@type[resolve-QName(.,..) = xs:QName('xs:string')]
basic StringAttribute .//xs:attribute/@type[resolve-QName(.,..) = xs:QName('xs:string')]
basic BooleanAttribute .//xs:attribute/@type[resolve-QName(.,..) = xs:QName('xs:boolean')]
advanced FloatElement .//xs:element/@type[resolve-QName(.,..) = xs:QName('xs:float')]
basic DoubleElement .//xs:element/@type[resolve-QName(.,..) = xs:QName('xs:double')]
basic DateTimeElement .//xs:element/@type[resolve-QName(.,..) = xs:QName('xs:dateTime')]
basic AnyURIElement .//xs:element/@type[resolve-QName(.,..) = xs:QName('xs:anyURI')]
advanced IntegerElement .//xs:element/@type[resolve-QName(.,..) = xs:QName('xs:integer')]
basic LongElement .//xs:element/@type[resolve-QName(.,..) = xs:QName('xs:long')]
basic ComplexTypeSequenceExtension .//xs:complexType/xs:complexContent[xs:extension[@base]/xs:sequence]/ (., xs:extension/ (., @base, xs:sequence/(., xs:element/(., @name))))
advanced GlobalComplexTypeEmptyExtension ./xs:complexType[@name]/xs:complexContent[xs:extension[@base]/not(*)]/ (../../(., @name), .., ., xs:extension/(., @base))
advanced SubstitutionGroup .//xs:element[@substitutionGroup]/(.,@name,@substitutionGroup)
advanced ComplexTypeChoiceExtension .//xs:complexType/xs:complexContent[xs:extension[@base]/xs:choice]/ (., xs:extension/ (., @base, xs:choice/(., xs:element/(., @name))))
advanced ComplexTypeExtension .//xs:complexType/xs:complexContent/xs:extension[@base]/(., @base, ../(.))

<xsd:schema TargetNamespace UnqualifiedLocalAttributes GlobalComplexTypeEmptyExtension targetNamespace="http://www.ibm.com/wsla" TargetNamespace elementFormDefault="qualified" QualifiedLocalElements >
<xsd:annotation DocumentationElement >
<xsd:documentation DocumentationElement >
Schema for the WSLA Language. Version: wsla-20020709-1 Revision: 0.93 Authors: Heiko Ludwig (Contact), hludwig@us.ibm.com Alexander Keller Asit Dan Richard P. King Richard Franck Copyright 2001, 2002 IBM Corp. all rights reserved. Revision Comment: This revision 0.93 is not backward compatible to version 0.92. Changes: - Modified "Average" Function type to "Mean" - Added Round, Median, Mode Function types - Added MeasurementDirective types for Counter and Gauge - Added name attribute to ActionGuarantee and ServiceLevelObjective - Role is now an element of SupportingParty and can occur multiple times. - GuaranteeGroup became ObligationGroup for consistency reasons. - The Contact element of Party became optional.
</xsd:documentation>
</xsd:annotation>
<!-- -->
<!-- Global WSLA structure -->
<!-- -->
<xsd:complexType GlobalComplexType name="WSLAType" IdentifierName GlobalComplexType >
<xsd:attribute ComplexTypeAttribute name="name" IdentifierName ComplexTypeAttribute type="xsd:string" StringAttribute />
</xsd:complexType>
<!-- -->
<!-- Party Definitions -->
<!-- -->
<xsd:complexType GlobalComplexType name="ContactInformationType" IdentifierName GlobalComplexType >
<xsd:sequence ComplexTypeSequence > </xsd:sequence>
</xsd:complexType>
<xsd:simpleType GlobalSimpleType name="RoleType" IdentifierName GlobalSimpleType >
<xsd:restriction StringEnumerationType base="xsd:string" StringEnumerationType >
<xsd:enumeration StringEnumerationType value="MeasurementService" StringEnumerationType />
<xsd:enumeration StringEnumerationType value="ManagementService" StringEnumerationType />
<xsd:enumeration StringEnumerationType value="ConditionEvaluationService" StringEnumerationType />
</xsd:restriction>
</xsd:simpleType>
<xsd:complexType GlobalComplexType name="PartyType" IdentifierName GlobalComplexType abstract="true" GlobalComplexTypeAbstract >
<xsd:attribute ComplexTypeAttribute name="name" IdentifierName ComplexTypeAttribute type="xsd:string" StringAttribute />
</xsd:complexType>
<xsd:complexType GlobalComplexType GlobalComplexTypeEmptyExtension name="SignatoryPartyType" IdentifierName GlobalComplexType >
<xsd:complexContent GlobalComplexTypeEmptyExtension ComplexTypeExtension ></xsd:complexContent>
</xsd:complexType>
<xsd:complexType GlobalComplexType name="PartiesType" IdentifierName GlobalComplexType ></xsd:complexType>
<!-- Actions -->
<xsd:complexType GlobalComplexType ComplexTypeOnlyAttributes name="ActionDescriptionType" IdentifierName GlobalComplexType abstract="true" GlobalComplexTypeAbstract > </xsd:complexType>
<!-- -->
<!-- Service Definitions -->
<!-- -->
<xsd:complexType GlobalComplexType name="ServiceDefinitionType" IdentifierName GlobalComplexType ></xsd:complexType>
<!-- Service Objects -->
<xsd:complexType GlobalComplexType name="ServiceObjectType" IdentifierName GlobalComplexType abstract="true" GlobalComplexTypeAbstract >
<xsd:sequence ComplexTypeSequence > </xsd:sequence>
<xsd:attribute ComplexTypeAttribute name="name" IdentifierName ComplexTypeAttribute type="xsd:string" StringAttribute />
</xsd:complexType>
<xsd:complexType GlobalComplexType name="ScheduleType" IdentifierName GlobalComplexType >
<xsd:attribute ComplexTypeAttribute name="name" IdentifierName ComplexTypeAttribute type="xsd:string" StringAttribute />
</xsd:complexType>
<xsd:complexType GlobalComplexType name="OperationGroupType" IdentifierName GlobalComplexType ></xsd:complexType>
<xsd:element GlobalElement ElementTypeReference name="Operation" IdentifierName GlobalElement ElementTypeReference type="wsla:OperationDescriptionType" GlobalElement ElementTypeReference />
<xsd:complexType GlobalComplexType GlobalComplexTypeEmptyExtension name="OperationDescriptionType" IdentifierName GlobalComplexType >
<xsd:complexContent GlobalComplexTypeEmptyExtension ComplexTypeExtension ></xsd:complexContent>
</xsd:complexType>
<xsd:complexType GlobalComplexType name="WebHostingType" IdentifierName GlobalComplexType ></xsd:complexType>
<!-- Parameters and Metrics -->
<xsd:complexType GlobalComplexType name="SLAParameterType" IdentifierName GlobalComplexType >
<xsd:sequence ComplexTypeSequence >
<xsd:element ComplexTypeSequence SequenceElement ElementTypeReference name="Communication" IdentifierName ComplexTypeSequence ElementTypeReference type="wsla:SLAParameterCommunicationType" ElementTypeReference minOccurs="0" ElementMinOccurs0 />
</xsd:sequence>
<xsd:attribute ComplexTypeAttribute name="name" IdentifierName ComplexTypeAttribute type="xsd:string" StringAttribute />
<xsd:attribute ComplexTypeAttribute name="unit" IdentifierName ComplexTypeAttribute type="xsd:string" StringAttribute />
</xsd:complexType>
<xsd:complexType GlobalComplexType name="SLAParameterCommunicationType" IdentifierName GlobalComplexType ></xsd:complexType>
<xsd:complexType GlobalComplexType name="MetricType" IdentifierName GlobalComplexType >
<xsd:attribute ComplexTypeAttribute name="name" IdentifierName ComplexTypeAttribute type="xsd:string" StringAttribute />
<xsd:attribute ComplexTypeAttribute name="unit" IdentifierName ComplexTypeAttribute type="xsd:string" StringAttribute />
<xsd:attribute ComplexTypeAttribute name="counter" IdentifierName ComplexTypeAttribute type="xsd:boolean" BooleanAttribute use="optional" AttributeOptional />
</xsd:complexType>
<!-- Measurement directives -->
<xsd:complexType GlobalComplexType name="MeasurementDirectiveType" IdentifierName GlobalComplexType abstract="true" GlobalComplexTypeAbstract >
<xsd:sequence ComplexTypeSequence >
<xsd:element ComplexTypeSequence SequenceElement name="ReadingSchedule" IdentifierName ComplexTypeSequence type="xsd:string" StringElement minOccurs="0" ElementMinOccurs0 />
</xsd:sequence>
</xsd:complexType>
<xsd:complexType GlobalComplexType name="MDVariableType" IdentifierName GlobalComplexType ></xsd:complexType>
<!-- Functions to compute derived metrics -->
<!-- Metric Macros -->
<xsd:complexType GlobalComplexType name="MetricMacroDefinitionType" IdentifierName GlobalComplexType >
<xsd:attribute ComplexTypeAttribute name="name" IdentifierName ComplexTypeAttribute type="xsd:string" StringAttribute />
</xsd:complexType>
<xsd:element GlobalElement ElementTypeReference name="MetricMacroDefinition" IdentifierName GlobalElement ElementTypeReference type="wsla:MetricMacroDefinitionType" GlobalElement ElementTypeReference />
<xsd:complexType GlobalComplexType name="MDAssignmentType" IdentifierName GlobalComplexType >
<xsd:sequence ComplexTypeSequence >
<xsd:element ComplexTypeSequence SequenceElement ElementTypeReference name="MeasurementDirective" IdentifierName ComplexTypeSequence ElementTypeReference type="wsla:MeasurementDirectiveType" ElementTypeReference />
</xsd:sequence>
<xsd:attribute ComplexTypeAttribute name="metricName" IdentifierName ComplexTypeAttribute type="xsd:string" StringAttribute />
</xsd:complexType>
<xsd:complexType GlobalComplexType name="MetricMacroExpansionType" IdentifierName GlobalComplexType >
<xsd:attribute ComplexTypeAttribute name="macroName" IdentifierName ComplexTypeAttribute type="xsd:string" StringAttribute />
<xsd:attribute ComplexTypeAttribute name="expansionName" IdentifierName ComplexTypeAttribute type="xsd:string" StringAttribute />
</xsd:complexType>
<xsd:element GlobalElement ElementTypeReference name="MetricMacroExpansion" IdentifierName GlobalElement ElementTypeReference type="wsla:MetricMacroExpansionType" GlobalElement ElementTypeReference />
<!-- Support Types -->
<xsd:complexType GlobalComplexType name="ConstantType" IdentifierName GlobalComplexType >
<xsd:choice ComplexTypeChoice >
<xsd:element ComplexTypeChoice ChoiceElement name="String" IdentifierName ComplexTypeChoice type="xsd:string" StringElement minOccurs="0" ElementMinOccurs0 />
<xsd:element ComplexTypeChoice ChoiceElement name="Integer" IdentifierName ComplexTypeChoice type="xsd:integer" IntegerElement minOccurs="0" ElementMinOccurs0 />
<xsd:element ComplexTypeChoice ChoiceElement name="Float" IdentifierName ComplexTypeChoice type="xsd:float" FloatElement minOccurs="0" ElementMinOccurs0 />
</xsd:choice>
<xsd:attribute ComplexTypeAttribute name="name" IdentifierName ComplexTypeAttribute type="xsd:string" StringAttribute />
</xsd:complexType>
<xsd:complexType GlobalComplexType name="TriggerType" IdentifierName GlobalComplexType >
<xsd:choice ComplexTypeChoice >
<xsd:element ComplexTypeChoice ChoiceElement name="Time" IdentifierName ComplexTypeChoice type="xsd:dateTime" DateTimeElement />
</xsd:choice>
<xsd:attribute ComplexTypeAttribute name="name" IdentifierName ComplexTypeAttribute type="xsd:string" StringAttribute />
</xsd:complexType>
<xsd:simpleType GlobalSimpleType name="Type" IdentifierName GlobalSimpleType >
<xsd:restriction StringEnumerationType base="xsd:string" StringEnumerationType >
<xsd:enumeration StringEnumerationType value="Q" StringEnumerationType />
<xsd:enumeration StringEnumerationType value="TS" StringEnumerationType />
<xsd:enumeration StringEnumerationType value="integer" StringEnumerationType />
<xsd:enumeration StringEnumerationType value="float" StringEnumerationType />
<xsd:enumeration StringEnumerationType value="double" StringEnumerationType />
<xsd:enumeration StringEnumerationType value="long" StringEnumerationType />
<xsd:enumeration StringEnumerationType value="byte" StringEnumerationType />
<xsd:enumeration StringEnumerationType value="boolean" StringEnumerationType />
<xsd:enumeration StringEnumerationType value="string" StringEnumerationType />
<xsd:enumeration StringEnumerationType value="time" StringEnumerationType />
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType GlobalSimpleType name="StringList" IdentifierName GlobalSimpleType >
<xsd:list List itemType="xsd:string" List />
</xsd:simpleType>
<xsd:simpleType GlobalSimpleType name="IntegerList" IdentifierName GlobalSimpleType >
<xsd:list List itemType="xsd:integer" List />
</xsd:simpleType>
<xsd:simpleType GlobalSimpleType name="FloatList" IdentifierName GlobalSimpleType >
<xsd:list List itemType="xsd:float" List />
</xsd:simpleType>
<xsd:complexType GlobalComplexType name="IntervalType" IdentifierName GlobalComplexType >
<xsd:sequence ComplexTypeSequence >
<xsd:element ComplexTypeSequence SequenceElement name="Years" IdentifierName ComplexTypeSequence type="xsd:integer" IntegerElement minOccurs="0" ElementMinOccurs0 />
<xsd:element ComplexTypeSequence SequenceElement name="Months" IdentifierName ComplexTypeSequence type="xsd:integer" IntegerElement minOccurs="0" ElementMinOccurs0 />
<xsd:element ComplexTypeSequence SequenceElement name="Days" IdentifierName ComplexTypeSequence type="xsd:integer" IntegerElement minOccurs="0" ElementMinOccurs0 />
<xsd:element ComplexTypeSequence SequenceElement name="Hours" IdentifierName ComplexTypeSequence type="xsd:integer" IntegerElement minOccurs="0" ElementMinOccurs0 />
<xsd:element ComplexTypeSequence SequenceElement name="Minutes" IdentifierName ComplexTypeSequence type="xsd:integer" IntegerElement minOccurs="0" ElementMinOccurs0 />
<xsd:element ComplexTypeSequence SequenceElement name="Seconds" IdentifierName ComplexTypeSequence type="xsd:integer" IntegerElement minOccurs="0" ElementMinOccurs0 />
<xsd:element ComplexTypeSequence SequenceElement name="MilliSeconds" IdentifierName ComplexTypeSequence type="xsd:integer" IntegerElement minOccurs="0" ElementMinOccurs0 />
</xsd:sequence>
</xsd:complexType>
<xsd:complexType GlobalComplexType name="PeriodType" IdentifierName GlobalComplexType >
<xsd:choice ComplexTypeChoice >
<xsd:sequence ChoiceSequence >
<xsd:element SequenceElement name="Start" IdentifierName type="xsd:dateTime" DateTimeElement />
<xsd:element SequenceElement name="End" IdentifierName type="xsd:dateTime" DateTimeElement />
</xsd:sequence>
<xsd:sequence ChoiceSequence >
<xsd:element SequenceElement name="ConditionTime" IdentifierName type="xsd:string" StringElement />
<xsd:element SequenceElement name="ConditionMonthOfYearMask" IdentifierName type="xsd:string" StringElement />
<xsd:element SequenceElement name="ConditionDayOfMonthMask" IdentifierName type="xsd:string" StringElement />
<xsd:element SequenceElement name="ConditionDayOfWeekMask" IdentifierName type="xsd:string" StringElement />
<xsd:element SequenceElement name="ConditionTimeOfDayMask" IdentifierName type="xsd:string" StringElement />
<xsd:element SequenceElement name="ConditionTimeZone" IdentifierName type="xsd:string" StringElement />
<xsd:element SequenceElement name="ConditionLocalOrUtcTime" IdentifierName type="xsd:string" StringElement />
</xsd:sequence>
</xsd:choice>
</xsd:complexType>
<xsd:simpleType GlobalSimpleType name="EvaluationEventType" IdentifierName GlobalSimpleType >
<xsd:restriction StringEnumerationType base="xsd:string" StringEnumerationType NullEnumerationType ></xsd:restriction>
</xsd:simpleType>
<xsd:simpleType GlobalSimpleType name="ExecutionModalityType" IdentifierName GlobalSimpleType >
<xsd:restriction StringEnumerationType base="xsd:string" StringEnumerationType >
<xsd:enumeration StringEnumerationType value="Always" StringEnumerationType />
<xsd:enumeration StringEnumerationType value="OnEnteringCondition" StringEnumerationType />
<xsd:enumeration StringEnumerationType value="OnEnteringAndOnLeavingCondition" StringEnumerationType />
</xsd:restriction>
</xsd:simpleType>
<!-- -->
<!-- Guarantees -->
<!-- -->
<xsd:complexType GlobalComplexType name="ObligationObjectType" IdentifierName GlobalComplexType >
<xsd:attribute ComplexTypeAttribute name="name" IdentifierName ComplexTypeAttribute type="xsd:string" StringAttribute />
</xsd:complexType>
<xsd:complexType GlobalComplexType name="ObligationsType" IdentifierName GlobalComplexType ></xsd:complexType>
<xsd:element GlobalElement ElementTypeReference name="ObligationGroup" IdentifierName GlobalElement ElementTypeReference type="wsla:ObligationGroupType" GlobalElement ElementTypeReference />
<xsd:complexType GlobalComplexType GlobalComplexTypeEmptyExtension name="ObligationGroupType" IdentifierName GlobalComplexType >
<xsd:complexContent GlobalComplexTypeEmptyExtension ComplexTypeExtension >
<xsd:extension GlobalComplexTypeEmptyExtension ComplexTypeExtension base="wsla:ObligationObjectType" GlobalComplexTypeEmptyExtension ComplexTypeExtension ></xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:complexType GlobalComplexType name="ActionGuaranteeType" IdentifierName GlobalComplexType >
<xsd:attribute ComplexTypeAttribute name="name" IdentifierName ComplexTypeAttribute type="xsd:string" StringAttribute />
</xsd:complexType>
<xsd:complexType GlobalComplexType name="ServiceLevelObjectiveType" IdentifierName GlobalComplexType >
<xsd:attribute ComplexTypeAttribute name="name" IdentifierName ComplexTypeAttribute type="xsd:string" StringAttribute />
</xsd:complexType>
<xsd:element GlobalElement ElementTypeReference name="QualifiedAction" IdentifierName GlobalElement ElementTypeReference type="wsla:QualifiedActionType" GlobalElement ElementTypeReference ></xsd:element>
<xsd:complexType GlobalComplexType name="QualifiedActionType" IdentifierName GlobalComplexType >
<xsd:sequence ComplexTypeSequence > </xsd:sequence>
</xsd:complexType>
<xsd:complexType GlobalComplexType name="PredicateType" IdentifierName GlobalComplexType abstract="true" GlobalComplexTypeAbstract />
<xsd:complexType GlobalComplexType name="BinaryLogicOperatorType" IdentifierName GlobalComplexType ></xsd:complexType>
<xsd:complexType GlobalComplexType name="UnaryLogicOperatorType" IdentifierName GlobalComplexType >
<xsd:sequence ComplexTypeSequence ></xsd:sequence>
</xsd:complexType>
<!-- -->
<!-- Standard Extensions -->
<!-- -->
<!-- Standard Action Types -->
<xsd:complexType GlobalComplexType name="WSDLSOAPActionDescriptionType" IdentifierName GlobalComplexType >
<xsd:complexContent ComplexTypeSequenceExtension ComplexTypeExtension ></xsd:complexContent>
</xsd:complexType>
<xsd:complexType GlobalComplexType name="WSDLGetPostActionDescriptionType" IdentifierName GlobalComplexType >
<xsd:complexContent ComplexTypeSequenceExtension ComplexTypeExtension >
<xsd:extension ComplexTypeSequenceExtension ComplexTypeExtension base="wsla:ActionDescriptionType" ComplexTypeSequenceExtension ComplexTypeExtension ></xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<!-- Standard Service Object Description Types -->
<xsd:complexType GlobalComplexType name="WSDLSOAPOperationDescriptionType" IdentifierName GlobalComplexType >
<xsd:complexContent ComplexTypeSequenceExtension ComplexTypeExtension >
<xsd:extension ComplexTypeSequenceExtension ComplexTypeExtension base="wsla:OperationDescriptionType" ComplexTypeSequenceExtension ComplexTypeExtension ></xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element GlobalElement ElementTypeReference SubstitutionGroup name="WSDLSOAPOperation" IdentifierName GlobalElement ElementTypeReference SubstitutionGroup substitutionGroup="wsla:Operation" SubstitutionGroup type="wsla:WSDLSOAPOperationDescriptionType" GlobalElement ElementTypeReference />
<xsd:complexType GlobalComplexType name="StringOperationDescriptionType" IdentifierName GlobalComplexType >
<xsd:complexContent ComplexTypeSequenceExtension ComplexTypeExtension >
<xsd:extension ComplexTypeSequenceExtension ComplexTypeExtension base="wsla:OperationDescriptionType" ComplexTypeSequenceExtension ComplexTypeExtension >
<xsd:sequence ComplexTypeSequenceExtension ></xsd:sequence>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<!-- Standard Measurement Directive Types -->
<xsd:complexType GlobalComplexType name="Counter" IdentifierName GlobalComplexType >
<xsd:complexContent ComplexTypeSequenceExtension ComplexTypeExtension >
<xsd:extension ComplexTypeSequenceExtension ComplexTypeExtension base="wsla:MeasurementDirectiveType" ComplexTypeSequenceExtension ComplexTypeExtension >
<xsd:sequence ComplexTypeSequenceExtension ></xsd:sequence>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:complexType GlobalComplexType name="Gauge" IdentifierName GlobalComplexType >
<xsd:complexContent ComplexTypeSequenceExtension ComplexTypeExtension >
<xsd:extension ComplexTypeSequenceExtension ComplexTypeExtension base="wsla:MeasurementDirectiveType" ComplexTypeSequenceExtension ComplexTypeExtension >
<xsd:sequence ComplexTypeSequenceExtension ></xsd:sequence>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:complexType GlobalComplexType name="ResponseTime" IdentifierName GlobalComplexType >
<xsd:complexContent ComplexTypeSequenceExtension ComplexTypeExtension >
<xsd:extension ComplexTypeSequenceExtension ComplexTypeExtension base="wsla:MeasurementDirectiveType" ComplexTypeSequenceExtension ComplexTypeExtension >
<xsd:sequence ComplexTypeSequenceExtension ></xsd:sequence>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:complexType GlobalComplexType GlobalComplexTypeEmptyExtension name="SumResponseTime" IdentifierName GlobalComplexType >
<xsd:complexContent GlobalComplexTypeEmptyExtension ComplexTypeExtension >
<xsd:extension GlobalComplexTypeEmptyExtension ComplexTypeExtension base="wsla:MeasurementDirectiveType" GlobalComplexTypeEmptyExtension ComplexTypeExtension ></xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:complexType GlobalComplexType name="Status" IdentifierName GlobalComplexType ></xsd:complexType>
<xsd:complexType GlobalComplexType name="InvocationCount" IdentifierName GlobalComplexType >
<xsd:complexContent ComplexTypeSequenceExtension ComplexTypeExtension >
<xsd:extension ComplexTypeSequenceExtension ComplexTypeExtension base="wsla:MeasurementDirectiveType" ComplexTypeSequenceExtension ComplexTypeExtension >
<xsd:sequence ComplexTypeSequenceExtension ></xsd:sequence>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:complexType GlobalComplexType name="StatusRequest" IdentifierName GlobalComplexType >
<xsd:complexContent ComplexTypeSequenceExtension ComplexTypeExtension >
<xsd:extension ComplexTypeSequenceExtension ComplexTypeExtension base="wsla:MeasurementDirectiveType" ComplexTypeSequenceExtension ComplexTypeExtension >
<xsd:sequence ComplexTypeSequenceExtension ></xsd:sequence>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:complexType GlobalComplexType name="Downtime" IdentifierName GlobalComplexType >
<xsd:complexContent ComplexTypeSequenceExtension ComplexTypeExtension >
<xsd:extension ComplexTypeSequenceExtension ComplexTypeExtension base="wsla:MeasurementDirectiveType" ComplexTypeSequenceExtension ComplexTypeExtension >
<xsd:sequence ComplexTypeSequenceExtension ></xsd:sequence>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:complexType GlobalComplexType name="MaintenancePeriodQuery" IdentifierName GlobalComplexType >
<xsd:complexContent ComplexTypeSequenceExtension ComplexTypeExtension >
<xsd:extension ComplexTypeSequenceExtension ComplexTypeExtension base="wsla:MeasurementDirectiveType" ComplexTypeSequenceExtension ComplexTypeExtension >
<xsd:sequence ComplexTypeSequenceExtension ></xsd:sequence>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<!-- Standard Functions -->
<xsd:complexType GlobalComplexType name="QConstructor" IdentifierName GlobalComplexType >
<xsd:complexContent ComplexTypeSequenceExtension ComplexTypeExtension >
<xsd:extension ComplexTypeSequenceExtension ComplexTypeExtension base="wsla:FunctionType" ComplexTypeSequenceExtension ComplexTypeExtension >
<xsd:sequence ComplexTypeSequenceExtension >
<xsd:choice SequenceChoice >
<xsd:element ChoiceElement name="Metric" IdentifierName type="xsd:string" StringElement />
<xsd:element ChoiceElement ElementTypeReference name="Function" IdentifierName ElementTypeReference type="wsla:FunctionType" ElementTypeReference />
</xsd:choice>
</xsd:sequence>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:complexType GlobalComplexType name="TSConstructor" IdentifierName GlobalComplexType >
<xsd:complexContent ComplexTypeSequenceExtension ComplexTypeExtension >
<xsd:extension ComplexTypeSequenceExtension ComplexTypeExtension base="wsla:FunctionType" ComplexTypeSequenceExtension ComplexTypeExtension >
<xsd:sequence ComplexTypeSequenceExtension >
<xsd:choice SequenceChoice >
<xsd:element ChoiceElement name="Metric" IdentifierName type="xsd:string" StringElement />
<xsd:element ChoiceElement ElementTypeReference name="Function" IdentifierName ElementTypeReference type="wsla:FunctionType" ElementTypeReference />
</xsd:choice>
</xsd:sequence>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:complexType GlobalComplexType name="Size" IdentifierName GlobalComplexType ></xsd:complexType>
<xsd:complexType GlobalComplexType name="Mean" IdentifierName GlobalComplexType >
<xsd:complexContent ComplexTypeSequenceExtension ComplexTypeExtension >
<xsd:extension ComplexTypeSequenceExtension ComplexTypeExtension base="wsla:FunctionType" ComplexTypeSequenceExtension ComplexTypeExtension >
<xsd:sequence ComplexTypeSequenceExtension >
<xsd:choice SequenceChoice >
<xsd:element ChoiceElement name="Metric" IdentifierName type="xsd:string" StringElement />
<xsd:element ChoiceElement ElementTypeReference name="Function" IdentifierName ElementTypeReference type="wsla:FunctionType" ElementTypeReference />
</xsd:choice>
</xsd:sequence>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:complexType GlobalComplexType name="Median" IdentifierName GlobalComplexType >
<xsd:complexContent ComplexTypeSequenceExtension ComplexTypeExtension >
<xsd:extension ComplexTypeSequenceExtension ComplexTypeExtension base="wsla:FunctionType" ComplexTypeSequenceExtension ComplexTypeExtension >
<xsd:sequence ComplexTypeSequenceExtension >
<xsd:choice SequenceChoice >
<xsd:element ChoiceElement name="Metric" IdentifierName type="xsd:string" StringElement />
<xsd:element ChoiceElement ElementTypeReference name="Function" IdentifierName ElementTypeReference type="wsla:FunctionType" ElementTypeReference />
</xsd:choice>
</xsd:sequence>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:complexType GlobalComplexType name="Mode" IdentifierName GlobalComplexType >
<xsd:complexContent ComplexTypeSequenceExtension ComplexTypeExtension >
<xsd:extension ComplexTypeSequenceExtension ComplexTypeExtension base="wsla:FunctionType" ComplexTypeSequenceExtension ComplexTypeExtension >
<xsd:sequence ComplexTypeSequenceExtension >
<xsd:choice SequenceChoice >
<xsd:element ChoiceElement name="Metric" IdentifierName type="xsd:string" StringElement />
<xsd:element ChoiceElement ElementTypeReference name="Function" IdentifierName ElementTypeReference type="wsla:FunctionType" ElementTypeReference />
</xsd:choice>
</xsd:sequence>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:complexType GlobalComplexType name="Round" IdentifierName GlobalComplexType >
<xsd:complexContent ComplexTypeSequenceExtension ComplexTypeExtension >
<xsd:extension ComplexTypeSequenceExtension ComplexTypeExtension base="wsla:FunctionType" ComplexTypeSequenceExtension ComplexTypeExtension >
<xsd:sequence ComplexTypeSequenceExtension >
<xsd:choice SequenceChoice >
<xsd:element ChoiceElement name="Metric" IdentifierName type="xsd:string" StringElement />
<xsd:element ChoiceElement ElementTypeReference name="Function" IdentifierName ElementTypeReference type="wsla:FunctionType" ElementTypeReference />
</xsd:choice>
</xsd:sequence>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:complexType GlobalComplexType name="Max" IdentifierName GlobalComplexType >
<xsd:complexContent ComplexTypeSequenceExtension ComplexTypeExtension >
<xsd:extension ComplexTypeSequenceExtension ComplexTypeExtension base="wsla:FunctionType" ComplexTypeSequenceExtension ComplexTypeExtension >
<xsd:sequence ComplexTypeSequenceExtension >
<xsd:choice SequenceChoice >
<xsd:element ChoiceElement name="Metric" IdentifierName type="xsd:string" StringElement />
<xsd:element ChoiceElement ElementTypeReference name="Function" IdentifierName ElementTypeReference type="wsla:FunctionType" ElementTypeReference />
</xsd:choice>
</xsd:sequence>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:complexType GlobalComplexType name="Sum" IdentifierName GlobalComplexType >
<xsd:complexContent ComplexTypeSequenceExtension ComplexTypeExtension >
<xsd:extension ComplexTypeSequenceExtension ComplexTypeExtension base="wsla:FunctionType" ComplexTypeSequenceExtension ComplexTypeExtension >
<xsd:sequence ComplexTypeSequenceExtension >
<xsd:choice SequenceChoice >
<xsd:element ChoiceElement name="Metric" IdentifierName type="xsd:string" StringElement />
<xsd:element ChoiceElement ElementTypeReference name="Function" IdentifierName ElementTypeReference type="wsla:FunctionType" ElementTypeReference />
</xsd:choice>
</xsd:sequence>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:complexType GlobalComplexType name="ValueOccurs" IdentifierName GlobalComplexType >
<xsd:complexContent ComplexTypeSequenceExtension ComplexTypeExtension >
<xsd:extension ComplexTypeSequenceExtension ComplexTypeExtension base="wsla:FunctionType" ComplexTypeSequenceExtension ComplexTypeExtension >
<xsd:sequence ComplexTypeSequenceExtension >
<xsd:choice SequenceChoice >
<xsd:element ChoiceElement name="Metric" IdentifierName type="xsd:string" StringElement />
<xsd:element ChoiceElement ElementTypeReference name="Function" IdentifierName ElementTypeReference type="wsla:FunctionType" ElementTypeReference />
</xsd:choice>
</xsd:sequence>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:complexType GlobalComplexType name="PercentageGreaterThanThreshold" IdentifierName GlobalComplexType >
<xsd:complexContent ComplexTypeSequenceExtension ComplexTypeExtension >
<xsd:extension ComplexTypeSequenceExtension ComplexTypeExtension base="wsla:FunctionType" ComplexTypeSequenceExtension ComplexTypeExtension >
<xsd:sequence ComplexTypeSequenceExtension >
<xsd:choice SequenceChoice >
<xsd:element ChoiceElement name="Metric" IdentifierName type="xsd:string" StringElement />
<xsd:element ChoiceElement ElementTypeReference name="Function" IdentifierName ElementTypeReference type="wsla:FunctionType" ElementTypeReference />
</xsd:choice>
</xsd:sequence>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:complexType GlobalComplexType name="PercentageLessThanThreshold" IdentifierName GlobalComplexType >
<xsd:complexContent ComplexTypeSequenceExtension ComplexTypeExtension >
<xsd:extension ComplexTypeSequenceExtension ComplexTypeExtension base="wsla:FunctionType" ComplexTypeSequenceExtension ComplexTypeExtension >
<xsd:sequence ComplexTypeSequenceExtension >
<xsd:choice SequenceChoice >
<xsd:element ChoiceElement name="Metric" IdentifierName type="xsd:string" StringElement />
<xsd:element ChoiceElement ElementTypeReference name="Function" IdentifierName ElementTypeReference type="wsla:FunctionType" ElementTypeReference />
</xsd:choice>
</xsd:sequence>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:complexType GlobalComplexType name="NumberGreaterThanThreshold" IdentifierName GlobalComplexType >
<xsd:complexContent ComplexTypeSequenceExtension ComplexTypeExtension >
<xsd:extension ComplexTypeSequenceExtension ComplexTypeExtension base="wsla:FunctionType" ComplexTypeSequenceExtension ComplexTypeExtension >
<xsd:sequence ComplexTypeSequenceExtension >
<xsd:choice SequenceChoice >
<xsd:element ChoiceElement name="Metric" IdentifierName type="xsd:string" StringElement />
<xsd:element ChoiceElement ElementTypeReference name="Function" IdentifierName ElementTypeReference type="wsla:FunctionType" ElementTypeReference />
</xsd:choice>
</xsd:sequence>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:complexType GlobalComplexType name="NumberLessThanThreshold" IdentifierName GlobalComplexType >
<xsd:complexContent ComplexTypeSequenceExtension ComplexTypeExtension >
<xsd:extension ComplexTypeSequenceExtension ComplexTypeExtension base="wsla:FunctionType" ComplexTypeSequenceExtension ComplexTypeExtension >
<xsd:sequence ComplexTypeSequenceExtension >
<xsd:choice SequenceChoice >
<xsd:element ChoiceElement name="Metric" IdentifierName type="xsd:string" StringElement />
<xsd:element ChoiceElement ElementTypeReference name="Function" IdentifierName ElementTypeReference type="wsla:FunctionType" ElementTypeReference />
</xsd:choice>
</xsd:sequence>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:complexType GlobalComplexType name="RateOfChange" IdentifierName GlobalComplexType >
<xsd:complexContent ComplexTypeSequenceExtension ComplexTypeExtension >
<xsd:extension ComplexTypeSequenceExtension ComplexTypeExtension base="wsla:FunctionType" ComplexTypeSequenceExtension ComplexTypeExtension >
<xsd:sequence ComplexTypeSequenceExtension >
<xsd:choice SequenceChoice >
<xsd:element ChoiceElement name="Metric" IdentifierName type="xsd:string" StringElement />
<xsd:element ChoiceElement ElementTypeReference name="Function" IdentifierName ElementTypeReference type="wsla:FunctionType" ElementTypeReference />
</xsd:choice>
</xsd:sequence>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:complexType GlobalComplexType name="Span" IdentifierName GlobalComplexType >
<xsd:complexContent ComplexTypeSequenceExtension ComplexTypeExtension >
<xsd:extension ComplexTypeSequenceExtension ComplexTypeExtension base="wsla:FunctionType" ComplexTypeSequenceExtension ComplexTypeExtension >
<xsd:sequence ComplexTypeSequenceExtension >
<xsd:choice SequenceChoice >
<xsd:element ChoiceElement name="Metric" IdentifierName type="xsd:string" StringElement />
<xsd:element ChoiceElement ElementTypeReference name="Function" IdentifierName ElementTypeReference type="wsla:FunctionType" ElementTypeReference />
</xsd:choice>
</xsd:sequence>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:complexType GlobalComplexType name="QualifyMeasurementTimeSeries" IdentifierName GlobalComplexType ></xsd:complexType>
<!-- Standard Predicate Types -->
<xsd:complexType GlobalComplexType name="NewValue" IdentifierName GlobalComplexType ></xsd:complexType>
<xsd:complexType GlobalComplexType name="Violation" IdentifierName GlobalComplexType >
<xsd:complexContent ComplexTypeSequenceExtension ComplexTypeExtension >
<xsd:extension ComplexTypeSequenceExtension ComplexTypeExtension base="wsla:PredicateType" ComplexTypeSequenceExtension ComplexTypeExtension >
<xsd:sequence ComplexTypeSequenceExtension >
<xsd:element SequenceElement ComplexTypeSequenceExtension name="ServiceLevelObjective" IdentifierName ComplexTypeSequenceExtension type="xsd:string" StringElement />
</xsd:sequence>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:complexType GlobalComplexType name="Greater" IdentifierName GlobalComplexType >
<xsd:complexContent ComplexTypeSequenceExtension ComplexTypeExtension ></xsd:complexContent>
</xsd:complexType>
<xsd:complexType GlobalComplexType name="Less" IdentifierName GlobalComplexType >
<xsd:complexContent ComplexTypeSequenceExtension ComplexTypeExtension ></xsd:complexContent>
</xsd:complexType>
<xsd:complexType GlobalComplexType name="Equal" IdentifierName GlobalComplexType >
<xsd:complexContent ComplexTypeSequenceExtension ComplexTypeExtension ></xsd:complexContent>
</xsd:complexType>
<xsd:complexType GlobalComplexType name="GreaterEqual" IdentifierName GlobalComplexType >
<xsd:complexContent ComplexTypeSequenceExtension ComplexTypeExtension ></xsd:complexContent>
</xsd:complexType>
<xsd:complexType GlobalComplexType name="LessEqual" IdentifierName GlobalComplexType >
<xsd:complexContent ComplexTypeSequenceExtension ComplexTypeExtension ></xsd:complexContent>
</xsd:complexType>
<xsd:complexType GlobalComplexType name="True" IdentifierName GlobalComplexType >
<xsd:complexContent ComplexTypeSequenceExtension ComplexTypeExtension ></xsd:complexContent>
</xsd:complexType>
<xsd:complexType GlobalComplexType name="False" IdentifierName GlobalComplexType >
<xsd:complexContent ComplexTypeSequenceExtension ComplexTypeExtension ></xsd:complexContent>
</xsd:complexType>
<!-- Action Invocation Types -->
<xsd:complexType GlobalComplexType ComplexTypeOnlyAttributes name="ActionInvocationType" IdentifierName GlobalComplexType ></xsd:complexType>
<xsd:complexType GlobalComplexType name="Notification" IdentifierName GlobalComplexType >
<xsd:complexContent ComplexTypeSequenceExtension ComplexTypeExtension >
<xsd:extension ComplexTypeSequenceExtension ComplexTypeExtension base="wsla:ActionInvocationType" ComplexTypeSequenceExtension ComplexTypeExtension >
<xsd:sequence ComplexTypeSequenceExtension >
<!-- Convention: Can be either: - "NONE" - <enumerated list of SLAParameter IDs> It is understood that only the relevant subset of parameters are actually sent. -->
</xsd:sequence>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:simpleType GlobalSimpleType name="NotificationType" IdentifierName GlobalSimpleType >
<xsd:restriction StringEnumerationType base="xsd:string" StringEnumerationType >
<xsd:enumeration StringEnumerationType value="Violation" StringEnumerationType />
<xsd:enumeration StringEnumerationType value="Information" StringEnumerationType />
</xsd:restriction>
</xsd:simpleType>
</xsd:schema>

This document was produced by the W3C XML Schema Patterns for Databinding Working Group. Comments on this document may be sent to the public public-xsd-databinding-comments@w3.org mailing list (public archive).