<?xml version="1.0" encoding="UTF-8" ?>
<!--
   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.
-->
<!ELEMENT caption ( #PCDATA ) >

<!ELEMENT data-view ( obj-entity-view+ ) >

<!ELEMENT default-value ( #PCDATA ) >

<!ELEMENT pattern ( #PCDATA ) >

<!ELEMENT edit-format ( pattern? ) >
<!ATTLIST edit-format class NMTOKEN #REQUIRED >


<!ELEMENT display-format ( pattern? ) >
<!ATTLIST display-format class NMTOKEN #REQUIRED >

<!ELEMENT lookup EMPTY >
<!ATTLIST lookup obj-entity-view-name NMTOKEN #REQUIRED >
<!ATTLIST lookup field-name NMTOKEN #REQUIRED >

<!ELEMENT field ( caption?, lookup?, edit-format?, 
                  display-format?, default-value? ) >
<!ATTLIST field obj-relationship-name NMTOKEN #IMPLIED >
<!ATTLIST field pref-index NMTOKEN #IMPLIED >
<!ATTLIST field name NMTOKEN #REQUIRED >
<!ATTLIST field editable ( false | true ) #REQUIRED >
<!ATTLIST field obj-attribute-name NMTOKEN #IMPLIED >
<!ATTLIST field calc-type ( nocalc | lookup ) #REQUIRED >
<!ATTLIST field data-type ( Object | String | Money | 
                            Integer | Double | Percent | 
                            Date | Datetime | Boolean ) #REQUIRED >
<!ATTLIST field visible ( false | true ) #REQUIRED >

<!ELEMENT obj-entity-view ( field+ ) >
<!ATTLIST obj-entity-view name NMTOKEN #REQUIRED >
<!ATTLIST obj-entity-view obj-entity-name NMTOKEN #IMPLIED >


