<!ENTITY % InlineContent  "(#PCDATA | term | ref)*" >

<!ENTITY % SectionContent  "p+" >

<!ENTITY % RevisionData  "(RevisionHistory?,DeprecationHistory?)" >

<!ELEMENT ACORD-Metadata  (CopyRightInfo,DataDictionary,FileAndNamespaceManagement,
               DataTypes,Fields,RevisionLog?) >

<!ATTLIST ACORD-Metadata
               version  CDATA    #REQUIRED 
               genDate  CDATA    #REQUIRED  >

<!ELEMENT CopyRightInfo  (CopyrightNotice,SchemaCopyrightStatement) >

<!ELEMENT CopyrightNotice  (p+) >

<!ELEMENT p  %InlineContent; >

<!ELEMENT term  (#PCDATA) >

<!ELEMENT ref   EMPTY  >

<!ATTLIST ref
               idref  IDREF    #REQUIRED  >

<!ELEMENT SchemaCopyrightStatement  (%SectionContent;)+ >

<!ELEMENT DataDictionary  (Entry+) >

<!ELEMENT Entry  (BusinessTerm,Definition,Synonyms?,Notes?,(%RevisionData;)?) >

<!ATTLIST Entry
               id  ID    #IMPLIED 
               definitionSource  CDATA    #IMPLIED 
               marketRelavancy  CDATA    #IMPLIED  >

<!ELEMENT BusinessTerm  (#PCDATA) >

<!ELEMENT Definition  (%SectionContent;)+ >

<!ELEMENT Synonyms  (Synonym+) >

<!ELEMENT Synonym  (#PCDATA) >

<!ELEMENT Notes  (p+) >

<!ELEMENT RevisionHistory  (MRref+) >

<!ATTLIST RevisionHistory
               deprecated (Yes | No)   #IMPLIED 
               NewRevision (Yes | No)   #IMPLIED  >

<!ELEMENT MRref   EMPTY  >

<!ATTLIST MRref
               MRidref  IDREF    #REQUIRED  >

<!ELEMENT DeprecationHistory  (%SectionContent;)+ >

<!ATTLIST DeprecationHistory
               deprecationDate  CDATA    #REQUIRED  >

<!ELEMENT FileAndNamespaceManagement  (SchemaFile+) >

<!ELEMENT SchemaFile  (FileName,Namespace?,AppInfo?,ImportIncludeRedefine*,
               Notations?,Notes?,(%RevisionData;)?) >

<!ATTLIST SchemaFile
               id  ID    #IMPLIED 
               attributeForm (qualified | unqualified)   #IMPLIED 
               elementForm (qualified | unqualified)   #IMPLIED 
               xml:lang  NMTOKEN    #IMPLIED 
               block  CDATA    #IMPLIED 
               final  CDATA    #IMPLIED 
               generate (Yes | No)   #IMPLIED 
               UTFversion  CDATA    #REQUIRED 
               versionXML  CDATA    #REQUIRED 
               schemaUse (base | codelistRedefine)   #IMPLIED  >

<!ELEMENT FileName  (#PCDATA) >

<!ELEMENT Namespace  (#PCDATA) >

<!ATTLIST Namespace
               prefix  CDATA    #IMPLIED 
               default (Yes | No)   #IMPLIED 
               target (Yes | No)   #IMPLIED  >

<!ELEMENT AppInfo  (#PCDATA) >

<!ELEMENT ImportIncludeRedefine  (FileRef+) >

<!ELEMENT FileRef   EMPTY  >

<!ATTLIST FileRef
               fileIDREF  IDREF    #IMPLIED 
               processAs (redefine | import)   #IMPLIED  >

<!ELEMENT Notations  (Notation+) >

<!ELEMENT Notation  (NotationName,Description?,(%RevisionData;)?) >

<!ATTLIST Notation
               system  CDATA    #IMPLIED 
               publicID  CDATA    #IMPLIED 
               id  ID    #IMPLIED  >

<!ELEMENT NotationName  (#PCDATA) >

<!ELEMENT Description  (%SectionContent;)+ >

<!ELEMENT DataTypes  (SimpleTypes?,ComplexTypes?,Groups?) >

<!ELEMENT SimpleTypes  (SimpleType+) >

<!ELEMENT SimpleType  (BusinessTerm?,Name?,(EnumerationDetails | UnionDetails | 
               ListDetails)?,Atrributes?,Description?,appinfo?,Notes?,
               (%RevisionData;)?) >

<!ATTLIST SimpleType
               id  ID    #IMPLIED 
               definedBy (extension | restriction | union | list | enumeration | 
               W3Cbase)   #IMPLIED 
               redefined (Yes | No)   #IMPLIED 
               baseTypeIDREF  IDREF    #IMPLIED 
               length  CDATA    #IMPLIED 
               minLength  CDATA    #IMPLIED 
               maxLength  CDATA    #IMPLIED 
               pattern  CDATA    #IMPLIED 
               whiteSpace (collapse | preserve)   #IMPLIED 
               fractionDigits  CDATA    #IMPLIED 
               totalDigits  CDATA    #IMPLIED 
               minInclusive  CDATA    #IMPLIED 
               maxInclusive  CDATA    #IMPLIED 
               minExclusive  CDATA    #IMPLIED 
               maxExclusive  CDATA    #IMPLIED 
               generate (Yes | No)   #IMPLIED 
               namespaceIDREF  IDREF    #IMPLIED 
               fileIDREF  IDREF    #IMPLIED  >

<!ELEMENT Name  (#PCDATA) >

<!ELEMENT EnumerationDetails  (Value+) >

<!ATTLIST EnumerationDetails
               DocumentListTitle  CDATA    #IMPLIED 
               ListVersion  CDATA    #IMPLIED 
               ListURL  CDATA    #IMPLIED 
               ListOwner  CDATA    #IMPLIED  >

<!ELEMENT Value  (Name,(%RevisionData;)?) >

<!ATTLIST Value
               dictionaryIDREF  IDREF    #IMPLIED 
               mnemonic  CDATA    #IMPLIED 
               sublistName  CDATA    #IMPLIED 
               severity  CDATA    #IMPLIED 
               condition  CDATA    #IMPLIED  >

<!ELEMENT UnionDetails  (UnionType+) >

<!ELEMENT UnionType  (%RevisionData;)? >

<!ATTLIST UnionType
               dataTypeIDREF  IDREF    #IMPLIED  >

<!ELEMENT ListDetails  (ListType+) >

<!ELEMENT ListType  (%RevisionData;)? >

<!ATTLIST ListType
               dataTypeIDREF  IDREF    #IMPLIED  >

<!ELEMENT Atrributes  (Attribute+) >

<!ELEMENT Attribute  (Name?,SupplementalDescription?,Notes?,(%RevisionData;)?) >

<!ATTLIST Attribute
               attributeUse (required | optional | prohibited)   #IMPLIED 
               defineLocally (Yes | No)   #IMPLIED 
               references  IDREFS    #IMPLIED 
               dataTypeIDREF  IDREF    #IMPLIED 
               fieldIDREF  IDREF    #IMPLIED 
               dictionaryIDREF  IDREF    #IMPLIED  >

<!ELEMENT SupplementalDescription  (p+) >

<!ELEMENT appinfo  (#PCDATA) >

<!ELEMENT ComplexTypes  (ComplexType+) >

<!ELEMENT ComplexType  (BusinessTerm?,Name?,Group?,Atrributes?,appinfo?,Notes?,
               (%RevisionData;)?) >

<!ATTLIST ComplexType
               id  ID    #IMPLIED 
               objectClassification  CDATA    #IMPLIED 
               baseTypeIDREF  IDREF    #IMPLIED 
               dictionaryIDREF  IDREF    #IMPLIED 
               fileIDREF  IDREF    #IMPLIED 
               namespaceIDREF  IDREF    #IMPLIED 
               abstract (Yes | No)   #IMPLIED 
               simpleContent (Yes | No)   #IMPLIED  >

<!ELEMENT Group  (Name?,(Content | GroupRef | Group)*,appinfo?,Notes?,
               (%RevisionData;)?) >

<!ATTLIST Group
               logicflag (XOR | OR | choice | sequence | None)  "None"
               
               defineLocally (Yes | No)   #IMPLIED 
               maxOccurs (1 | unbounded)   #IMPLIED 
               minOccurs (0 | 1)   #IMPLIED 
               id  ID    #IMPLIED  >

<!ELEMENT Content  (SupplementalDescription?,(%RevisionData;)?) >

<!ATTLIST Content
               elementIDREF  IDREF    #REQUIRED 
               fixedValue  CDATA    #IMPLIED 
               defaultValue  CDATA    #IMPLIED 
               defineLocally (Yes | No)   #IMPLIED 
               use (optional | required)   #IMPLIED 
               maxOccurs (1 | unbounded)   #IMPLIED 
               minOccurs (0 | 1)   #IMPLIED  >

<!ELEMENT GroupRef   EMPTY  >

<!ATTLIST GroupRef
               idref  IDREF    #REQUIRED 
               use (optional | required)   #IMPLIED 
               minOccurs (0 | 1)   #IMPLIED 
               maxOccurs (1 | unbounded)   #IMPLIED  >

<!ELEMENT Groups  (Group+) >

<!ELEMENT Fields  (Field+) >

<!ELEMENT Field  (Name,FormsInfo?,appinfo?,Notes?,(%RevisionData;)?) >

<!ATTLIST Field
               id  ID    #IMPLIED 
               baseTypeIDREF  IDREF    #IMPLIED 
               dictionaryIDREF  IDREF    #IMPLIED 
               fileIDREF  IDREF    #IMPLIED 
               namespaceIDREF  IDREF    #IMPLIED 
               implementedAs (element | attribute)   #IMPLIED 
               emptyElement (Yes | No)   #IMPLIED 
               substitutionGroupHead (Yes | No)   #IMPLIED 
               nillable (Yes | No)   #IMPLIED 
               form (qualified | unqualified)   #IMPLIED 
               fixedValue  CDATA    #IMPLIED 
               defaultValue  CDATA    #IMPLIED 
               block  CDATA    #IMPLIED 
               final  CDATA    #IMPLIED 
               generate (Yes | No)   #IMPLIED  >

<!ELEMENT FormsInfo  (FIGDescription?,Form?) >

<!ELEMENT FIGDescription  (p+) >

<!ELEMENT Form  (#PCDATA) >

<!ATTLIST Form
               number  CDATA    #REQUIRED 
               State  NMTOKENS    #IMPLIED 
               version  CDATA    #REQUIRED 
               countryWide (Yes | No)   #IMPLIED 
               lastReviewedRelease  CDATA    #IMPLIED  >

<!ELEMENT RevisionLog  (Release+) >

<!ELEMENT Release  (MR+) >

<!ATTLIST Release
               versionNumber  CDATA    #REQUIRED  >

<!ELEMENT MR  (MRID,Description,BusinessCase) >

<!ELEMENT MRID  (#PCDATA) >

<!ATTLIST MRID
               id  ID    #IMPLIED  >

<!ELEMENT BusinessCase  (Original,Modified?) >

<!ELEMENT Original  (%SectionContent;)+ >

<!ELEMENT Modified  (%SectionContent;)+ >

