What is the document header and how is it used?

The document header provides information to identify the contents of a data payload. It was developed to further automate the data exchange process so that data can be more readily identified during transport and at its processing destination. Currently, the NEI dataflow supports use of the header, but the generic header format can be extended by modifying or adding elements for use with other data flows.

The document header can describe what a data payload contains, who submitted it and when, as well as instructions on processing payload contents, such as whether the contents are additions, deletions, or updates. The header is independent of payload contents, so no data schema changes are necessary, and header usage by Network Nodes is optional-pass through can be employed.

Table 3.2. Common Network Exchange Header Fields:

Header ElementDescriptionFormatPossible ValuesRequiredExample Value
AuthorFirst and last name of individual generating XML file(s)stringAnyYesJohn Doe
OrganizationName of Company or Environmental Agency of individual generating XML file(s)stringAnyYesProvide name of the organization submitting the dataset
TitleType of SubmissionstringAny (e.g. Source type = Point, Nonpoint stationary, NonRoad Mobile, OnRoad Mobile, or Biogenic)YesBiogenic
CreationTimeTime when the document is generateddateTimeDate and time valueYes2003-12-12T12:12:12.0000000-05:00
CommentOpen text for submitter commentsstringAnyNoNEI submission
DataServiceName of a service requeststringAnyNoSubmitNEIByDate
ContactInfoStreet address, City, State, Zip code, Area code and telephone number, Email addressstringAnyNo8400 Corporate Dr., Lanham, MD, 20784, 301-555-5555, someone@somewhere.com
NotificationA URI where result/report can be sentanyURIURI valueNoemail@domain.com
SensitivityLevel of document sensitivitystringUnclassified, Confidential, Secret, TopSecretNoUnclassified
PropertyOther properties of the document (use name value pairs)string/stringAny/AnyNoSee table below
Operation (Payload attribute)Operation to be performed (submission status)stringAdd, Update, Delete, Refresh, UnspecifiedYesRefresh

Note that any number of Notification elements can be specified in a single XML instance document.

Table 3.3. Proposed NEI-specific fields (Inserted using the Property tag elements):

Header ElementDescriptionFormatPossible ValuesRequiredExample Value
GeographicCoverageRepresentative geographic area for the data submittedstringAny (e.g., Statewide, Nonattainment area, or Other)YesStatewide
PollutantCoveragePollutantCode(s) included in file(s)stringVOC; NOx; CO; SO2; PM10; PM2.5; NH3; HAPsYesVOC; NOx; CO; SO2; PM2.5; NH3
InventoryYearYear of inventory data in data setstringSubmission year (YYYY)Yes2002 data for the 2004 reporting year

Generic Header Elements

Optional Header Elements

You can either design your own header using an XML generator, or take advantage of the free toolkit offered by the Exchange Network in .NET or Java versions. The toolkits can be downloaded from the following links:

.NET V0.9 (Beta):

https://test.epacdxnode.net/CDX_HEADER_NET_CSHARP_TEST_V09.zip

Java V0.9 (Beta):

https://test.epacdxnode.net/CDX_HEADER_V09.zip

Toolkit Source code:

.NET V0.9 (Beta): https://test.epacdxnode.net/CDX_HEADER_NET_CSHARP_SRC.zip

Header Schema:

Network Exchange Document schema V0.9 (Beta):

https://test.epacdxnode.net/ExchangeNetworkDocument.xsd

An XML snippet for composing your own header is provided Here

A sample NEI Header Document can be found Here