Announcement

Collapse
No announcement yet.

SAX - Übung bringt Fehler

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • SAX - Übung bringt Fehler

    Hy, ich habe eine Übungsaufgabe für SAX.

    "Ausgabe eines Swing-Fensters und Randdaten aus XML-Datei"

    Laut Buch, müsste Sie so funktionieren. Leider kann ich mit der Fehlermeldung nichts anfangen.

    Im Anhang befindet sich das Projekt.
    Der Code ist ORIGINAL aus dem Buch.

    Ich benutze

    Eclipse IDE for Java Developers
    Version: Helios Service Release 2
    Build id: 20110218-0911

    java version "1.7.0_03"
    Java(TM) SE Runtime Environment (build 1.7.0_03-b05)
    Java HotSpot(TM) Client VM (build 22.1-b02, mixed mode, sharing)

    Fehlermeldung:
    org.xml.sax.SAXParseException; lineNumber: 3; columnNumber: 8; Dokument-Root-Element "frame"muss mit DOCTYPE-Root "config_jaxp.dtd" übereinstimmen.
    at com.sun.org.apache.xerces.internal.util.ErrorHandl erWrapper.createSAXParseException(Unknown Source)
    at com.sun.org.apache.xerces.internal.util.ErrorHandl erWrapper.error(Unknown Source)
    at com.sun.org.apache.xerces.internal.impl.XMLErrorRe porter.reportError(Unknown Source)
    at com.sun.org.apache.xerces.internal.impl.XMLErrorRe porter.reportError(Unknown Source)
    at com.sun.org.apache.xerces.internal.impl.XMLErrorRe porter.reportError(Unknown Source)
    at com.sun.org.apache.xerces.internal.impl.dtd.XMLDTD Validator.rootElementSpecified(Unknown Source)
    at com.sun.org.apache.xerces.internal.impl.dtd.XMLDTD Validator.handleStartElement(Unknown Source)
    at com.sun.org.apache.xerces.internal.impl.dtd.XMLDTD Validator.startElement(Unknown Source)
    at com.sun.org.apache.xerces.internal.impl.XMLDocumen tFragmentScannerImpl.scanStartElement(Unknown Source)
    at com.sun.org.apache.xerces.internal.impl.XMLDocumen tScannerImpl$ContentDriver.scanRootElementHook(Unk nown Source)
    at com.sun.org.apache.xerces.internal.impl.XMLDocumen tFragmentScannerImpl$FragmentContentDriver.next(Un known Source)
    at com.sun.org.apache.xerces.internal.impl.XMLDocumen tScannerImpl$PrologDriver.next(Unknown Source)
    at com.sun.org.apache.xerces.internal.impl.XMLDocumen tScannerImpl.next(Unknown Source)
    at com.sun.org.apache.xerces.internal.impl.XMLDocumen tFragmentScannerImpl.scanDocument(Unknown Source)
    at com.sun.org.apache.xerces.internal.parsers.XML11Co nfiguration.parse(Unknown Source)
    at com.sun.org.apache.xerces.internal.parsers.XML11Co nfiguration.parse(Unknown Source)
    at com.sun.org.apache.xerces.internal.parsers.XMLPars er.parse(Unknown Source)
    at com.sun.org.apache.xerces.internal.parsers.Abstrac tSAXParser.parse(Unknown Source)
    at com.sun.org.apache.xerces.internal.jaxp.SAXParserI mpl$JAXPSAXParser.parse(Unknown Source)
    at com.sun.org.apache.xerces.internal.jaxp.SAXParserI mpl.parse(Unknown Source)
    at javax.xml.parsers.SAXParser.parse(Unknown Source)
    at xmlDokumente.Listing4322.readConfig(Listing4322.java:48)
    at xmlDokumente.Listing4322.<init>(Listing4322.java:22)
    at xmlDokumente.Listing4322.main(Listing4322.java:110)


    Ich komme hier einfach nicht weiter.

    Vielen Dank im Voraus.

    Gruß

    Lerando
    Attached Files

  • #2
    in der DTD fehlt diue Deklaration des Root-Elementes
    Christian

    Comment


    • #3
      Originally posted by Christian Marquardt View Post
      in der DTD fehlt die Deklaration des Root-Elementes
      Ich kenne mich mit XMl nicht aus, wo muss ich dieses Root-Element eintragen?
      hier die dtd::
      [highlight=xml]
      <?xml version="1.0" encoding="UTF-8"?>
      <!ELEMENT frame (title, font, fgcolor, bgcolor)>

      <!-- Fenstertitel -->
      <!ELEMENT title (#PCDATA)>

      <!-- Schriftart -->
      <!ELEMENT font (#PCDATA) >
      <!ATTLIST font size CDATA "12">

      <!-- Vordergrundfarbe -->
      <!ELEMENT fgcolor (#PCDATA)>

      <!-- Hintergrundfarbe -->
      <!ELEMENT bgcolor (#PCDATA)>
      [/highlight]

      Danke

      Gruß Lerando

      Comment


      • #4
        http://lmgtfy.com?q=dtd+root+element
        Christian

        Comment


        • #5
          Super.

          Hat mir geholfen.

          Ein Eintrag in dem <!DOCTYPE.. in der xml-Datei ist falsch.

          Der Code aus dem Buch
          [highlight=xml]
          <?xml version="1.0" encoding="UTF-8"?>
          <!DOCTYPE config_jaxp.dtd SYSTEM "config_jaxp.dtd">

          <frame>
          <title>XML-Beispiel</title>
          <font size="11">Arial</font>
          <fgcolor>0</fgcolor>
          <bgcolor>16777215</bgcolor>
          </frame>
          [/highlight]
          ist falsch. Dort wird der Name der Datei als DOCTYPE ausgegeben. Das ist falsch.

          Richtig ist:
          [highlight=xml]
          <?xml version="1.0" encoding="UTF-8"?>
          <!DOCTYPE frame SYSTEM "config_jaxp.dtd">

          <frame>
          <title>XML-Beispiel</title>
          <font size="11">Arial</font>
          <fgcolor>0</fgcolor>
          <bgcolor>16777215</bgcolor>
          </frame>
          [/highlight]
          Das DOCTYPE muss mit dem Root in der dtd übereinstimmen. In diesem Beispiel also frame

          Danke für die rasche Antwort.

          Gruß Lerando

          Comment

          Working...
          X