<?xml version="1.0" encoding="ISO-8859-1"?>

<!-- **********************************************************************

     Schema   : DatML/RAW
     Version  : 1.0
     Variante : D
     Edition  : 2
     Typ      : XML-DTD
     Namespace: http://www.destatis.de/schema/datml-raw/1.0/d
     Stand    : 20030516
     Autor    : Michael Schaefer
                Statistisches Bundesamt
                Gustav-Stresemann-Ring 11
                D-65189 Wiesbaden
                Tel. +49(0)611/75-3652
                Fax +49(0)611/72-4000
                mailto:michael.schaefer@destatis.de
                
     Beschreibung:

     DatML/RAW ist ein Dokumenttyp für die Lieferung statistischer Daten
     durch Berichtspflichtige oder in deren Namen handelnde Dritte an die
     Statistischen Aemter oder fuer diese empfangende Stellen.
     
     Mit DatML/RAW koennen Daten fuer beliebige Erhebungen und Berichtszeit-
     raeume als Erst-, Nach- und Korrekturlieferung uebertragen werden.
     
     Eine ausfuehrliche Spezifikation ist vom Autor und unter der Internet-
     Adresse http://www.statspez.de erhaeltlich.
     
     Updates (U) und Korrekturen (K):
     
     001 K 20021020/K/1.0.2/D//Michael Schaefer
           - Element <mmgr> in Inhaltsmodell von <satz> aufgenommen
     002 U 20030516/U/1.0.2/D//Michael Schaefer
           - Element <identifikation> als optional erklaert.
           - Neues Element <url> als Kindknoten von <kontakt>
           - Neue Elemente <postfachleitzahl> und <postfachort>
           - <telefon>, <email> und <fax> sowie <url> duerfen nur noch
             einmal und in dieser Reihenfolge angegeben werden, jedoch sind
             alle Elemente weiterhin optional.
     
     **********************************************************************
     -->

<!-- Root-Element
     Das Attribut 'version' muss immer angegeben werden. Absender, Empfaenger
     und mindestens eine Nachricht sind Mindestbestandteile eines DatML/RAW-
     Dokumentes.
     -->
     <!ELEMENT DatML-RAW-D (memo?, optionen?, protokoll?, absender, empfaenger, nachricht+, anzahl?)>
     <!ATTLIST DatML-RAW-D
                   version (1.0) #REQUIRED
                   >
     <!ELEMENT nachricht (memo?, (erhebung | berichtszeitraum | berichtspflichtiger | berichtsempfaenger | material | lieferattribute | datenattribute | hmm)*, (omm | satz+ | segment+))>
     <!ELEMENT segment (memo?, (erhebung | berichtszeitraum | berichtspflichtiger | berichtsempfaenger | material | lieferattribute | datenattribute | hmm)+, (omm | satz+ | segment+))>
     

<!-- Absender und Empfaenger
     -->
     <!ELEMENT absender (kennung, berechtigung?, identifikation?, kontakt?, korrektur?, memo?)>
         <!-- Inhaltsmodell 1.0.2 20030516 s.o.
              Inhaltsmodell 1.0.1: (kennung, berechtigung?, identifikation, kontakt?, korrektur?, memo?)
         -->
         
     <!ELEMENT empfaenger (kennung?, identifikation?, kontakt?, memo?)>
         <!-- Inhaltsmodell 1.0.2 20030516 s.o.
              Inhaltsmodell 1.0.1: (kennung?, identifikation, kontakt?, memo?)
         -->


