<?xml version="1.0" encoding="UTF-8"?>
<!-- Copyright 2004 The Apache Software Foundation

     Licensed 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 attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:element name="attach">
    <xs:complexType>
      <xs:simpleContent>
        <xs:extension base="xs:string" xmlns:xs="http://www.w3.org/2001/XMLSchema">
          <xs:attribute type="xs:string" name="for" use="optional"/>
          <xs:attribute type="xs:string" name="event" use="optional"/>
          <xs:attribute type="xs:string" name="handler" use="optional"/>
        </xs:extension>
      </xs:simpleContent>
    </xs:complexType>
  </xs:element>
  <xs:element name="script">
    <xs:complexType>
      <xs:simpleContent>
        <xs:extension base="xs:string" xmlns:xs="http://www.w3.org/2001/XMLSchema">
          <xs:attribute type="xs:string" name="type"/>
        </xs:extension>
      </xs:simpleContent>
    </xs:complexType>
  </xs:element>
  <xs:element name="component">
    <xs:annotation>
      <xs:documentation>Copyright 2004 The Apache Software Foundation

        Licensed 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:documentation>
    </xs:annotation>
    <xs:complexType>
      <xs:sequence>
        <xs:element ref="attach" maxOccurs="unbounded" minOccurs="0"/>
        <xs:element ref="script"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
</xs:schema>