xsd/entity-metadata-5-0.xsd
<?xml version="1.0" encoding="utf-8"?>
<xs:schema
version="1.0"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
targetNamespace="uri:soliantconsulting.com:simplefm:entity-metadata"
xmlns="uri:soliantconsulting.com:simplefm:entity-metadata"
elementFormDefault="qualified"
>
<xs:element name="entity" type="entity-type"/>
<xs:complexType name="entity-type">
<xs:sequence>
<xs:element name="record-id" type="record-id-type" minOccurs="0" maxOccurs="1"/>
<xs:element name="field" type="field-type" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="embeddable" type="embeddable-type" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="one-to-many" type="one-to-many-type" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="many-to-one" type="many-to-one-type" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="one-to-one-owning" type="one-to-one-owning-type" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="one-to-one-inverse" type="one-to-one-inverse-type" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
<xs:attribute name="class-name" use="required" type="xs:string"/>
<xs:attribute name="interface-name" use="optional" type="xs:string"/>
<xs:attribute name="layout" use="required" type="xs:string"/>
</xs:complexType>
<xs:complexType name="record-id-type">
<xs:attribute name="property" use="required" type="xs:string"/>
</xs:complexType>
<xs:complexType name="field-type">
<xs:attribute name="name" use="required" type="xs:string"/>
<xs:attribute name="property" use="required" type="xs:string"/>
<xs:attribute name="type" use="required" type="xs:string"/>
<xs:attribute name="repeatable" use="optional" type="xs:boolean" default="false"/>
<xs:attribute name="read-only" use="optional" type="xs:boolean" default="false"/>
</xs:complexType>
<xs:complexType name="embeddable-type">
<xs:attribute name="property" use="required" type="xs:string"/>
<xs:attribute name="field-name-prefix" use="required" type="xs:string"/>
<xs:attribute name="class-name" use="required" type="xs:string"/>
</xs:complexType>
<xs:complexType name="one-to-many-type">
<xs:attribute name="property" use="required" type="xs:string"/>
<xs:attribute name="target-table" use="required" type="xs:string"/>
<xs:attribute name="target-entity" use="required" type="xs:string"/>
<xs:attribute name="target-field-name" use="required" type="xs:string"/>
</xs:complexType>
<xs:complexType name="many-to-one-type">
<xs:attribute name="name" use="required" type="xs:string"/>
<xs:attribute name="property" use="required" type="xs:string"/>
<xs:attribute name="target-table" use="required" type="xs:string"/>
<xs:attribute name="target-entity" use="required" type="xs:string"/>
<xs:attribute name="target-property-name" use="required" type="xs:string"/>
<xs:attribute name="target-field-name" use="required" type="xs:string"/>
<xs:attribute name="read-only" use="optional" type="xs:boolean" default="false"/>
</xs:complexType>
<xs:complexType name="one-to-one-owning-type">
<xs:attribute name="name" use="required" type="xs:string"/>
<xs:attribute name="property" use="required" type="xs:string"/>
<xs:attribute name="target-table" use="required" type="xs:string"/>
<xs:attribute name="target-entity" use="required" type="xs:string"/>
<xs:attribute name="target-property-name" use="optional" type="xs:string"/>
<xs:attribute name="target-field-name" use="required" type="xs:string"/>
<xs:attribute name="read-only" use="optional" type="xs:boolean" default="false"/>
</xs:complexType>
<xs:complexType name="one-to-one-inverse-type">
<xs:attribute name="property" use="required" type="xs:string"/>
<xs:attribute name="target-table" use="required" type="xs:string"/>
<xs:attribute name="target-entity" use="required" type="xs:string"/>
<xs:attribute name="target-field-name" use="required" type="xs:string"/>
</xs:complexType>
</xs:schema>