<!-- Identifikation und Kontaktangaben
     -->
     <!ELEMENT adresse (strasse?, postfach?, postfachleitzahl?, postfachort?, postleitzahl, ort, kreis?, bundesland?, land?, zusatz?)>
     <!ELEMENT anrede (#PCDATA)>
     <!ATTLIST anrede
                   zeilennummer CDATA #IMPLIED
     	           html-name CDATA #IMPLIED
                   >
     <!ELEMENT bundesland (#PCDATA)>
     <!ATTLIST bundesland 
                   zeilennummer CDATA #IMPLIED
     	           html-name CDATA #IMPLIED
                   >
     <!ELEMENT email (#PCDATA)>
     <!ATTLIST email
                   zeilennummer CDATA #IMPLIED
     	           html-name CDATA #IMPLIED
                   >
     <!ELEMENT fax (#PCDATA)>
     <!ATTLIST fax zeilennummer CDATA #IMPLIED
     	           html-name CDATA #IMPLIED
                   >
     <!ELEMENT identifikation (zeile+ | (identitaet, adresse?))>
     <!ELEMENT identitaet (organisation?, person?)>
     
     <!ELEMENT kontakt (zeile+ | (identitaet?, telefon?, email?, fax?, url?))>
         <!-- Inhaltsmodell 1.0.2 20030516 s.o.
              Inhaltsmodell 1.0.1: (zeile+ | (identitaet?, (telefon | email | fax)*))
         -->
         
     <!ELEMENT korrektur (identifikation?, kontakt?)>
     <!ELEMENT kreis (#PCDATA)>
     <!ATTLIST kreis
                   zeilennummer CDATA #IMPLIED
     	           html-name CDATA #IMPLIED
                   >
     <!ELEMENT land (#PCDATA)>
     <!ATTLIST land
                   zeilennummer CDATA #IMPLIED
     	           html-name CDATA #IMPLIED
                   >
     <!ELEMENT nachname (#PCDATA)>
     <!ATTLIST nachname
                   zeilennummer CDATA #IMPLIED
     	           html-name CDATA #IMPLIED
                   >
     <!ELEMENT niederlassung (#PCDATA)>
     <!ATTLIST niederlassung
                   zeilennummer CDATA #IMPLIED
     	           html-name CDATA #IMPLIED
                   >
     <!ELEMENT organisation (name, niederlassung?, zusatz?)>
     <!ELEMENT ort (#PCDATA)>
     <!ATTLIST ort zeilennummer CDATA #IMPLIED
     	           html-name CDATA #IMPLIED
                   >
     <!ELEMENT person (anrede?, titel?, vorname?, nachname, zusatz?)>
     <!ELEMENT postfach (#PCDATA)>
     <!ATTLIST postfach
                   zeilennummer CDATA #IMPLIED
     	           html-name CDATA #IMPLIED
                   >
     <!ELEMENT postfachleitzahl (#PCDATA)>
     <!ATTLIST postfachleitzahl
                   zeilennummer CDATA #IMPLIED
     	           html-name CDATA #IMPLIED
                   >
     <!ELEMENT postfachort (#PCDATA)>
     <!ATTLIST postfachort
                   zeilennummer CDATA #IMPLIED
     	           html-name CDATA #IMPLIED
                   >
     <!ELEMENT postleitzahl (#PCDATA)>
     <!ATTLIST postleitzahl
                   zeilennummer CDATA #IMPLIED
     	           html-name CDATA #IMPLIED
                   >
     <!ELEMENT strasse (#PCDATA)>
     <!ATTLIST strasse
                   zeilennummer CDATA #IMPLIED
     	           html-name CDATA #IMPLIED
                   >
     <!ELEMENT telefon (#PCDATA)>
     <!ATTLIST telefon
                   zeilennummer CDATA #IMPLIED
     	           html-name CDATA #IMPLIED
                   >
     <!ELEMENT titel (#PCDATA)>
     <!ATTLIST titel
                   zeilennummer CDATA #IMPLIED
                   html-name CDATA #IMPLIED
                   >
                     
     <!ELEMENT url (#PCDATA)>
     <!ATTLIST url zeilennummer CDATA #IMPLIED
     	           html-name CDATA #IMPLIED
                   >
         <!-- Neues Element 1.0.2 20030516 s.o.
         -->

     <!ELEMENT vorname (#PCDATA)>
     <!ATTLIST vorname
                   zeilennummer CDATA #IMPLIED
     	           html-name CDATA #IMPLIED
                   >
     <!ELEMENT zeile (#PCDATA)>
     <!ATTLIST zeile
                   zeilennummer CDATA #IMPLIED
     	           html-name CDATA #IMPLIED
                   >


<!-- Statistischer Kontext
     -->
     <!ELEMENT beginn (jahr, (halbjahr | quartal | (monat, tag?) | woche)?)>
     
     <!ELEMENT berichtsempfaenger (kennung?, identifikation?, kontakt?, memo?)>
         <!-- Inhaltsmodell 1.0.2 20030516 s.o.
              Inhaltsmodell 1.0.1: (kennung?, identifikation, kontakt?, memo?)
         -->

     <!ELEMENT berichtspflichtiger (kennung, berechtigung?, identifikation?, kontakt?, korrektur?, memo?)>
         <!-- Inhaltsmodell 1.0.2 20030516 s.o.
              Inhaltsmodell 1.0.1: (kennung, berechtigung?, identifikation, kontakt?, korrektur?, memo?)
         -->

     <!ELEMENT berichtszeitraum (string | (jahr, (halbjahr | quartal | (monat, tag?) | woche)?) | (beginn, ende))>
     <!ELEMENT datenattribute EMPTY>
     <!ATTLIST datenattribute
                   dezimalzeichen CDATA ","
     	           tausender-trennzeichen CDATA "."
                   >
     <!ELEMENT ende (jahr, (halbjahr | quartal | (monat, tag?) | woche)?)>
     <!ELEMENT erhebung (kennung, text?, berechtigung?)>
     <!ELEMENT halbjahr (#PCDATA)>
     <!ELEMENT hmm (memo?, wert)>
     <!ATTLIST hmm name CDATA #REQUIRED
     	           text CDATA #IMPLIED
     	           klasse CDATA #IMPLIED
     	           html-name CDATA #IMPLIED
                   >
     <!ELEMENT jahr (#PCDATA)>
     <!ELEMENT lieferattribute EMPTY>
     <!ATTLIST lieferattribute
                   lieferstatus (default | erstlieferung | nachlieferung | korrektur) "default"
     	           liefernummer CDATA #IMPLIED
                   >
     <!ELEMENT material (name?, kennung?, version?)>
     <!ELEMENT monat (#PCDATA)>
     <!ELEMENT quartal (#PCDATA)>
     <!ELEMENT tag (#PCDATA)>
     <!ELEMENT woche (#PCDATA)>


<!-- Daten
     -->
     <!ELEMENT mm (memo?, (wert | na))>
     <!ATTLIST mm  name CDATA #REQUIRED
     	           text CDATA #IMPLIED
     	           klasse CDATA #IMPLIED
     	           html-name CDATA #IMPLIED
                   >
     <!ELEMENT mmgr (mm+)>
     <!ATTLIST mmgr
                   name CDATA #REQUIRED
     	           klasse CDATA #IMPLIED
     	           text CDATA #IMPLIED
     	           html-name CDATA #IMPLIED
     	           index CDATA #IMPLIED
                   >
     <!ELEMENT na (#PCDATA)>
     <!ELEMENT omm (memo?, (wert, (omm | satz+))+)>
     <!ATTLIST omm name CDATA #REQUIRED
     	           text CDATA #IMPLIED
     	           klasse CDATA #IMPLIED
     	           html-name CDATA #IMPLIED
                   >
     <!ELEMENT satz ((mm | mmgr)+, anzahl?)>
     <!ATTLIST satz
                   kennung CDATA #IMPLIED
                   >
     <!ELEMENT wert (#PCDATA)>
     <!ATTLIST wert
                   einheit-basis (anzahl | k | m | m2 | m3 | text) "anzahl"
     	           einheit-faktor CDATA "1"
     	           einheit-text CDATA #IMPLIED
                   >


<!-- Verarbeitungssteuerung
     Es ist moeglich, Testdokumente zu kennzeichnen und eine Empfangsbestae-
     tigung anzuforden (Unterstuetzung vom Implementierungsgrad und ggf. von
     der Erhebung abhaengig)
     -->
     <!ELEMENT optionen (test?, empfangsbestaetigung?)>
     <!ELEMENT test EMPTY>
     <!ATTLIST test
                   kennung CDATA #IMPLIED
                   >
     <!ELEMENT empfangsbestaetigung EMPTY>
     <!ATTLIST empfangsbestaetigung
                   versandart (default | email | post) "default"
     	           format (default | xml | text) "default"
     	           betreff CDATA #IMPLIED
                   >
     
     
<!-- Protokollierung
     Der Dateneingang und beliebig viele Dokumentinstanzen koennen proto-
     kolliert werden.
     -->
     <!ELEMENT protokoll (eingang?, instanz*)>
     <!ELEMENT eingang EMPTY>
     <!ATTLIST eingang datum CDATA #IMPLIED
     	          uhrzeit CDATA #IMPLIED
               	  anwendung CDATA #IMPLIED
               	  liefermedium (undefiniert | internet | datentraeger) "undefiniert"
               	  datentraegertyp (undefiniert | diskette | cdrom | dvd | kassette | magnetband | fragebogen) "undefiniert"
               	  datentraeger-id CDATA #IMPLIED
               	  lieferformattyp (undefiniert | datensatz | csv | xml | html) "undefiniert"
     	          lieferformatname CDATA #IMPLIED
     	          fragebogen CDATA #IMPLIED
     	          dateiname CDATA #IMPLIED
                       >     
     <!ELEMENT instanz EMPTY>
     <!ATTLIST instanz datum CDATA #IMPLIED
     	          uhrzeit CDATA #IMPLIED
     	          anwendung CDATA #IMPLIED
     	          >


<!-- Sonstige Elemente
     -->
     <!ELEMENT anzahl (#PCDATA)>
     <!ELEMENT berechtigung (#PCDATA)>
     <!ATTLIST berechtigung
                   klasse CDATA "default"
                   >
     <!ELEMENT kennung (#PCDATA)>
     <!ATTLIST kennung
                   klasse CDATA "default"
                   >
     <!ELEMENT memo (#PCDATA)>
     <!ELEMENT name (#PCDATA)>
     <!ATTLIST name
                   zeilennummer CDATA #IMPLIED
     	           html-name CDATA #IMPLIED
                   >
     <!ELEMENT string (#PCDATA)>
     <!ATTLIST string 
                   format CDATA #REQUIRED
     	           klasse (undefiniert | datum) #REQUIRED
                   >
     <!ELEMENT text (#PCDATA)>
     <!ELEMENT version (#PCDATA)>
     <!ELEMENT zusatz (#PCDATA)>

<!-- Ende der DTD -->