Resource Promotions

Resource

Promotions

Workspace

Sentinel Services

Path

/promotions

Operations

Operation

Retrieve a list of sub-resources offered by this resource

Request Method

GET

Path

/promotions

Parameters

Request Body

Not used

Success Result

200 OK

Response Headers

None

Response Body

/promotions/bucketsConfig

Operation

Retrieve a listing of Promotions Config entries

Request Method

GET

Path

/promotions/bucketsConfig

Parameters

  • rhinoInstanceId — the ID of the Rhino instance to connect to (as defined in REM)

  • page — the page to retrieve if results span multiple pages (default = 1 if not provided)

Request Body

Not used

Success Result

200 OK

Response Headers

None

Response Body

Operation

Create a new Promotions Config entry

Request Method

POST

Path

/promotions/bucketsConfig

Parameters

  • rhinoInstanceId — the ID of the Rhino instance to connect to (as defined in REM)

  • selectionKey — the Sentinel selection key scope to use

Request Body

Success Result

201 Created

Response Headers

Location — contains the URL to access the created record

Response Body

Not used

Operation

Delete an existing Promotions Config entry

Request Method

DELETE

Path

/promotions/bucketsConfig/{bucketName}

Parameters

  • rhinoInstanceId — the ID of the Rhino instance to connect to (as defined in REM)

  • selectionKey — the Sentinel selection key scope to use

Request Body

Not used

Success Result

204 No content

Response Headers

None

Response Body

Not used

Operation

Retrieve an existing Promotions Config entry

Request Method

GET

Path

/promotions/bucketsConfig/{bucketName}

Parameters

  • rhinoInstanceId — the ID of the Rhino instance to connect to (as defined in REM)

  • selectionKey — the Sentinel selection key scope to use

  • page — the page to retrieve if results span multiple pages (default = 1 if not provided)

Request Body

Not used

Success Result

200 OK

Response Headers

None

Response Body

Operation

Update an existing Promotions Config entry

Request Method

PUT

Path

/promotions/bucketsConfig/{bucketName}

Parameters

  • rhinoInstanceId — the ID of the Rhino instance to connect to (as defined in REM)

  • selectionKey — the Sentinel selection key scope to use

Request Body

Success Result

204 No content

Response Headers

None

Response Body

Not used

/promotions/configTables

Operation

Retrieve an existing promotion table or a listing of promotion tables

Request Method

GET

Path

/promotions/configTables

Parameters

  • rhinoInstanceId — the ID of the Rhino instance to connect to (as defined in REM)

  • page — the page to retrieve if results span multiple pages (default = 1 if not provided)

  • selectionKey — the Sentinel selection key scope to use

Request Body

Not used

Success Result

200 OK

Response Headers

None

Response Body

If scope is provided: PromotionTable Otherwise: PromotionTables

Operation

Create a new promotion table

Request Method

POST

Path

/promotions/configTables

Parameters

  • rhinoInstanceId — the ID of the Rhino instance to connect to (as defined in REM)

  • selectionKey — the Sentinel selection key scope to use

Request Body

Success Result

201 Created

Response Headers

Location — contains the URL to access the created record

Response Body

Not used

Operation

Update an existing promotion table

Request Method

PUT

Path

/promotions/configTables

Parameters

  • rhinoInstanceId — the ID of the Rhino instance to connect to (as defined in REM)

  • selectionKey — the Sentinel selection key scope to use

Request Body

Success Result

204 No content

Response Headers

None

Response Body

Not used

Operation

Delete an existing promotion table

Request Method

DELETE

Path

/promotions/configTables

Parameters

  • rhinoInstanceId — the ID of the Rhino instance to connect to (as defined in REM)

  • selectionKey — the Sentinel selection key scope to use

Request Body

Not used

Success Result

204 No content

Response Headers

None

Response Body

Not used

/promotions/sqlconfig

Operation

Create a new Promotions Config entry

Request Method

POST

Path

/promotions/sqlconfig

Parameters

  • rhinoInstanceId — the ID of the Rhino instance to connect to (as defined in REM)

  • selectionKey — the Sentinel selection key scope to use

Request Body

Success Result

201 Created

Response Headers

Location — contains the URL to access the created record

