--- /dev/null
+<?xml version="1.0" encoding="UTF-8" ?>
+
+<!--
+
+Copyright (C) 2007 Laurentian University
+Dan Scott <dscott@laurentian.ca>
+
+This program is free software; you can redistribute it and/or
+modify it under the terms of the GNU General Public License
+as published by the Free Software Foundation; either version 2
+of the License, or (at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software
+Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
+
+-->
+
+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
+ xmlns:idl="http://opensrf.org/spec/IDL/base/v1"
+ xmlns:oils_persist="http://open-ils.org/spec/opensrf/IDL/persistence/v1"
+ xmlns:oils_obj="http://open-ils.org/spec/opensrf/IDL/objects/v1"
+ xmlns:reporter="http://open-ils.org/spec/opensrf/IDL/reporter/v1"
+ targetNamespace="http://opensrf.org/spec/IDL/base/v1"
+ elementFormDefault="qualified"
+ attributeFormDefault="unqualified"
+>
+
+<xs:import namespace="http://open-ils.org/spec/opensrf/IDL/persistence/v1"
+ schemaLocation="oils_persist.xsd"/>
+
+<xs:import namespace="http://open-ils.org/spec/opensrf/IDL/objects/v1"
+ schemaLocation="oils_obj.xsd"/>
+
+<xs:import namespace="http://open-ils.org/spec/opensrf/IDL/reporter/v1"
+ schemaLocation="reporter.xsd"/>
+
+<!-- define simple elements -->
+<xs:element name="field" nillable="true">
+ <xs:complexType>
+ <xs:attribute name="name"/>
+ <xs:attribute ref="oils_obj:array_position"/>
+ <xs:attribute ref="oils_persist:primitive"/>
+ <xs:attribute ref="oils_persist:virtual"/>
+ <xs:attribute ref="reporter:label"/>
+ <xs:attribute ref="reporter:datatype"/>
+ <xs:attribute ref="reporter:selector"/>
+ </xs:complexType>
+</xs:element>
+
+<xs:element name="link" nillable="true">
+ <xs:complexType>
+ <xs:attribute name="field" type="xs:string" use="required"/>
+ <xs:attribute name="reltype" type="xs:string" use="required"/>
+ <xs:attribute name="key" type="xs:string" use="required"/>
+ <xs:attribute name="map" type="xs:string" use="required"/>
+ <xs:attribute name="class" type="xs:string" use="required"/>
+ <xs:attribute ref="reporter:label"/>
+ </xs:complexType>
+</xs:element>
+
+<xs:element name="fields">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="idl:field" minOccurs="1" maxOccurs="unbounded"/>
+ </xs:sequence>
+ <xs:attribute ref="oils_persist:primary"/>
+ <xs:attribute ref="oils_persist:sequence"/>
+ </xs:complexType>
+</xs:element>
+
+<xs:element name="links">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="idl:link" minOccurs="0" maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:complexType>
+</xs:element>
+
+<xs:element name="class">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="idl:fields"/>
+ <xs:element ref="idl:links" minOccurs="0"/>
+ </xs:sequence>
+ <xs:attribute name="id"/>
+ <xs:attribute name="controller"/>
+ <xs:attribute ref="oils_obj:fieldmapper"/>
+ <xs:attribute ref="oils_persist:tablename"/>
+ <xs:attribute ref="oils_persist:virtual"/>
+ <xs:attribute ref="reporter:core"/>
+ <xs:attribute ref="reporter:label"/>
+ </xs:complexType>
+</xs:element>
+
+<xs:element name="IDL">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element ref="idl:class" minOccurs="1" maxOccurs="unbounded"/>
+ </xs:sequence>
+ </xs:complexType>
+</xs:element>
+
+</xs:schema>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8" ?>
+
+<!--
+
+Copyright (C) 2007 Laurentian University
+Dan Scott <dscott@laurentian.ca>
+
+This program is free software; you can redistribute it and/or
+modify it under the terms of the GNU General Public License
+as published by the Free Software Foundation; either version 2
+of the License, or (at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software
+Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
+
+-->
+
+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
+ xmlns="http://open-ils.org/spec/opensrf/IDL/objects/v1"
+ targetNamespace="http://open-ils.org/spec/opensrf/IDL/objects/v1"
+ elementFormDefault="unqualified"
+ attributeFormDefault="unqualified"
+>
+
+<xs:attribute name="array_position" type="xs:nonNegativeInteger"/>
+<xs:attribute name="fieldmapper"/>
+
+</xs:schema>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8" ?>
+
+<!--
+
+Copyright (C) 2007 Laurentian University
+Dan Scott <dscott@laurentian.ca>
+
+This program is free software; you can redistribute it and/or
+modify it under the terms of the GNU General Public License
+as published by the Free Software Foundation; either version 2
+of the License, or (at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software
+Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
+
+-->
+
+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
+ xmlns="http://open-ils.org/spec/opensrf/IDL/persistence/v1"
+ targetNamespace="http://open-ils.org/spec/opensrf/IDL/persistence/v1"
+ elementFormDefault="unqualified"
+ attributeFormDefault="unqualified"
+>
+
+<xs:attribute name="primary"/>
+<xs:attribute name="primitive"/>
+<xs:attribute name="sequence"/>
+<xs:attribute name="tablename"/>
+<xs:attribute name="virtual" type="xs:boolean"/>
+
+</xs:schema>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8" ?>
+
+<!--
+
+Copyright (C) 2007 Laurentian University
+Dan Scott <dscott@laurentian.ca>
+
+This program is free software; you can redistribute it and/or
+modify it under the terms of the GNU General Public License
+as published by the Free Software Foundation; either version 2
+of the License, or (at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software
+Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
+
+-->
+
+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
+ xmlns="http://open-ils.org/spec/opensrf/IDL/reporter/v1"
+ targetNamespace="http://open-ils.org/spec/opensrf/IDL/reporter/v1"
+ elementFormDefault="unqualified"
+ attributeFormDefault="unqualified"
+>
+
+<xs:attribute name="core" type="xs:boolean"/>
+<xs:attribute name="datatype"/>
+<xs:attribute name="label"/>
+<xs:attribute name="selector"/>
+
+</xs:schema>