blob: c08737407ad962588329ed9233aaf9f10fd1757b [file] [log] [blame]
<?xml version="1.0" encoding="ISO-8859-1" ?>
<!--
! Licensed to the Apache Software Foundation (ASF) under one
! or more contributor license agreements. See the NOTICE file
! distributed with this work for additional information
! regarding copyright ownership. The ASF licenses this file
! to you under the Apache License, Version 2.0 (the
! "License"); you may not use this file except in compliance
! with the License. You may obtain a copy of the License at
!
! http://www.apache.org/licenses/LICENSE-2.0
!
! Unless required by applicable law or agreed to in writing,
! software distributed under the License is distributed on an
! "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
! KIND, either express or implied. See the License for the
! specific language governing permissions and limitations
! under the License.
!-->
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:eg="patterns" targetNamespace="patterns">
<!-- definition of simple types -->
<xs:element name="maxOccurs" type = "xs:int"/>
<xs:element name="pargs" type="xs:string"/>
<xs:element name="absvalue" type="xs:string"/>
<xs:element name="unit" type="xs:string"/>
<xs:element name="type" type="xs:string"/>
<xs:element name="min" type="xs:string"/>
<xs:element name="max" type="xs:string"/>
<xs:element name="abs" type="xs:string"/>
<xs:element name="set" type="xs:string"/>
<xs:element name="exclude" type="xs:string"/>
<xs:element name="reuse" type="xs:boolean"/>
<!-- definition of attributes -->
<!-- definition of complex elements -->
<xs:element name="range">
<xs:complexType>
<xs:sequence>
<xs:element ref="eg:set"/>
<xs:element ref="eg:exclude" minOccurs="0"/>
<xs:element ref="eg:reuse" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="minmax">
<xs:complexType>
<xs:sequence>
<xs:element ref="eg:min"/>
<xs:element ref="eg:max"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="random">
<xs:complexType>
<xs:sequence>
<xs:element ref="eg:minmax" minOccurs="0"/>
<xs:element ref="eg:range" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="value">
<xs:complexType>
<xs:sequence>
<xs:element ref="eg:random" minOccurs="0"/>
<xs:element ref="eg:absvalue" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="nodeid">
<xs:complexType>
<xs:sequence>
<xs:element ref="eg:value"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="period">
<xs:complexType>
<xs:sequence>
<xs:element ref="eg:absvalue"/>
<xs:element ref="eg:unit"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="delay">
<xs:complexType>
<xs:sequence>
<xs:element ref="eg:value"/>
<xs:element ref="eg:unit"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="event">
<xs:complexType>
<xs:sequence>
<xs:element ref="eg:type"/>
<xs:element ref="eg:nodeid"/>
<xs:element ref="eg:pargs"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="pattern">
<xs:complexType>
<xs:sequence>
<xs:element ref="eg:delay"/>
<xs:element ref="eg:maxOccurs" maxOccurs="1" minOccurs="0"/>
<xs:element ref="eg:period"/>
<xs:element ref="eg:event"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="patterns">
<xs:complexType>
<xs:sequence>
<xs:element ref="eg:pattern" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>