Response Body

Not used

Operation

Retrieve an existing Promotions Config entry or a listing of Promotions Config entries

Request Method

GET

Path

/promotions/sqlconfig

Parameters

  • rhinoInstanceId — the ID of the Rhino instance to connect to (as defined in REM)

  • selectionKey — the Sentinel selection key scope to use

  • page — the page to retrieve if results span multiple pages (default = 1 if not provided)

Request Body

Not used

Success Result

200 OK

Response Headers

None

Response Body

If scope is provided: PromotionsSqlConfig Otherwise: PromotionsSqlConfigs

Operation

Update an existing Promotions Config entry

Request Method

PUT

Path

/promotions/sqlconfig

Parameters

  • rhinoInstanceId — the ID of the Rhino instance to connect to (as defined in REM)

  • selectionKey — the Sentinel selection key scope to use

Request Body

Success Result

204 No content

Response Headers

None

Response Body

Not used

Operation

Delete an existing Promotions Config entry

Request Method

DELETE

Path

/promotions/sqlconfig

Parameters

  • rhinoInstanceId — the ID of the Rhino instance to connect to (as defined in REM)

  • selectionKey — the Sentinel selection key scope to use

Request Body

Not used

Success Result

204 No content

Response Headers

None

Response Body

Not used

/promotions/buckets

Operation

Retrieve an existing promotion bucket

Request Method

GET

Path

/promotions/buckets;subscriberId=?;bucketName=?

Parameters

  • rhinoInstanceId — the ID of the Rhino instance to connect to (as defined in REM)

  • selectionKey — the Sentinel selection key scope to use

  • page — the page to retrieve if results span multiple pages (default = 1 if not provided)

Request Body

Not used

Success Result

200 OK

Response Headers

None

Response Body

Operation

Create a new promotion bucket

Request Method

POST

Path

/promotions/buckets;subscriberId=?;bucketName=?

Parameters

  • rhinoInstanceId — the ID of the Rhino instance to connect to (as defined in REM)

  • selectionKey — the Sentinel selection key scope to use

Request Body

Success Result

201 Created

Response Headers

Location — contains the URL to access the created record

Response Body

Not used

Operation

Update an existing promotion bucket

Request Method

PUT

Path

/promotions/buckets;subscriberId=?;bucketName=?

Parameters

  • rhinoInstanceId — the ID of the Rhino instance to connect to (as defined in REM)

  • selectionKey — the Sentinel selection key scope to use

Request Body

Success Result

204 No content

Response Headers

None

Response Body

Not used

Operation

Delete an existing promotion bucket

Request Method

DELETE

Path

/promotions/buckets;subscriberId=?;bucketName=?

Parameters

  • rhinoInstanceId — the ID of the Rhino instance to connect to (as defined in REM)

  • selectionKey — the Sentinel selection key scope to use

Request Body

Not used

Success Result

204 No content

Response Headers

None

Response Body

Not used

/promotions/config

Operation

Create a new Promotions Config entry

Request Method

POST

Path

/promotions/config

Parameters

  • rhinoInstanceId — the ID of the Rhino instance to connect to (as defined in REM)

  • selectionKey — the Sentinel selection key scope to use

Request Body

Success Result

201 Created

Response Headers

Location — contains the URL to access the created record

Response Body

Not used

Operation

Retrieve an existing Promotions Config entry or a listing of Promotions Config entries

Request Method

GET

Path

/promotions/config

Parameters

  • rhinoInstanceId — the ID of the Rhino instance to connect to (as defined in REM)

  • selectionKey — the Sentinel selection key scope to use

  • page — the page to retrieve if results span multiple pages (default = 1 if not provided)

Request Body

Not used

Success Result

200 OK

Response Headers

None

Response Body

If scope is provided: PromotionsConfig Otherwise: PromotionsConfigs

Operation

Update an existing Promotions Config entry

Request Method

PUT

Path

/promotions/config

Parameters

  • rhinoInstanceId — the ID of the Rhino instance to connect to (as defined in REM)

  • selectionKey — the Sentinel selection key scope to use

Request Body

Success Result

204 No content

Response Headers

None

Response Body

Not used

Operation

Delete an existing Promotions Config entry

