<?xml encoding="UTF-8"?> <!-- http://www.americancoders.com --> <!-- OBOE - Open Business Objects for EDI --> <!-- Purpose: validates EDI rules --> <!-- OBOE release 3.4.0 January 29, 2007 added used (Y | N) "Y" --> <!-- OBOE release 3.5.0 February 23, 2007 added include/exclude in IDListFile improved dataElement type checking --> <!ELEMENT transactionSet (table+)> <!ATTLIST transactionSet name CDATA #REQUIRED id CDATA #REQUIRED revision CDATA #IMPLIED functionalGroup CDATA #IMPLIED description CDATA #IMPLIED validatingMethod CDATA #IMPLIED xmlTag CDATA #IMPLIED> <!ELEMENT table (segment?, loop?)*> <!ATTLIST table validatingMethod CDATA #IMPLIED section (header | detail | summary) "header"> <!ELEMENT loop (((segment?, loop?)*)|(copyLoop))> <!ATTLIST loop name CDATA #REQUIRED id CDATA #REQUIRED occurs CDATA #REQUIRED required (M | O | C) "M" validatingMethod CDATA #IMPLIED used (Y | N) "Y" xmlTag CDATA #IMPLIED> <!ELEMENT copyLoop EMPTY> <!ATTLIST copyLoop refid CDATA #REQUIRED> <!ELEMENT segment (((compositeDE?, dataElement?)*, elementRule*)|(copySegment))> <!ATTLIST segment name CDATA #REQUIRED id CDATA #REQUIRED sequence CDATA #REQUIRED description CDATA #IMPLIED occurs CDATA #IMPLIED required (M | O | C) "M" validatingMethod CDATA #IMPLIED used (Y | N) "Y" xmlTag CDATA #IMPLIED> <!ELEMENT compositeDE (dataElement)+> <!ATTLIST compositeDE name CDATA #REQUIRED id CDATA #REQUIRED description CDATA #IMPLIED sequence CDATA #IMPLIED required CDATA #IMPLIED occurs CDATA #IMPLIED validatingMethod CDATA #IMPLIED used (Y | N) "Y" xmlTag CDATA #IMPLIED> <!ELEMENT dataElement ((idList | idListClass | idListFile)?, (default)?)> <!ATTLIST dataElement name CDATA #REQUIRED id CDATA #REQUIRED type (AN | B | DT | ID | N| N0 | N1 | N2 | N3 | N4 | N5 | N6 | N7 | N8 | N9 | R | TM) #REQUIRED sequence CDATA #IMPLIED required CDATA #IMPLIED description CDATA #IMPLIED minLength CDATA #REQUIRED maxLength CDATA #REQUIRED occurs CDATA #IMPLIED validatingMethod CDATA #IMPLIED used (Y | N) "Y" xmlTag CDATA #IMPLIED> <!ELEMENT idList ((idCode, idValue?)+)> <!ELEMENT idCode (#PCDATA)> <!ATTLIST idCode used (Y | N) "Y"> <!ELEMENT idValue (#PCDATA)> <!ELEMENT idListClass EMPTY> <!ATTLIST idListClass className CDATA #REQUIRED> <!ELEMENT idListFile EMPTY> <!ATTLIST idListFile fileName CDATA #REQUIRED include CDATA #IMPLIED exclude CDATA #IMPLIED> <!ELEMENT default (#PCDATA)> <!ATTLIST default from (constant | property | method) #REQUIRED> <!ELEMENT elementRule EMPTY> <!ATTLIST elementRule rule (oneOrMoreMustExist | ifFirstExistsThenAllMustExist | oneAndOnlyOneMayExist | ifFirstExistsThenAtLeastOneMoreMustExist | allOrNoneMayExist | ifFirstExistsThenNoOthersMayExist) #REQUIRED positions CDATA #REQUIRED> <!ELEMENT copySegment EMPTY> <!ATTLIST copySegment refid CDATA #REQUIRED>