Cisco GSS CLI-Based Global Server Load-Balancing Configuration Guide (Software Version 3.0)
Sticky and Proximity XML Schema Files
Downloads: This chapterpdf (PDF - 98.0KB) The complete bookPDF (PDF - 9.34MB) | Feedback

Sticky and Proximity XML Schema Files

Table Of Contents

Sticky and Proximity XML Schema Files

Sticky XML Schema File Contents

Proximity XML Schema File Contents


Sticky and Proximity XML Schema Files


The GSS includes two XML schema files that you can use to describe and validate the sticky XML and proximity XML output files. The sticky and proximity schemas consist of a series of elements, subelements, and attributes that appear in the XML output files to determine the appearance of the content in the XML file.

Each schema file, stickySchema.xsd and proximitySchema.xsd, resides in the /home directory upon boot up of a GSS device. The /home directory is where each XML output file resides.

This appendix describes how you can use the two XML schema files, included with the GSS, to describe and validate the sticky XML and proximity XML output files.

This chapter contains the following sections:

Sticky XML Schema File Contents

Proximity XML Schema File Contents

Sticky XML Schema File Contents

The following example identifies the contents of the sticky XML schema, stickySchema.xsd:

<xsd:schema xmlns="http://www.cisco.com/gss/sticky"
            xmlns:xsd="http://www.w3.org/2001/XMLSchema"
            targetNamespace="http://www.cisco.com/gss/sticky"
            elementFormDefault="qualified"
            attributeFormDefault="unqualified">

  <xsd:annotation>
    <xsd:documentation xml:lang="en">
      Cisco GSS Sticky Database
    </xsd:documentation>
  </xsd:annotation>

  <xsd:element name="Sticky_Database" type="StickyDatabaseType"/>
  <xsd:element name="Header" type="HeaderType"/>
  <xsd:element name="Source_Entries" type="SourceEntriesType"/>
  <xsd:element name="Source_Entry" type="SourceEntryType"/>
  <xsd:element name="Group_Entries" type="GroupEntriesType"/>
  <xsd:element name="Group_Entry" type="GroupEntryType"/>

  <xsd:complexType name="StickyDatabaseType">
    <xsd:sequence>
      <xsd:element ref="Header" minOccurs="1" maxOccurs="1"/>
      <xsd:element ref="Source_Entries" minOccurs="0" maxOccurs="1"/>
      <xsd:element name="Source_Entry_Count" type="xsd:integer"
                   minOccurs="0" maxOccurs="1"/>
      <xsd:element ref="Group_Entries" minOccurs="0" maxOccurs="1"/>
      <xsd:element name="Group_Entry_Count" type="xsd:integer"
                   minOccurs="0" maxOccurs="1"/>
    </xsd:sequence>
  </xsd:complexType>

  <xsd:complexType name="HeaderType">
    <xsd:sequence>
      <xsd:element name="Version" type="xsd:integer"
                   minOccurs="1" maxOccurs="1"/>
      <xsd:element name="Time_Stamp" type="xsd:string"
                   minOccurs="1" maxOccurs="1"/>
      <xsd:element name="Entry_Count" type="xsd:integer"
                   minOccurs="1" maxOccurs="1"/>
      <xsd:element name="Mask" type="xsd:string"
                   minOccurs="1" maxOccurs="1"/>
    </xsd:sequence>
  </xsd:complexType>

  <xsd:complexType name="SourceEntriesType">
    <xsd:sequence minOccurs="0" maxOccurs="unbounded">
      <xsd:element ref="Source_Entry" minOccurs="0"/>
    </xsd:sequence>
  </xsd:complexType>

  <xsd:complexType name="GroupEntriesType">
    <xsd:sequence minOccurs="0" maxOccurs="unbounded">
      <xsd:element ref="Group_Entry" minOccurs="0"/>
    </xsd:sequence>
  </xsd:complexType>

  <xsd:complexType name="SourceEntryType">
    <xsd:sequence>
      <xsd:element name="IP" type="xsd:string"
                   minOccurs="1" maxOccurs="1"/>
      <xsd:element name="D" type="xsd:string"
                   minOccurs="1" maxOccurs="1"/>
      <xsd:element name="R" type="xsd:string"
                   minOccurs="1" maxOccurs="1"/>
      <xsd:element name="A" type="xsd:string"
                   minOccurs="1" maxOccurs="1"/>
      <xsd:element name="H" type="xsd:integer"
                   minOccurs="1" maxOccurs="1"/>
      <xsd:element name="T" type="xsd:integer"
                   minOccurs="1" maxOccurs="1"/>
    </xsd:sequence>
  </xsd:complexType>

  <xsd:complexType name="GroupEntryType">
    <xsd:sequence>
      <xsd:choice minOccurs="1" maxOccurs="1">
        <xsd:element name="N" type="xsd:string"
                     minOccurs="1" maxOccurs="1"/>
        <xsd:element name="G" type="xsd:integer"
                     minOccurs="1" maxOccurs="1"/>
      </xsd:choice>
      <xsd:element name="D" type="xsd:string"
                   minOccurs="1" maxOccurs="1"/>
      <xsd:element name="R" type="xsd:string"
                   minOccurs="1" maxOccurs="1"/>
      <xsd:element name="A" type="xsd:string"
                   minOccurs="1" maxOccurs="1"/>
       <xsd:element name="H" type="xsd:integer"
                   minOccurs="1" maxOccurs="1"/>
      <xsd:element name="T" type="xsd:integer"
                   minOccurs="1" maxOccurs="1"/>
   </xsd:sequence>
  </xsd:complexType>