Request Method

DELETE

Path

/promotions/config

Parameters

  • rhinoInstanceId — the ID of the Rhino instance to connect to (as defined in REM)

  • selectionKey — the Sentinel selection key scope to use

Request Body

Not used

Success Result

204 No content

Response Headers

None

Response Body

Not used

Schemas

Feature

Class: com.opencloud.sentinel.rest.common.Feature

JSON
{
  "type" : "object",
  "properties" : {
    "name" : {
      "type" : "string"
    },
    "resources" : {
      "type" : "array",
      "items" : {
        "type" : "object",
        "properties" : {
          "rel" : {
            "type" : "string"
          },
          "href" : {
            "type" : "string"
          },
          "title" : {
            "type" : "string"
          }
        }
      }
    }
  }
}
XML
<?xml version="1.0" standalone="yes"?>
<xs:schema version="1.0" xmlns:xs="http://www.w3.org/2001/XMLSchema">

  <xs:element name="feature" type="FeatureType"/>

  <xs:element name="link" type="LinkType"/>

  <xs:complexType name="FeatureType">
    <xs:sequence>
      <xs:element name="name" type="xs:string" minOccurs="0"/>
      <xs:element name="resources" minOccurs="0">
        <xs:complexType>
          <xs:sequence>
            <xs:element ref="link" minOccurs="0" maxOccurs="unbounded"/>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="LinkType">
    <xs:sequence/>
    <xs:attribute name="rel" type="xs:string"/>
    <xs:attribute name="href" type="xs:string"/>
    <xs:attribute name="title" type="xs:string"/>
  </xs:complexType>
</xs:schema>

PromotionsBucketsConfigs

Class: com.opencloud.sentinel.rest.server.resources.PromotionBucketsConfigResource$PromotionsBucketsConfigs

JSON
{
  "type" : "object",
  "properties" : {
    "entries" : {
      "type" : "array",
      "items" : {
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string"
          },
          "resources" : {
            "type" : "array",
            "items" : {
              "type" : "object",
              "properties" : {
                "rel" : {
                  "type" : "string"
                },
                "href" : {
                  "type" : "string"
                },
                "title" : {
                  "type" : "string"
                }
              }
            }
          },
          "selectionKey" : {
            "type" : "string"
          }
        }
      }
    },
    "next" : {
      "type" : "string"
    },
    "prev" : {
      "type" : "string"
    }
  }
}
XML
<?xml version="1.0" standalone="yes"?>
<xs:schema version="1.0" xmlns:xs="http://www.w3.org/2001/XMLSchema">

  <xs:element name="link" type="LinkType"/>

  <xs:element name="promotionsBucketsConfig" type="PromotionsBucketsConfigsEntryType"/>

  <xs:element name="promotionsBucketsConfigs" type="PromotionsBucketsConfigsType"/>

  <xs:complexType name="PromotionsBucketsConfigsType">
    <xs:sequence>
      <xs:element ref="promotionsBucketsConfig" minOccurs="0" maxOccurs="unbounded"/>
    </xs:sequence>
    <xs:attribute name="next" type="xs:string"/>
    <xs:attribute name="prev" type="xs:string"/>
  </xs:complexType>

  <xs:complexType name="PromotionsBucketsConfigsEntryType">
    <xs:complexContent>
      <xs:extension base="simpleEntry">
        <xs:sequence>
          <xs:element name="selectionKey" type="xs:string" minOccurs="0"/>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>

  <xs:complexType name="simpleEntry" abstract="true">
    <xs:sequence>
      <xs:element name="name" type="xs:string" minOccurs="0"/>
      <xs:element name="resources" minOccurs="0">
        <xs:complexType>
          <xs:sequence>
            <xs:element ref="link" minOccurs="0" maxOccurs="unbounded"/>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="LinkType">
    <xs:sequence/>
    <xs:attribute name="rel" type="xs:string"/>
    <xs:attribute name="href" type="xs:string"/>
    <xs:attribute name="title" type="xs:string"/>
  </xs:complexType>
</xs:schema>

PromotionsBucketsConfig

Class: com.opencloud.sentinel.provisioning.promotions.PromotionsBucketsConfig

