back to top   Aufgabenstellung (insg. 50 Punkte)

 

L? Sie die nachfolgenden Aufgaben zu den XML-Grammatiksprachen.

1. Korrigieren Sie die syntaktischen Fehler der folgenden DTD (10 Punkte)

<!ELEMENT Bibliothek (Buecher*)*>
<!ELEMENT Buch ((Autor+|Herausgeber+),Klappentext?,Inhalt)>
<!AUTOR Element (Person)>
<!ELEMENT Person (Vorname+,Nachname)>
<!ELEMENT Vorname #PCDATA>
<!ELEMENT Nachname #PCDATA>
<!ELEMENT Klappentext (bold|underline|#PCDATA)+>
<!ELEMENT bold (EMPTY)>
<!ELEMENT underline (EMPTY)>
<!ELEMENT Inhalt (Inhaltsverzeichnis,Text)>
<!ELEMENT Text (Kapitel)+>
<!ELEMENT Kapitel (Uberschrift?,Titel,Fliesstext)>
<!ATTLIST Kapitel
   kapNr  #PCDATA #OPTIONAL>
<!ELEMENT Fliesstext (#CDATA)>

Download

2. DTD-Konvertierung (10 Punkte)

Geben Sie für folgende DTD eine äquivalente Schemadarstellung gemäß der W3C XML Schema Recommendation an.

<!ELEMENT MailClient (Identifikation , Nachrichten?)>
<!ELEMENT Identifikation (UnterstuetzteSprachen)?>
<!ATTLIST Identifikation
   name        CDATA    #REQUIRED
   version     CDATA    #IMPLIED >
<!ELEMENT UnterstuetzteSprachen (Sprache+)>
<!ELEMENT Sprache (#PCDATA)>
<!ELEMENT Nachrichten (Nachricht+)>
<!ELEMENT Nachricht (Sender,Sendedatum,Text)>
<!ATTLIST Nachricht
   id          ID       #REQUIRED
   ref         IDREF    #IMPLIED
   codierung   CDATA    'UTF-8'
   transferCodierung    (ASCII7-Bit | ASCII8-Bit )  'ASCII8-Bit' >
<!ELEMENT Sender (#PCDATA)>
<!ELEMENT Sendedatum (#PCDATA)>
<!ELEMENT Text (#PCDATA | Fettdruck | Unterstreichung | Kursivschreibung)*>
<!ELEMENT Fettdruck (#PCDATA)>
<!ELEMENT Unterstreichung (#PCDATA)>
<!ELEMENT Kursivschreibung (#PCDATA)>

Download

3. Erstellen Sie ein Schema, das die nachfolgend aufgeführten Zusammenhänge abbildet (10 Punkte):

4. Geben Sie zum nachfolgenden Schema eine schema-valid Dokumentinstanz an (10 Punkte)

<?xml version="1.0" encoding="UTF-8"?>
<xsd:schema xmlns:xsd = "http://www.w3.org/2001/XMLSchema">
   <xsd:element name = "pkw">
      <xsd:complexType>
         <xsd:sequence>
            <xsd:element name = "rad" minOccurs = "4" maxOccurs = "5"/>
            <xsd:element ref = "farbe"/>
            <xsd:element ref = "gewicht"/>
         </xsd:sequence>
         <xsd:attribute name = "nummer" use = "required" type = "autoNummerType"/>
         <xsd:attribute name = "line" use = "required">
            <xsd:simpleType>
               <xsd:restriction base = "xsd:string">
                  <xsd:enumeration value = "Classic"/>
                  <xsd:enumeration value = "Elegance"/>
                  <xsd:enumeration value = "Avantgarde"/>
               </xsd:restriction>
            </xsd:simpleType>
         </xsd:attribute>
      </xsd:complexType>
   </xsd:element>
   <xsd:element name = "farbe">
      <xsd:complexType>
         <xsd:attribute name = "name" use = "required">
            <xsd:simpleType>
               <xsd:restriction base = "xsd:string">
                  <xsd:enumeration value = "Dunkelblau"/>
                  <xsd:enumeration value = "Firnwei?/>
                  <xsd:enumeration value = "Magmarot"/>
                  <xsd:enumeration value = "Schwarz"/>
                  <xsd:enumeration value = "Smaragdschwarz"/>
                  <xsd:enumeration value = "Japisblau"/>
                  <xsd:enumeration value = "Tansanitblau"/>
                  <xsd:enumeration value = "Alexandritgrün"/>
                  <xsd:enumeration value = "Brilliantsilber"/>
                  <xsd:enumeration value = "Tektitgrau"/>
                  <xsd:enumeration value = "Obsidianschwarz"/>
                  <xsd:enumeration value = "Titanrot"/>
                  <xsd:enumeration value = "Travertinbeige"/>
                  <xsd:enumeration value = "Amethystviolett"/>
               </xsd:restriction>
            </xsd:simpleType>
         </xsd:attribute>
      </xsd:complexType>
   </xsd:element>
   <xsd:simpleType name = "autoNummerType">
      <xsd:restriction base = "xsd:string">
         <xsd:pattern value = "[A-Z]{1,3}-[A-Z]{1,2} \d{1,4}"/>
      </xsd:restriction>
   </xsd:simpleType>
   <xsd:simpleType name = "pkwZulGesamtgewichtType">
      <xsd:restriction base = "xsd:decimal">
         <xsd:maxInclusive value = "7500"/>
         <xsd:minInclusive value = "0"/>
      </xsd:restriction>
   </xsd:simpleType>
   <xsd:element name = "nummer" type = "autoNummerType"/>
   <xsd:element name = "gewicht" type = "gewichtType"/>
   <xsd:complexType name = "gewichtType">
      <xsd:all>
         <xsd:element name = "leergewicht" type = "xsd:positiveInteger"/>
         <xsd:element name = "zulGesamtgewicht" type = "pkwZulGesamtgewichtType"/>
      </xsd:all>
   </xsd:complexType>
</xsd:schema>

Download

5. Geben Sie für das nachfolgende Dokument ein g?s XML-Schema an (10 Punkte)

<?xml version = "1.0" encoding = "UTF-8"?>
<Tagungsband xmlns:xsi = "http://www.w3.org/2001/XMLSchema-instance"
   xsi:noNamespaceSchemaLocation = "http://www.jeckle.de/vorlesung/xml/aufg35Loesung.xml">
   <Titel>Tagungsband Net.ObjectDays 2001</Titel>
   <Untertitel>Offizielle Nachfolge-Veranstaltung der JavaDays, STJA, JIT, DJEK
   In Zusammenarbeit mit der GCSE</Untertitel>
   <Veranstaltung beginn = "2001-09-10" dauer = "P0Y0M3DT0H0M0S">
      <Titel>Net.ObjectDays</Titel>
      <Ort>Erfurt</Ort>
   </Veranstaltung>
</Tagungsband>

Download

back to top   Termine

 

Ausgabe: Mittwoch, 2001-12-05
Abgabe: Freitag, 2001-12-14




separator line
Service provided by Mario Jeckle
Generated: 2004-06-07T12:31:16+01:00
Feedback Feedback       SiteMap SiteMap
This page's original location This page's original location: http://www.jeckle.de/vorlesung/xml/p3.html
RDF metadata describing this page RDF description for this page