</xsd:schema>

Proximity XML Schema File Contents

The following example identifies the contents of the proximity XML schema, proximitySchema.xsd:

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

  <xsd:annotation>
    <xsd:documentation xml:lang="en">
      Cisco GSS Proximity Database
    </xsd:documentation>
  </xsd:annotation>

  <xsd:element name="ProximityDatabase" type="ProximityDatabaseType"/>
  <xsd:element name="Header" type="HeaderType"/>
  <xsd:element name="Entry" type="EntryType"/>
  <xsd:element name="ProbeTarget" type="ProbeTargetType"/>
  <xsd:element name="Zone" type="ZoneType"/>

  <xsd:complexType name="ProximityDatabaseType">
    <xsd:sequence>
      <xsd:element ref="Header" minOccurs="1" maxOccurs="1"/>
      <xsd:element ref="Entry" minOccurs="0" maxOccurs="unbounded"/>
    </xsd:sequence>
  </xsd:complexType>

  <xsd:complexType name="HeaderType">
    <xsd:sequence>
      <xsd:element name="Version" type="xsd:integer"
                   minOccurs="1" maxOccurs="1"/>
      <xsd:element name="Time_Stamp" type="xsd:string"
                   minOccurs="1" maxOccurs="1"/>
      <xsd:element name="EntryCount" type="xsd:integer"
                   minOccurs="1" maxOccurs="1"/>
    </xsd:sequence>
  </xsd:complexType>

  <xsd:complexType name="EntryType">
    <xsd:sequence>
      <xsd:element name="EntryID" type="xsd:string"
                   minOccurs="1" maxOccurs="1"/>
      <xsd:element name="ModificationTimeStamp" type="xsd:integer"
                   minOccurs="1" maxOccurs="1"/>
      <xsd:element name="Static" type="xsd:string"
                   minOccurs="1" maxOccurs="1"/>
      <xsd:element name="DirectProbingInProgress" type="xsd:string"
                   minOccurs="1" maxOccurs="1"/>
      <xsd:element name="HitTimeStamp" type="xsd:integer"
                   minOccurs="1" maxOccurs="1"/>
      <xsd:element name="HitCount" type="xsd:integer"
                   minOccurs="1" maxOccurs="1"/>
      <xsd:element ref="ProbeTarget" minOccurs="1" maxOccurs="1"/>
      <xsd:element ref="Zone" minOccurs="32" maxOccurs="32"/>
    </xsd:sequence>
  </xsd:complexType>

  <xsd:complexType name="ProbeTargetType">
    <xsd:sequence>
      <xsd:element name="IP" type="xsd:string"
                   minOccurs="1" maxOccurs="1"/>
      <xsd:element name="Method" type="xsd:string"
                   minOccurs="1" maxOccurs="1"/>
      <xsd:element name="Type" type="xsd:string"
                   minOccurs="1" maxOccurs="1"/>
   </xsd:sequence>
  </xsd:complexType>

  <xsd:complexType name="ZoneType">
    <xsd:sequence>
       <xsd:element name="ID" type="xsd:integer"
                   minOccurs="1" maxOccurs="1"/>
      <xsd:element name="RTT" type="xsd:integer"
                   minOccurs="1" maxOccurs="1"/>
      <xsd:element name="RefreshTime" type="xsd:integer"
                   minOccurs="1" maxOccurs="1"/>
   </xsd:sequence>
  </xsd:complexType>

  <xsd:simpleType name="StaticType">
    <xsd:restriction base="xsd:string">
      <xsd:enumeration value="true"/>
      <xsd:enumeration value="false"/>
    </xsd:restriction>
</xsd:simpleType>

  <xsd:simpleType name="MethodType">
    <xsd:restriction base="xsd:string">
      <xsd:enumeration value="TCP"/>
      <xsd:enumeration value="ICMP"/>
      <xsd:enumeration value="NotUsed"/>
    </xsd:restriction>
  </xsd:simpleType>

  <xsd:simpleType name="TypeOfType">
    <xsd:restriction base="xsd:string">
      <xsd:enumeration value="static"/>
      <xsd:enumeration value="non-static"/>
    </xsd:restriction>
  </xsd:simpleType>

  <xsd:simpleType name="ZoneIdType">
    <xsd:restriction base="xsd:integer">
      <xsd:minInclusive value="1"/>
      <xsd:maxInclusive value="32"/>
    </xsd:restriction>
  </xsd:simpleType>

</xsd:schema>