JSON
{
  "type" : "object",
  "properties" : {
    "bucketName" : {
      "type" : "string"
    },
    "dataSource" : {
      "type" : "string"
    }
  }
}
XML
<?xml version="1.0" standalone="yes"?>
<xs:schema version="1.0" xmlns:xs="http://www.w3.org/2001/XMLSchema">

  <xs:element name="promotionsBucketsConfig" type="PromotionsBucketsConfigType"/>

  <xs:complexType name="PromotionsBucketsConfigType">
    <xs:sequence>
      <xs:element name="bucketName" type="xs:string" minOccurs="0"/>
      <xs:element name="dataSource" type="xs:string" nillable="true" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
</xs:schema>

PromotionTable

Class: com.opencloud.sentinel.provisioning.promotions.PromotionTable

JSON
{
  "type" : "object",
  "properties" : {
    "promotions" : {
      "type" : "array",
      "items" : {
        "type" : "object",
        "properties" : {
          "promotionName" : {
            "type" : "string"
          },
          "bucketName" : {
            "type" : "string"
          },
          "conditionSrc" : {
            "type" : "string"
          },
          "priority" : {
            "type" : "integer"
          },
          "validityStart" : {
            "type" : "number"
          },
          "validityEnd" : {
            "type" : "number"
          }
        }
      }
    }
  }
}
XML
<?xml version="1.0" standalone="yes"?>
<xs:schema version="1.0" xmlns:xs="http://www.w3.org/2001/XMLSchema">

  <xs:element name="promotionConfig" type="PromotionConfigType"/>

  <xs:element name="promotionTable" type="PromotionTableType"/>

  <xs:complexType name="PromotionTableType">
    <xs:sequence>
      <xs:element ref="promotionConfig" minOccurs="0" maxOccurs="unbounded"/>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="PromotionConfigType">
    <xs:sequence>
      <xs:element name="promotionName" type="xs:string" minOccurs="0"/>
      <xs:element name="bucketName" type="xs:string" minOccurs="0"/>
      <xs:element name="conditionSrc" type="xs:string" minOccurs="0"/>
      <xs:element name="priority" type="xs:int"/>
      <xs:element name="validityStart" type="xs:long"/>
      <xs:element name="validityEnd" type="xs:long"/>
    </xs:sequence>
  </xs:complexType>
</xs:schema>

PromotionTables

Class: com.opencloud.sentinel.rest.common.PromotionTables

JSON
{
  "type" : "object",
  "properties" : {
    "promotionTables" : {
      "type" : "array",
      "items" : {
        "type" : "object",
        "properties" : {
          "selectionKey" : {
            "type" : "string"
          },
          "resources" : {
            "type" : "array",
            "items" : {
              "type" : "object",
              "properties" : {
                "rel" : {
                  "type" : "string"
                },
                "href" : {
                  "type" : "string"
                },
                "title" : {
                  "type" : "string"
                }
              }
            }
          }
        }
      }
    },
    "next" : {
      "type" : "string"
    },
    "prev" : {
      "type" : "string"
    }
  }
}
XML
<?xml version="1.0" standalone="yes"?>
<xs:schema version="1.0" xmlns:xs="http://www.w3.org/2001/XMLSchema">

  <xs:element name="link" type="LinkType"/>

  <xs:element name="promotionTable" type="PromotionTableEntryType"/>

  <xs:element name="promotionTables" type="PromotionTablesType"/>

  <xs:complexType name="PromotionTablesType">
    <xs:sequence>
      <xs:element ref="promotionTable" minOccurs="0" maxOccurs="unbounded"/>
    </xs:sequence>
    <xs:attribute name="next" type="xs:string"/>
    <xs:attribute name="prev" type="xs:string"/>
  </xs:complexType>

  <xs:complexType name="PromotionTableEntryType">
    <xs:sequence>
      <xs:element name="resources" minOccurs="0">
        <xs:complexType>
          <xs:sequence>
            <xs:element ref="link" minOccurs="0" maxOccurs="unbounded"/>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
    </xs:sequence>
    <xs:attribute name="selectionKey" type="xs:string"/>
  </xs:complexType>

  <xs:complexType name="LinkType">
    <xs:sequence/>
    <xs:attribute name="rel" type="xs:string"/>
    <xs:attribute name="href" type="xs:string"/>
    <xs:attribute name="title" type="xs:string"/>
  </xs:complexType>
