<?xml version="1.0" ?>
<!-- Document Type Definition for the EDI Form Prototype -->
<!-- A OF347 Simple Purchase Order contains one or more items -->
<!DOCTYPE OF347 [
<!ELEMENT OF347 (Order, OrderDate, ContractNo, OrderNo, IssuingOfficeContact, ShipTo, Contractor, DiscountTerms, Line_Item_Info)>
<!-- An item contains one or more of the following subelements, either Purchase Orders or Delivery Orders -->
<!ELEMENT Order (#PCDATA)>
<!ATTLIST Order OrderType (Purchase | Delivery) #IMPLIED >
<!-- A Order Date Contains the subelements of Day, Month, and Year -->
<!ELEMENT OrderDate (Order_Day, Order_Month, Order_Year)>
<!ELEMENT Order_Day (#PCDATA)>
<!ELEMENT Order_Month (#PCDATA)>
<!ELEMENT Order_Year (#PCDATA)>
<!-- A Contract Number Contains no subelements -->
<!ELEMENT ContractNo (#PCDATA)>
<!-- A Order Number Contains no subelements -->
<!ELEMENT OrderNo (#PCDATA)>
<!-- The Issuing Office Contact Contains the subelements Name1, Name2, Comm1, and Comm2-->
<!ELEMENT IssuingOfficeContact (IO_Name1,IO_Name2,IO_Comm1,IO_Comm2)>
<!ELEMENT IO_Name1 (#PCDATA)>
<!ELEMENT IO_Name2 (#PCDATA)>
<!ELEMENT IO_Comm1 (#PCDATA)>
<!ELEMENT IO_Comm2 (#PCDATA)>
<!-- The ShipTo Contains the subelements Name, Street info line 1, Street info line 2, city, state, zipcode, and country-->
<!ELEMENT ShipTo (ShipTo_Name,ShipTo_Street1,ShipTo_Street2,ShipTo_City, ShipTo_State,ShipTo_Zip,ShipTo_Country)>
<!ELEMENT ShipTo_Name (#PCDATA)>
<!ELEMENT ShipTo_Street1 (#PCDATA)>
<!ELEMENT ShipTo_Street2 (#PCDATA)>
<!ELEMENT ShipTo_City (#PCDATA)>
<!ELEMENT ShipTo_State (#PCDATA)>
<!ELEMENT ShipTo_Zip (#PCDATA)>
<!ELEMENT ShipTo_Country (#PCDATA)>
<!-- The Contractor Contains the subelements Name, Street info line 1, Street info line 2, city, state, zipcode, country, and how the item(s) are to be shipped.-->
<!ELEMENT Contractor (Contractor_Name,Contractor_Street1,Contractor_Street2, Contractor_City,Contractor_State,Contractor_Zip,Contractor_Country)>
<!ELEMENT Contractor_Name (#PCDATA)>
<!ELEMENT Contractor_Street1 (#PCDATA)>
<!ELEMENT Contractor_Street2 (#PCDATA)>
<!ELEMENT Contractor_City (#PCDATA)>
<!ELEMENT Contractor_State (#PCDATA)>
<!ELEMENT Contractor_Zip (#PCDATA)>
<!ELEMENT Contractor_Country (#PCDATA)>
<!-- The Discount Terms Contain no subelements -->
<!ELEMENT DiscountTerms (#PCDATA)>
<!-- The Schedule Element Contains many subelements. The schedule is first broken into
primary elements of Item Number, Product ID, Quantity Ordered, Units, and Unit Price.
Because of the use of a static HTML table with 5 rows of data, each of these elements are
then broken into 5 elements. -->
<!ELEMENT Line_Item_Info (Item_No, Prod_ID, Description, Qty_Ord, Unit_Measure, Unit_Price)+>
<!ELEMENT Item_No (#PCDATA)>
<!ATTLIST Item_No Line CDATA #REQUIRED>
<!ELEMENT Prod_ID (#PCDATA)>
<!ELEMENT Description (#PCDATA)>
<!ELEMENT Qty_Ord (#PCDATA)>
<!ELEMENT Unit_Measure (#PCDATA)>
<!ELEMENT Unit_Price (#PCDATA)>
]>