IBM BPM, V8.0.1, All platforms > Authoring services in Integration Designer > Developing monitor models > What are monitor models?
Monitor XML schema definition (monitor.xsd)
Monitor models for Business Monitor are in an XML format that is defined by the monitor.xsd schema definition.
The complete schema definition is provided on this page.
You can also download the schema definition from monitor.xsd.
<xsd:schema xmlns:mon="http://www.ibm.com/xmlns/prod/websphere/monitoring/8.0/mm" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsd="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.ibm.com/xmlns/prod/websphere/monitoring/8.0/mm"> <xsd:element name="monitor" type="mon:MonitorType" /> <xsd:complexType name="MonitorType" > <xsd:complexContent> <xsd:extension base="mon:NamedElementType"> <xsd:sequence> <xsd:element name="xpathFunctions" type="mon:XPathFunctionsType" minOccurs="0" maxOccurs="1"/> <xsd:element name="monitorDetailsModel" type="mon:MonitorDetailsModelType" minOccurs="1" maxOccurs="1"/> <xsd:element name="kpiModel" type="mon:KPIModelType" minOccurs="0" maxOccurs="1"/> <xsd:element name="dimensionalModel" type="mon:DimensionalModelType" minOccurs="0" maxOccurs="1"/> <xsd:element name="visualModel" type="mon:VisualModelType" minOccurs="0" maxOccurs="1"/> <xsd:element name="eventModel" type="mon:EventModelType" minOccurs="1" maxOccurs="1"/> </xsd:sequence> <xsd:attribute name="targetNamespace" type="xsd:anyURI" use="optional"/> <xsd:attribute name="timestamp" type="xsd:dateTime" use="required"/> </xsd:extension> </xsd:complexContent> </xsd:complexType> <xsd:complexType name="XPathFunctionsType"> <xsd:sequence> <xsd:element name="import" type="mon:ImportType" minOccurs="0" maxOccurs="unbounded" /> </xsd:sequence> </xsd:complexType> <!-- BASE DEFINITIONS START ================================================================================--> <xsd:complexType name="DescribableElementType" abstract="true" > <xsd:choice minOccurs="0" maxOccurs="1"> <xsd:element name="description" type="xsd:string"/> </xsd:choice> </xsd:complexType> <xsd:complexType name="NamedElementType" abstract="true" > <xsd:complexContent> <xsd:extension base="mon:DescribableElementType"> <xsd:attribute name="id" type="xsd:NCName" use="required"/> <xsd:attribute name="displayName" type="mon:NameType" use="optional"/> </xsd:extension> </xsd:complexContent> </xsd:complexType> <xsd:complexType name="ImportType" > <xsd:attribute name="location" type="xsd:anyURI" use="optional"/> <xsd:attribute name="namespace" type="xsd:anyURI" use="optional"/> </xsd:complexType> <xsd:complexType name="ReferenceType"> <xsd:attribute name="ref" type="xsd:string" use="required"/> </xsd:complexType> <xsd:simpleType name="NameType"> <xsd:restriction base="xsd:string"> <xsd:maxLength value="256"/> </xsd:restriction> </xsd:simpleType> <xsd:complexType name="ValueSpecificationType" > <xsd:choice minOccurs="1" maxOccurs="1"> <xsd:element name="singleValue" type="mon:ExpressionSpecificationType"/> <xsd:element name="assignments" type="mon:AssignmentListSpecificationType"/> </xsd:choice> </xsd:complexType> <xsd:complexType name="ExpressionSpecificationType" > <xsd:attribute name="expression" type="xsd:string" use="required"/> </xsd:complexType> <xsd:complexType name="AssignmentListSpecificationType" > <xsd:sequence> <xsd:element name="assignment" type="mon:AssignmentSpecificationType" minOccurs="1" maxOccurs="unbounded"/> </xsd:sequence> </xsd:complexType> <xsd:complexType name="AssignmentSpecificationType" > <xsd:attribute name="leftValue" type="xsd:string" use="required"/> <xsd:attribute name="rightValue" type="xsd:string" use="required"/> </xsd:complexType> <xsd:complexType name="TimeIntervalsType" > <xsd:attribute name="minutes" type="xsd:nonNegativeInteger" default="0" /> <xsd:attribute name="hours" type="xsd:nonNegativeInteger" default="0" /> <xsd:attribute name="days" type="xsd:nonNegativeInteger" default="0" /> </xsd:complexType> <xsd:simpleType name="AggregationType"> <xsd:restriction base="xsd:string"> <xsd:enumeration value="min"/> <xsd:enumeration value="max"/> <xsd:enumeration value="sum"/> <xsd:enumeration value="count"/> <xsd:enumeration value="avg"/> <xsd:enumeration value="stddev"/> <xsd:enumeration value="countdistinct"/> <xsd:enumeration value="median"/> <xsd:enumeration value="variance"/> </xsd:restriction> </xsd:simpleType> <!-- BASE DEFINITIONS END ================================================================================--> <!-- MONITOR DETAILS MODEL START =========================================================================--> <xsd:complexType name="MonitorDetailsModelNamedElementType" > <xsd:complexContent> <xsd:restriction base="mon:NamedElementType"> <xsd:choice minOccurs="0" maxOccurs="1"> <xsd:element name="description" type="xsd:string"/> </xsd:choice> <!-- The 'id' attribute is required to be 'fixed' because it is needed for path references, but has no semantic meaning --> <xsd:attribute name="id" type="xsd:NCName" use="required" fixed="MDM"/> </xsd:restriction> </xsd:complexContent> </xsd:complexType> <xsd:complexType name="MonitorDetailsModelType" > <xsd:complexContent> <xsd:extension base="mon:MonitorDetailsModelNamedElementType"> <xsd:choice minOccurs="0" maxOccurs="unbounded"> <xsd:element name="monitoringContext" type="mon:MonitoringContextType"/> </xsd:choice> </xsd:extension> </xsd:complexContent> </xsd:complexType> <xsd:complexType name="ContextType" > <xsd:complexContent> <xsd:extension base="mon:NamedElementType"> <xsd:choice minOccurs="0" maxOccurs="unbounded"> <xsd:element name="trigger" type="mon:TriggerType"/> <xsd:element name="inboundEvent" type="mon:InboundEventType"/> <xsd:element name="outboundEvent" type="mon:OutboundEventType"/> </xsd:choice> <xsd:attribute name="eventSequenceIDPath" type="xsd:string" use="optional"/> <xsd:attribute name="creationTimePath" type="xsd:string" use="optional"/> <xsd:attribute name="globalInstanceIDPath" type="xsd:string" use="optional"/> </xsd:extension> </xsd:complexContent> </xsd:complexType> <xsd:complexType name="MonitoringContextType" > <xsd:complexContent> <xsd:extension base="mon:ContextType"> <xsd:choice minOccurs="0" maxOccurs="unbounded"> <xsd:element name="metric" type="mon:MetricType"/> <xsd:element name="counter" type="mon:CounterType"/> <xsd:element name="stopwatch" type="mon:StopwatchType"/> <xsd:element name="monitoringContext" type="mon:MonitoringContextType"/> </xsd:choice> <xsd:attribute name="hideFromDashboards" type="xsd:boolean" use="optional" default="false"/> </xsd:extension> </xsd:complexContent> </xsd:complexType> <xsd:complexType name="BaseMetricType" abstract="true" > <xsd:complexContent> <xsd:extension base="mon:NamedElementType"> <xsd:attribute name="type" type="xsd:QName" use="required"/> <xsd:attribute name="isSortable" type="xsd:boolean" default="false"/> <xsd:attribute name="hideFromDashboards" type="xsd:boolean" use="optional" default="false"/> </xsd:extension> </xsd:complexContent> </xsd:complexType> <xsd:complexType name="StopwatchType" > <xsd:complexContent> <xsd:extension base="mon:BaseMetricType"> <xsd:choice minOccurs="0" maxOccurs="unbounded"> <xsd:element name="startedWhen" type="mon:ReferenceType" minOccurs="1" maxOccurs="unbounded"/> <xsd:element name="stoppedWhen" type="mon:ReferenceType" minOccurs="0" maxOccurs="unbounded"/> <xsd:element name="resetWhen" type="mon:ReferenceType" minOccurs="0" maxOccurs="unbounded"/> </xsd:choice> <xsd:attribute name="isAccumulated" type="xsd:boolean" default="false"/> </xsd:extension> </xsd:complexContent> </xsd:complexType> <xsd:complexType name="CounterType" > <xsd:complexContent> <xsd:extension base="mon:BaseMetricType"> <xsd:choice minOccurs="0" maxOccurs="unbounded"> <xsd:element name="incrementedWhen" type="mon:ReferenceType" minOccurs="0" maxOccurs="unbounded"/> <xsd:element name="decrementedWhen" type="mon:ReferenceType" minOccurs="0" maxOccurs="unbounded"/> <xsd:element name="setToZeroWhen" type="mon:ReferenceType" minOccurs="0" maxOccurs="unbounded"/> </xsd:choice> </xsd:extension> </xsd:complexContent> </xsd:complexType> <xsd:complexType name="MetricType" > <xsd:complexContent> <xsd:extension base="mon:BaseMetricType"> <xsd:sequence> <xsd:element name="map" type="mon:MapType" minOccurs="0" maxOccurs="unbounded"/> <xsd:element name="defaultValue" type="mon:ValueSpecificationType" minOccurs="0" maxOccurs="1"/> </xsd:sequence> <xsd:attribute name="isPartOfKey" type="xsd:boolean" default="false"/> <xsd:attribute name="valueRequired" type="xsd:boolean" default="false"/> <xsd:attribute name="maxStringLength" type="xsd:integer" default="256"/> <xsd:attribute name="isMultiByte" type="xsd:boolean" default="false"/> </xsd:extension> </xsd:complexContent> </xsd:complexType> <xsd:complexType name="TriggerType" > <xsd:complexContent> <xsd:extension base="mon:NamedElementType"> <xsd:sequence> <xsd:choice minOccurs="1" maxOccurs="unbounded"> <xsd:element name="onTrigger" type="mon:ReferenceType"/> <xsd:element name="evaluationTime" type="mon:TimeIntervalsType"/> <xsd:element name="onValueChange" type="mon:ReferenceType"/> <xsd:element name="onEvent" type="mon:ReferenceType" /> <xsd:element name="evaluateAtDateTime" type="mon:ExpressionSpecificationType" /> <xsd:element name="evaluateAtTimeEachDay" type="mon:ValueSpecificationType" /> </xsd:choice> <xsd:element name="gatingCondition" type="mon:ExpressionSpecificationType" minOccurs="0" maxOccurs="1"/> </xsd:sequence> <xsd:attribute name="isRepeatable" type="xsd:boolean" default="false"/> <xsd:attribute name="terminateContext" type="xsd:boolean" default="false"/> </xsd:extension> </xsd:complexContent> </xsd:complexType> <xsd:complexType name="InboundEventType" > <xsd:complexContent> <xsd:extension base="mon:NamedElementType"> <xsd:sequence> <xsd:element name="eventPart" type="mon:EventPartType" minOccurs="0" maxOccurs="unbounded" /> <xsd:element name="correlationPredicate" type="mon:ExpressionSpecificationType" minOccurs="0" maxOccurs="1" /> <xsd:element name="filter" type="mon:ExpressionSpecificationType" minOccurs="0" maxOccurs="1" /> <xsd:element name="parentCorrelationPredicate" type="mon:ExpressionSpecificationType" minOccurs="0" maxOccurs="1" /> </xsd:sequence> <xsd:attribute name="rootElement" type="xsd:QName" use="required" /> <xsd:attribute name="extensionName" type="xsd:string" use="optional" /> <xsd:attribute name="eventSequenceIDPath" type="xsd:string" use="optional"/> <xsd:attribute name="creationTimePath" type="xsd:string" use="optional"/> <xsd:attribute name="globalInstanceIDPath" type="xsd:string" use="optional"/> <xsd:attribute name="noCorrelationMatches" type="mon:EventDeliveryOptionNoMatchesType" use="optional"/> <xsd:attribute name="oneCorrelationMatch" type="mon:EventDeliveryOptionOneMatchType" use="optional"/> <xsd:attribute name="multipleCorrelationMatches" type="mon:EventDeliveryOptionMultipleMatchesType" use="optional"/> <xsd:attribute name="terminateContext" type="xsd:boolean" default="false"/> <xsd:attribute name="eventPartitionPath" type="xsd:string" use="optional"/> </xsd:extension> </xsd:complexContent> </xsd:complexType> <xsd:complexType name="OutboundEventType" > <xsd:complexContent> <xsd:extension base="mon:NamedElementType"> <xsd:sequence> <xsd:element name="eventPart" type="mon:EventPartType" minOccurs="0" maxOccurs="unbounded" /> <xsd:element name="map" type="mon:MapType" minOccurs="1" maxOccurs="unbounded"/> <xsd:element name="filter" type="mon:ExpressionSpecificationType" minOccurs="0" maxOccurs="1"/> </xsd:sequence> <xsd:attribute name="rootElement" type="xsd:QName" use="required" /> <xsd:attribute name="extensionName" type="xsd:string" use="optional" /> </xsd:extension> </xsd:complexContent> </xsd:complexType> <xsd:complexType name="EventPartType"> <xsd:complexContent> <xsd:extension base="mon:NamedElementType"> <xsd:attribute name="path" type="xsd:string" use="required"/> <xsd:attribute name="type" type="xsd:QName" use="optional"/> </xsd:extension> </xsd:complexContent> </xsd:complexType> <xsd:complexType name="MapType" > <xsd:complexContent> <xsd:extension base="mon:DescribableElementType"> <xsd:sequence> <xsd:element name="trigger" type="mon:ReferenceType" minOccurs="0" maxOccurs="1" /> <xsd:element name="outputValue" type="mon:ValueSpecificationType" minOccurs="1" maxOccurs="1" /> </xsd:sequence> </xsd:extension> </xsd:complexContent> </xsd:complexType> <xsd:simpleType name="EventDeliveryOptionNoMatchesType"> <xsd:restriction base="xsd:string"> <xsd:enumeration value="ignore"/> <xsd:enumeration value="raiseException"/> <xsd:enumeration value="createNewContext"/> <xsd:enumeration value="retry"/> </xsd:restriction> </xsd:simpleType> <xsd:simpleType name="EventDeliveryOptionOneMatchType"> <xsd:restriction base="xsd:string"> <xsd:enumeration value="ignore"/> <xsd:enumeration value="raiseException"/> <xsd:enumeration value="deliverEvent"/> </xsd:restriction> </xsd:simpleType> <xsd:simpleType name="EventDeliveryOptionMultipleMatchesType"> <xsd:restriction base="xsd:string"> <xsd:enumeration value="ignore"/> <xsd:enumeration value="raiseException"/> <xsd:enumeration value="deliverToAny"/> <xsd:enumeration value="deliverToAll"/> </xsd:restriction> </xsd:simpleType> <!-- MONITOR DETAILS MODEL END ========================================================================--> <!-- KPI MODEL START ==================================================================================--> <xsd:complexType name="KPIModelType" > <xsd:complexContent> <xsd:extension base="mon:KPIModelNamedElementType"> <xsd:choice minOccurs="0" maxOccurs="unbounded"> <xsd:element name="kpiContext" type="mon:KPIContextType"/> </xsd:choice> </xsd:extension> </xsd:complexContent> </xsd:complexType> <xsd:complexType name="KPIModelNamedElementType" > <xsd:complexContent> <xsd:restriction base="mon:NamedElementType"> <xsd:choice minOccurs="0" maxOccurs="1"> <xsd:element name="description" type="xsd:string"/> </xsd:choice> <!-- The 'id' attribute is required to be 'fixed' because it is needed for path references, but has no semantic meaning --> <xsd:attribute name="id" type="xsd:NCName" use="required" fixed="KM"/> </xsd:restriction> </xsd:complexContent> </xsd:complexType> <xsd:complexType name="KPIContextType" > <xsd:complexContent> <xsd:extension base="mon:ContextType"> <xsd:choice minOccurs="0" maxOccurs="unbounded"> <xsd:element name="kpi" type="mon:KPIType"/> </xsd:choice> </xsd:extension> </xsd:complexContent> </xsd:complexType> <xsd:complexType name="KPIType" > <xsd:complexContent> <xsd:extension base="mon:NamedElementType"> <xsd:sequence> <xsd:choice minOccurs="1" maxOccurs="1"> <xsd:element name="aggregatedDefinition" type="mon:KPIAggregatedDefinitionType"/> <xsd:element name="calculatedDefinition" type="mon:KPICalculatedDefinitionType"/> </xsd:choice> <xsd:element name="target" type="mon:TargetValueType" minOccurs="0" maxOccurs="1" /> <xsd:element name="range" type="mon:RangeType" minOccurs="0" maxOccurs="unbounded"/> </xsd:sequence> <xsd:attribute name="type" type="xsd:QName" use="required"/> <xsd:attribute name="rangeType" type="mon:RangeTypeType" use="required"/> <xsd:attribute name="enableKpiHistory" type="xsd:boolean" default="true"/> <xsd:attribute name="currency" type="mon:KPICurrencyType" use="optional"/> <xsd:attribute name="decimalPrecision" type="xsd:nonNegativeInteger" default="0"/> <xsd:attribute name="showPercent" type="xsd:boolean" default="false"/> <xsd:attribute name="hideFromDashboards" type="xsd:boolean" use="optional" default="false"/> </xsd:extension> </xsd:complexContent> </xsd:complexType> <xsd:complexType name="TargetValueType"> <xsd:complexContent> <xsd:extension base="mon:NamedElementType"> <xsd:attribute name="value" type="xsd:decimal" use="optional"/> </xsd:extension> </xsd:complexContent> </xsd:complexType> <xsd:complexType name="KPIAggregatedDefinitionType"> <xsd:sequence> <xsd:element name="monitoringContext" type="mon:ReferenceType" minOccurs="1" maxOccurs="1"/> <xsd:element name="metric" type="mon:ReferenceType" minOccurs="1" maxOccurs="1"/> <xsd:element name="metricFilter" type="mon:KPIMetricFilterRefType" minOccurs="0" maxOccurs="unbounded"/> <xsd:element name="dateTimeMetricFilter" type="mon:KPIDateTimeMetricFilterRefType" minOccurs="0" maxOccurs="1"/> </xsd:sequence> <xsd:attribute name="aggregationType" type="mon:AggregationType" use="required"/> <xsd:attribute name="versionAggregation" type="mon:VersionAggregationType" default="allVersions"/> </xsd:complexType> <xsd:simpleType name="VersionAggregationType"> <xsd:restriction base="xsd:string"> <xsd:enumeration value="singleVersion"/> <xsd:enumeration value="allVersions"/> </xsd:restriction> </xsd:simpleType> <xsd:complexType name="KPICalculatedDefinitionType"> <xsd:sequence> <xsd:element name="kpiCalculation" type="mon:ExpressionSpecificationType" minOccurs="1" maxOccurs="1"/> </xsd:sequence> </xsd:complexType> <xsd:complexType name="KPIDateTimeMetricFilterRefType"> <xsd:complexContent> <xsd:extension base="mon:ReferenceType"> <xsd:choice minOccurs="1" maxOccurs="1"> <xsd:element name="repeatingPeriod" type="mon:DateTimeDimensionRepeatingPeriodType"/> <xsd:element name="rollingPeriod" type="mon:DateTimeDimensionRollingPeriodType"/> <xsd:element name="fixedPeriod" type="mon:DateTimeDimensionFixedPeriodType"/> </xsd:choice> </xsd:extension> </xsd:complexContent> </xsd:complexType> <xsd:complexType name="DateTimeDimensionRepeatingPeriodType"> <xsd:attribute name="periodType" type="mon:RepeatingPeriodTypeType" use="required"/> <xsd:attribute name="periodBasis" type="mon:PeriodBasisType" use="required"/> <xsd:attribute name="timezone" type="xsd:string" use="required"/> </xsd:complexType> <xsd:complexType name="DateTimeDimensionRollingPeriodType"> <xsd:attribute name="numPeriods" type="xsd:positiveInteger" use="required"/> <xsd:attribute name="periodType" type="mon:RollingPeriodTypeType" use="required"/> </xsd:complexType> <xsd:complexType name="DateTimeDimensionFixedPeriodType"> <!-- These datetime attributes must be timezoned --> <xsd:attribute name="startDate" type="xsd:dateTime" use="optional"/> <xsd:attribute name="endDate" type="xsd:dateTime" use="optional"/> <xsd:attribute name="timezone" type="xsd:string" use="required"/> </xsd:complexType> <xsd:simpleType name="RepeatingPeriodTypeType"> <xsd:restriction base="xsd:string"> <xsd:enumeration value="daily"/> <xsd:enumeration value="monthly"/> <xsd:enumeration value="quarterly"/> <xsd:enumeration value="yearly"/> </xsd:restriction> </xsd:simpleType> <xsd:simpleType name="RollingPeriodTypeType"> <xsd:restriction base="xsd:string"> <xsd:enumeration value="minutes"/> <xsd:enumeration value="hours"/> <xsd:enumeration value="days"/> <xsd:enumeration value="months"/> <xsd:enumeration value="years"/> </xsd:restriction> </xsd:simpleType> <xsd:simpleType name="PeriodBasisType"> <xsd:restriction base="xsd:string"> <xsd:enumeration value="previousPeriod"/> <xsd:enumeration value="periodInProgress"/> </xsd:restriction> </xsd:simpleType> <xsd:complexType name="KPIMetricFilterRefType"> <xsd:complexContent> <xsd:extension base="mon:ReferenceType"> <xsd:sequence> <xsd:element name="value" type="mon:ExpressionSpecificationType" minOccurs="0" maxOccurs="unbounded"/> </xsd:sequence> <xsd:attribute name="operator" type="mon:KPIMetricFilterOperatorType" use="required"/> <xsd:attribute name="isCaseSensitive" type="xsd:boolean" default="false"/> </xsd:extension> </xsd:complexContent> </xsd:complexType> <xsd:simpleType name="KPIMetricFilterOperatorType"> <xsd:restriction base="xsd:string"> <xsd:enumeration value="equals"/> <xsd:enumeration value="lessThan"/> <xsd:enumeration value="lessThanOrEquals"/> <xsd:enumeration value="greaterThan"/> <xsd:enumeration value="greaterThanOrEquals"/> <xsd:enumeration value="notEquals"/> <xsd:enumeration value="in"/> <xsd:enumeration value="notIn"/> <xsd:enumeration value="isNull"/> <xsd:enumeration value="isNotNull"/> <xsd:enumeration value="like"/> <xsd:enumeration value="isNotLike"/> </xsd:restriction> </xsd:simpleType> <xsd:simpleType name="KPICurrencyType"> <xsd:restriction base="xsd:string"> <xsd:pattern value="[A-Z]{3}"/> </xsd:restriction> </xsd:simpleType> <xsd:simpleType name="KPIRangeColorType"> <xsd:restriction base="xsd:string"> <xsd:length value="6"/> <xsd:pattern value="[0-9a-fA-F]{6}"/> </xsd:restriction> </xsd:simpleType> <xsd:complexType name="RangeType"> <xsd:complexContent> <xsd:extension base="mon:NamedElementType"> <xsd:sequence> <xsd:element name="startValue" type="mon:StartValueNamedElementType" minOccurs="1" maxOccurs="1"/> <xsd:element name="endValue" type="mon:EndValueNamedElementType" minOccurs="1" maxOccurs="1"/> </xsd:sequence> <xsd:attribute name="color" type="mon:KPIRangeColorType" use="optional"/> </xsd:extension> </xsd:complexContent> </xsd:complexType> <xsd:complexType name="StartNamedElementType" > <xsd:complexContent> <xsd:restriction base="mon:NamedElementType"> <xsd:choice minOccurs="0" maxOccurs="1"> <xsd:element name="description" type="xsd:string"/> </xsd:choice> <!-- The 'id' attribute is required to be 'fixed' because it is needed for path references, but has no semantic meaning --> <xsd:attribute name="id" type="xsd:NCName" use="required" fixed="startValue"/> </xsd:restriction> </xsd:complexContent> </xsd:complexType> <xsd:complexType name="StartValueNamedElementType" > <xsd:complexContent> <xsd:extension base="mon:StartNamedElementType"> <xsd:attribute name="value" type="xsd:decimal" use="required"/> </xsd:extension> </xsd:complexContent> </xsd:complexType> <xsd:complexType name="EndNamedElementType" > <xsd:complexContent> <xsd:restriction base="mon:NamedElementType"> <xsd:choice minOccurs="0" maxOccurs="1"> <xsd:element name="description" type="xsd:string"/> </xsd:choice> <!-- The 'id' attribute is required to be 'fixed' because it is needed for path references, but has no semantic meaning --> <xsd:attribute name="id" type="xsd:NCName" use="required" fixed="endValue"/> </xsd:restriction> </xsd:complexContent> </xsd:complexType> <xsd:complexType name="EndValueNamedElementType" > <xsd:complexContent> <xsd:extension base="mon:EndNamedElementType"> <xsd:attribute name="value" type="xsd:decimal" use="required"/> </xsd:extension> </xsd:complexContent> </xsd:complexType> <xsd:simpleType name="RangeTypeType"> <xsd:restriction base="xsd:string"> <xsd:enumeration value="actualValue"/> <xsd:enumeration value="percentage"/> </xsd:restriction> </xsd:simpleType> <!-- KPI MODEL END ==================================================================================--> <!-- DIMENSIONAL MODEL START ================================================================================--> <xsd:complexType name="DimensionalModelType" > <xsd:complexContent> <xsd:extension base="mon:DimensionalModelNamedElementType"> <xsd:sequence> <xsd:element name="cube" type="mon:CubeType" minOccurs="0" maxOccurs="unbounded"/> </xsd:sequence> </xsd:extension> </xsd:complexContent> </xsd:complexType> <xsd:complexType name="DimensionalModelNamedElementType" > <xsd:complexContent> <xsd:restriction base="mon:NamedElementType"> <xsd:choice minOccurs="0" maxOccurs="1"> <xsd:element name="description" type="xsd:string"/> </xsd:choice> <!-- The 'id' attribute is required to be 'fixed' because it is needed for path references, but has no semantic meaning --> <xsd:attribute name="id" type="xsd:NCName" use="required" fixed="DMM"/> </xsd:restriction> </xsd:complexContent> </xsd:complexType> <xsd:complexType name="CubeType"> <xsd:complexContent> <xsd:extension base="mon:NamedElementType"> <xsd:sequence> <xsd:element name="measure" type="mon:MeasureType" minOccurs="0" maxOccurs="unbounded"/> <xsd:element name="dimension" type="mon:DimensionType" minOccurs="0" maxOccurs="unbounded" /> <xsd:element name="report" type="mon:ReportType" minOccurs="0" maxOccurs="unbounded"/> </xsd:sequence> <xsd:attribute name="monitoringContext" type="xsd:string" use="required"/> </xsd:extension> </xsd:complexContent> </xsd:complexType> <xsd:complexType name="ReportType" > <xsd:complexContent> <xsd:extension base="mon:NamedElementType"> <xsd:attribute name="measureId" type="xsd:string" use="required"/> <xsd:attribute name="dimensionId" type="xsd:string" use="required"/> <xsd:attribute name="chartType" type="mon:ChartType" default="bar"/> </xsd:extension> </xsd:complexContent> </xsd:complexType> <xsd:complexType name="MeasureType" > <xsd:complexContent> <xsd:extension base="mon:NamedElementType"> <xsd:attribute name="source" type="xsd:string" use="required"/> <xsd:attribute name="aggregationType" type="mon:AggregationType" use="required"/> <xsd:attribute name="trackingKey" type="xsd:string" use="optional"/> </xsd:extension> </xsd:complexContent> </xsd:complexType> <xsd:complexType name="DimensionType" > <xsd:complexContent> <xsd:extension base="mon:NamedElementType"> <xsd:sequence> <xsd:element name="attribute" type="mon:DimensionAttributeType" minOccurs="1" maxOccurs="unbounded"/> </xsd:sequence> </xsd:extension> </xsd:complexContent> </xsd:complexType> <xsd:complexType name="DimensionAttributeType" > <xsd:complexContent> <xsd:extension base="mon:NamedElementType"> <xsd:attribute name="attributeSource" type="xsd:string" use="required"/> <xsd:attribute name="level" type="xsd:positiveInteger" use="required" /> </xsd:extension> </xsd:complexContent> </xsd:complexType> <xsd:simpleType name="ChartType"> <xsd:restriction base="xsd:string"> <xsd:enumeration value="bar"/> <xsd:enumeration value="pie"/> <xsd:enumeration value="line"/> <xsd:enumeration value="area"/> <xsd:enumeration value="scatter"/> <xsd:enumeration value="gauge"/> </xsd:restriction> </xsd:simpleType> <!-- DIMENSIONAL MODEL END ================================================================================--> <!-- VISUAL MODEL START ================================================================================--> <xsd:complexType name="VisualModelNamedElementType" > <xsd:complexContent> <xsd:restriction base="mon:NamedElementType"> <xsd:choice minOccurs="0" maxOccurs="1"> <xsd:element name="description" type="xsd:string"/> </xsd:choice> <!-- The 'id' attribute is required to be 'fixed' because it is needed for path references, but has no semantic meaning --> <xsd:attribute name="id" type="xsd:NCName" use="required" fixed="VM"/> </xsd:restriction> </xsd:complexContent> </xsd:complexType> <xsd:complexType name="VisualModelType"> <xsd:complexContent> <xsd:extension base="mon:VisualModelNamedElementType"> <xsd:sequence> <xsd:element name="visualization" type="mon:VisualizationType" minOccurs="0" maxOccurs="unbounded"/> </xsd:sequence> </xsd:extension> </xsd:complexContent> </xsd:complexType> <xsd:complexType name="VisualizationType"> <xsd:sequence> <xsd:element name="shapeSets" type="mon:ShapeSetsType" minOccurs="0" maxOccurs="1"/> <xsd:element name="actions" type="mon:ActionsType" minOccurs="0" maxOccurs="1"/> <xsd:element name="svgDocument" type="mon:SvgDocumentType" minOccurs="1" maxOccurs="1"/> </xsd:sequence> <xsd:attribute name="context" type="xsd:string" use="required"/> </xsd:complexType> <xsd:complexType name="ShapeSetsType"> <xsd:sequence> <xsd:element name="shapeSet" type="mon:ShapeSetType" minOccurs="0" maxOccurs="unbounded"/> </xsd:sequence> </xsd:complexType> <xsd:complexType name="ShapeSetType"> <xsd:complexContent> <xsd:extension base="mon:NamedElementType"> <xsd:sequence minOccurs="1" maxOccurs="1"> <xsd:element name="shapes" type="mon:ShapesListType"/> </xsd:sequence> </xsd:extension> </xsd:complexContent> </xsd:complexType> <xsd:simpleType name="ShapesListType"> <xsd:restriction base="xsd:NMTOKENS"> <xsd:minLength value="1"/> </xsd:restriction> </xsd:simpleType> <xsd:complexType name="ActionsType"> <xsd:choice minOccurs="0" maxOccurs="unbounded"> <xsd:element name="setColor" type="mon:SetColorType"/> <xsd:element name="setText" type="mon:SetTextType"/> <xsd:element name="hideShapes" type="mon:HideShapesType"/> <xsd:element name="setDiagramLink" type="mon:SetDiagramLinkType"/> <xsd:element name="sendHumanTaskNotification" type="mon:SetSelectionType"/> <xsd:element name="sendNotification" type="mon:SetSelectionType"/> </xsd:choice> </xsd:complexType> <xsd:complexType name="ActionType"> <!-- The value of 'condition' must be a valid XPath 1.0 expression --> <xsd:attribute name="condition" type="xsd:string" use="optional"/> </xsd:complexType> <xsd:complexType name="SvgDocumentType"> <xsd:choice> <!-- Used to import the SVG document --> <xsd:element name="import" type="mon:ImportType" /> </xsd:choice> </xsd:complexType> <xsd:complexType name="ShapeSetRefType"> <xsd:attribute name="ref" type="xsd:string" use="required"/> </xsd:complexType> <xsd:complexType name="PositionType"> <xsd:attribute name="x" type="xsd:integer" use="required"/> <xsd:attribute name="y" type="xsd:integer" use="required"/> </xsd:complexType> <!-- set color action --> <xsd:complexType name="SetColorType"> <xsd:complexContent> <xsd:extension base="mon:ActionType"> <xsd:sequence> <!-- String value must be the id of a shape set defined in the <shapeSets> element --> <xsd:element name="shapeSet" type="mon:ShapeSetRefType" minOccurs="1" maxOccurs="unbounded"/> </xsd:sequence> <!-- See http://www.w3.org/TR/REC-CSS2/syndata.html#value-def-color for description of color values --> <xsd:attribute name="outlineColor" type="xsd:string"/> <xsd:attribute name="fillColor" type="xsd:string"/> </xsd:extension> </xsd:complexContent> </xsd:complexType> <!-- set text action --> <xsd:complexType name="SetTextType"> <xsd:complexContent> <xsd:extension base="mon:ActionType"> <xsd:choice minOccurs="1" maxOccurs="1"> <xsd:element name="shapeSet" type="mon:ShapeSetRefType" /> <xsd:element name="textPosition" type="mon:PositionType" /> </xsd:choice> <!-- textValue must be a valid XPath 1.0 expression --> <xsd:attribute name="textValue" type="xsd:string" use="required"/> <!-- See http://www.w3.org/TR/REC-CSS2/syndata.html#value-def-color for description of color values --> <xsd:attribute name="textColor" type="xsd:string" use="optional"/> </xsd:extension> </xsd:complexContent> </xsd:complexType> <!-- hide shapes action --> <xsd:complexType name="HideShapesType"> <xsd:complexContent> <xsd:extension base="mon:ActionType"> <xsd:sequence> <!-- String value must be the name of a shape set defined in the <shapeSets> element --> <xsd:element name="shapeSet" type="mon:ShapeSetRefType" minOccurs="1" maxOccurs="unbounded"/> </xsd:sequence> </xsd:extension> </xsd:complexContent> </xsd:complexType> <!-- set diagram link action --> <xsd:complexType name="SetDiagramLinkType"> <xsd:complexContent> <xsd:extension base="mon:ActionType"> <xsd:sequence> <!-- String value must be the name of a shape set defined in the <shapeSets> element --> <xsd:element name="shapeSet" type="mon:ShapeSetRefType" minOccurs="1" maxOccurs="unbounded"/> </xsd:sequence> <xsd:attribute name="targetContext" type="xsd:string" use="required"/> </xsd:extension> </xsd:complexContent> </xsd:complexType> <xsd:complexType name="PropertyNameValueType"> <xsd:attribute name="name" type="xsd:string" use="required"/> <xsd:attribute name="value" type="xsd:string" use="optional"/> </xsd:complexType> <!-- set selection action --> <xsd:complexType name="SetSelectionType"> <xsd:complexContent> <xsd:extension base="mon:ActionType"> <xsd:choice minOccurs="1" maxOccurs="unbounded"> <!-- String value must be the name of a shape set defined in the <shapeSets> element --> <xsd:element name="shapeSet" type="mon:ShapeSetRefType" minOccurs="1" maxOccurs="unbounded"/> <xsd:element name="selectionProperty" type="mon:PropertyNameValueType" minOccurs="1" maxOccurs="unbounded"/> </xsd:choice> </xsd:extension> </xsd:complexContent> </xsd:complexType> <!-- VISUAL MODEL END ================================================================================--> <!-- EVENT MODEL START ================================================================================--> <xsd:complexType name="EventModelType" > <xsd:complexContent> <xsd:extension base="mon:EventModelNamedElementType"> <xsd:sequence> <xsd:element name="import" type="mon:ImportType" minOccurs="0" maxOccurs="unbounded" /> </xsd:sequence> </xsd:extension> </xsd:complexContent> </xsd:complexType> <xsd:complexType name="EventModelNamedElementType" > <xsd:complexContent> <xsd:restriction base="mon:NamedElementType"> <xsd:choice minOccurs="0" maxOccurs="1"> <xsd:element name="description" type="xsd:string"/> </xsd:choice> <!-- The 'id' attribute is required to be 'fixed' because it is needed for path references, but has no semantic meaning --> <xsd:attribute name="id" type="xsd:NCName" use="required" fixed="EM"/> </xsd:restriction> </xsd:complexContent> </xsd:complexType> <!-- EVENT MODEL END ================================================================================--> </xsd:schema>
- ID uniqueness constraints
The XML schema uses ID attributes to uniquely identify elements. IDs are also used to produce unique and valid names for the database objects that represent model objects, such as the name for the table used to store monitoring context instances. Each ID must be an XML non-colonized name (NCName), which means that it must start with a letter or underscore and that it can contain only letters, digits, underscores, hyphens, and periods.- Relative path context roots
An XML Path Language (XPath) expression is used in an instance document to refer from one element to another element or from an element to a metric (for example, a metric value expression). When the XPath expression refers to a metric, use a relative path.- XML schema (monitor.xsd) description
Monitor models for IBM Business Monitor are in XML format with an associated XML schema named monitor.xsd. The monitor.xsd schema includes simple and complex types.