</xs:schema>

PromotionsSqlConfig

Class: com.opencloud.sentinel.provisioning.promotions.PromotionsSqlConfig

JSON
{
  "type" : "object",
  "properties" : {
    "listAllSQL" : {
      "type" : "string"
    },
    "loadSQL" : {
      "type" : "string"
    },
    "updateSQL" : {
      "type" : "string"
    },
    "deleteSQL" : {
      "type" : "string"
    },
    "addSQL" : {
      "type" : "string"
    },
    "databaseRequestTimeout" : {
      "type" : "integer"
    }
  }
}
XML
<?xml version="1.0" standalone="yes"?>
<xs:schema version="1.0" xmlns:xs="http://www.w3.org/2001/XMLSchema">

  <xs:element name="promotionsSqlConfig" type="PromotionsSqlConfigType"/>

  <xs:complexType name="PromotionsSqlConfigType">
    <xs:sequence>
      <xs:element name="listAllSQL" type="xs:string" minOccurs="0"/>
      <xs:element name="loadSQL" type="xs:string" minOccurs="0"/>
      <xs:element name="updateSQL" type="xs:string" minOccurs="0"/>
      <xs:element name="deleteSQL" type="xs:string" minOccurs="0"/>
      <xs:element name="addSQL" type="xs:string" minOccurs="0"/>
      <xs:element name="databaseRequestTimeout" type="xs:int"/>
    </xs:sequence>
  </xs:complexType>
</xs:schema>

PromotionsSqlConfigs

Class: com.opencloud.sentinel.rest.server.resources.PromotionsSqlResource$PromotionsSqlConfigs

JSON
{
  "type" : "object",
  "properties" : {
    "entries" : {
      "type" : "array",
      "items" : {
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string"
          },
          "resources" : {
            "type" : "array",
            "items" : {
              "type" : "object",
              "properties" : {
                "rel" : {
                  "type" : "string"
                },
                "href" : {
                  "type" : "string"
                },
                "title" : {
                  "type" : "string"
                }
              }
            }
          },
          "selectionKey" : {
            "type" : "string"
          }
        }
      }
    },
    "next" : {
      "type" : "string"
    },
    "prev" : {
      "type" : "string"
    }
  }
}
XML
<?xml version="1.0" standalone="yes"?>
<xs:schema version="1.0" xmlns:xs="http://www.w3.org/2001/XMLSchema">

  <xs:element name="link" type="LinkType"/>

  <xs:element name="promotionsSqlConfig" type="PromotionsSqlConfigsEntryType"/>

  <xs:element name="promotionsSqlConfigs" type="PromotionsSqlConfigsType"/>

  <xs:complexType name="PromotionsSqlConfigsType">
    <xs:sequence>
      <xs:element ref="promotionsSqlConfig" minOccurs="0" maxOccurs="unbounded"/>
    </xs:sequence>
    <xs:attribute name="next" type="xs:string"/>
    <xs:attribute name="prev" type="xs:string"/>
  </xs:complexType>

  <xs:complexType name="PromotionsSqlConfigsEntryType">
    <xs:complexContent>
      <xs:extension base="simpleEntry">
        <xs:sequence>
          <xs:element name="selectionKey" type="xs:string" minOccurs="0"/>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>

  <xs:complexType name="simpleEntry" abstract="true">
    <xs:sequence>
      <xs:element name="name" type="xs:string" minOccurs="0"/>
      <xs:element name="resources" minOccurs="0">
        <xs:complexType>
          <xs:sequence>
            <xs:element ref="link" minOccurs="0" maxOccurs="unbounded"/>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="LinkType">
    <xs:sequence/>
    <xs:attribute name="rel" type="xs:string"/>
    <xs:attribute name="href" type="xs:string"/>
    <xs:attribute name="title" type="xs:string"/>
  </xs:complexType>
</xs:schema>

PromotionBucket

Class: com.opencloud.sentinel.provisioning.promotions.PromotionBucket

