Query Schema XSD

The Query schema file.

Schema

The following is the XML schema definition.

Note: To ensure the following command does not run off the page, carriage returns have been inserted. A forward slash, “/", identifies where a carriage return has been added.
<?xml version="1.0" encoding="UTF-8"?>

<!--
Licensed Materials - Property of IBM
5724-W86, 5724-X63
© Copyright IBM Corporation 2010. All Rights Reserved.
US Government Users Restricted Rights- Use, duplication or disclosure
restricted by GSA ADP Schedule Contract with IBM Corp.
-->

<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
            elementFormDefault="qualified"
            attributeFormDefault="qualified">

  <xsd:annotation>
    <xsd:documentation>MDE (massive data extractor) data query</xsd:documentation>
    <xsd:appinfo></xsd:appinfo>
  </xsd:annotation>

  <xsd:element name="query">

    <xsd:annotation>
      <xsd:documentation></xsd:documentation>
    </xsd:annotation>

    <xsd:complexType>
      <xsd:sequence>
        <xsd:element name="resourcegroup" type="xsd:string" minOccurs="1" maxOccurs="1"/>
        <xsd:choice minOccurs="1" maxOccurs ="unbounded">
          <xsd:element name="metric" type="MetricType"/>
          <xsd:element name="attribute" type="AttributeType"/>
        </xsd:choice>
        <xsd:element name="granularity" type="GranularityType" minOccurs="0" maxOccurs="1"/>
        <xsd:element name="hint" type="HintType" minOccurs="0" maxOccurs="2"/>
        <xsd:element name="queryidentifier" type="NormalizedstringType" minOccurs="1" maxOccurs="1"/>
      </xsd:sequence>
    </xsd:complexType>
  </xsd:element>

  <!--  Normalized String Type -->
  <xsd:simpleType name="NormalizedstringType">
    <xsd:restriction base="xsd:string">
      <xsd:pattern value="([a-z|A-Z|0-9|_|\-])+"/>
    </xsd:restriction>
  </xsd:simpleType>

  <!--  Metric Type -->
  <xsd:complexType name="MetricType">
    <xsd:simpleContent >
      <xsd:extension base="xsd:string">
        <xsd:attribute name="alias" type="xsd:string" />
      </xsd:extension>
    </xsd:simpleContent>
  </xsd:complexType>
 
  <!--  Attribute Type -->
  <xsd:complexType name="AttributeType">
    <xsd:simpleContent>
      <xsd:extension base="xsd:string">
        <xsd:attribute name="alias" type="xsd:string" />
        <xsd:attribute name="name" type="xsd:boolean" />
        <xsd:attribute name="type" type="xsd:boolean" />
        <xsd:attribute name="result" type="xsd:boolean" />
      </xsd:extension>
    </xsd:simpleContent>
  </xsd:complexType>

 <!-- Granularity Type -->
  <xsd:simpleType name="GranularityType">
    <xsd:annotation>
      <xsd:documentation>Granularity types for mde</xsd:documentation>
    </xsd:annotation>
    <xsd:restriction base="xsd:string">
      <xsd:enumeration value="5min" />
      <xsd:enumeration value="10min" />
      <xsd:enumeration value="15min" />
      <xsd:enumeration value="20min" />
      <xsd:enumeration value="30min" />
      <xsd:enumeration value="1hour" />
      <xsd:enumeration value="2hour" />
      <xsd:enumeration value="3hour" />
      <xsd:enumeration value="day" />
      <xsd:enumeration value="week" />
      <xsd:enumeration value="month" />
    </xsd:restriction>
  </xsd:simpleType>

  <!-- Granularity Type -->
  <xsd:simpleType name="HintType">
    <xsd:annotation>
      <xsd:documentation>Hint content is restricted to the following options</xsd:documentation>
    </xsd:annotation>
    <xsd:restriction base="xsd:string">
      <xsd:enumeration value="ascending(resource)" />
      <xsd:enumeration value="descending(resource)" />
      <xsd:enumeration value="ascending(time)" />
      <xsd:enumeration value="descending(time)" />
      <xsd:enumeration value="includeNearRealTime" />
    </xsd:restriction>
  </xsd:simpleType>

</xsd:schema>