blob: 6ffd967f8d27a4fbe0934f34670231dccd89957e [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:lib="library" targetNamespace="library" elementFormDefault="qualified">
<!-- definition of simple types -->
<xs:element name="language" type="xs:string" />
<xs:element name="name" type="xs:string" />
<xs:element name="arguments" type="xs:string" />
<xs:element name="return_type" type="xs:string" />
<xs:element name="function_type" type="xs:string" />
<xs:element name="definition" type="xs:string" />
<xs:element name="factory_class" type="xs:string" />
<!-- definition of complex elements -->
<xs:element name="libraryFunction">
<xs:complexType>
<xs:sequence>
<xs:element ref="lib:name" />
<xs:element ref="lib:function_type" />
<xs:element ref="lib:arguments" />
<xs:element ref="lib:return_type" />
<xs:element ref="lib:definition" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="libraryFunctions">
<xs:complexType>
<xs:sequence>
<xs:element ref="lib:libraryFunction" maxOccurs="unbounded" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="libraryAdapter">
<xs:complexType>
<xs:sequence>
<xs:element ref="lib:name" />
<xs:element ref="lib:factory_class" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="libraryAdapters">
<xs:complexType>
<xs:sequence>
<xs:element ref="lib:libraryAdapter" maxOccurs="unbounded" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="externalLibrary">
<xs:complexType>
<xs:sequence>
<xs:element ref="lib:language" />
<xs:element ref="lib:libraryFunctions" minOccurs="0" />
<xs:element ref="lib:libraryAdapters" minOccurs="0" />
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>