JSON
{
  "type" : "object",
  "properties" : {
    "availableUnits" : {
      "type" : "number"
    },
    "reservedUnits" : {
      "type" : "number"
    }
  }
}
XML
<?xml version="1.0" standalone="yes"?>
<xs:schema version="1.0" xmlns:xs="http://www.w3.org/2001/XMLSchema">

  <xs:element name="promotionBucket" type="PromotionBucketType"/>

  <xs:complexType name="PromotionBucketType">
    <xs:sequence>
      <xs:element name="availableUnits" type="xs:long"/>
      <xs:element name="reservedUnits" type="xs:long"/>
    </xs:sequence>
  </xs:complexType>
</xs:schema>

PromotionsConfig

Class: com.opencloud.sentinel.provisioning.promotions.PromotionsConfig

JSON
{
  "type" : "object",
  "properties" : {
    "defaultDataSource" : {
      "type" : "string"
    },
    "unitGrantingMode" : {
      "type" : "string"
    },
    "promotionApplicationMode" : {
      "type" : "string"
    },
    "partialGrantingThreshold" : {
      "type" : "number"
    }
  }
}
XML
<?xml version="1.0" standalone="yes"?>
<xs:schema version="1.0" xmlns:xs="http://www.w3.org/2001/XMLSchema">

  <xs:element name="promotionsConfig" type="PromotionsConfigType"/>

  <xs:complexType name="PromotionsConfigType">
    <xs:sequence>
      <xs:element name="defaultDataSource" type="xs:string" minOccurs="0"/>
      <xs:element name="unitGrantingMode" type="xs:string" minOccurs="0"/>
      <xs:element name="promotionApplicationMode" type="xs:string" minOccurs="0"/>
      <xs:element name="partialGrantingThreshold" type="xs:long"/>
    </xs:sequence>
  </xs:complexType>
</xs:schema>

PromotionsConfigs

Class: com.opencloud.sentinel.rest.server.resources.PromotionsConfigResource$PromotionsConfigs

JSON
{
  "type" : "object",
  "properties" : {
    "entries" : {
      "type" : "array",
      "items" : {
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string"
          },
          "resources" : {
            "type" : "array",
            "items" : {
              "type" : "object",
              "properties" : {
                "rel" : {
                  "type" : "string"
                },
                "href" : {
                  "type" : "string"
                },
                "title" : {
                  "type" : "string"
                }
              }
            }
          },
          "selectionKey" : {
            "type" : "string"
          }
        }
      }
    },
    "next" : {
      "type" : "string"
    },
    "prev" : {
      "type" : "string"
    }
  }
}
XML
<?xml version="1.0" standalone="yes"?>
<xs:schema version="1.0" xmlns:xs="http://www.w3.org/2001/XMLSchema">

  <xs:element name="link" type="LinkType"/>

  <xs:element name="promotionsConfig" type="PromotionsConfigsEntryType"/>

  <xs:element name="promotionsConfigs" type="PromotionsConfigsType"/>

  <xs:complexType name="PromotionsConfigsType">
    <xs:sequence>
      <xs:element ref="promotionsConfig" minOccurs="0" maxOccurs="unbounded"/>
    </xs:sequence>
    <xs:attribute name="next" type="xs:string"/>
    <xs:attribute name="prev" type="xs:string"/>
  </xs:complexType>

  <xs:complexType name="PromotionsConfigsEntryType">
    <xs:complexContent>
      <xs:extension base="simpleEntry">
        <xs:sequence>
          <xs:element name="selectionKey" type="xs:string" minOccurs="0"/>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>

  <xs:complexType name="simpleEntry" abstract="true">
    <xs:sequence>
      <xs:element name="name" type="xs:string" minOccurs="0"/>
      <xs:element name="resources" minOccurs="0">
        <xs:complexType>
          <xs:sequence>
            <xs:element ref="link" minOccurs="0" maxOccurs="unbounded"/>
          </xs:sequence>
        </xs:complexType>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="LinkType">
    <xs:sequence/>
    <xs:attribute name="rel" type="xs:string"/>
    <xs:attribute name="href" type="xs:string"/>
    <xs:attribute name="title" type="xs:string"/>
  </xs:complexType>
</xs:schema>
Previous page Next page