matheraum.de
Raum für Mathematik
Offene Informations- und Nachhilfegemeinschaft

Für Schüler, Studenten, Lehrer, Mathematik-Interessierte.
Hallo Gast!einloggen | registrieren ]
Startseite · Forum · Wissen · Kurse · Mitglieder · Team · Impressum
Forenbaum
^ Forenbaum
Status Hochschulmathe
  Status Uni-Analysis
    Status Reelle Analysis
    Status UKomplx
    Status Uni-Kompl. Analysis
    Status Differentialgl.
    Status Maß/Integrat-Theorie
    Status Funktionalanalysis
    Status Transformationen
    Status UAnaSon
  Status Uni-Lin. Algebra
    Status Abbildungen
    Status ULinAGS
    Status Matrizen
    Status Determinanten
    Status Eigenwerte
    Status Skalarprodukte
    Status Moduln/Vektorraum
    Status Sonstiges
  Status Algebra+Zahlentheo.
    Status Algebra
    Status Zahlentheorie
  Status Diskrete Mathematik
    Status Diskrete Optimierung
    Status Graphentheorie
    Status Operations Research
    Status Relationen
  Status Fachdidaktik
  Status Finanz+Versicherung
    Status Uni-Finanzmathematik
    Status Uni-Versicherungsmat
  Status Logik+Mengenlehre
    Status Logik
    Status Mengenlehre
  Status Numerik
    Status Lin. Gleich.-systeme
    Status Nichtlineare Gleich.
    Status Interpol.+Approx.
    Status Integr.+Differenz.
    Status Eigenwertprobleme
    Status DGL
  Status Uni-Stochastik
    Status Kombinatorik
    Status math. Statistik
    Status Statistik (Anwend.)
    Status stoch. Analysis
    Status stoch. Prozesse
    Status Wahrscheinlichkeitstheorie
  Status Topologie+Geometrie
  Status Uni-Sonstiges

Gezeigt werden alle Foren bis zur Tiefe 2

Navigation
 Startseite...
 Neuerdings beta neu
 Forum...
 vorwissen...
 vorkurse...
 Werkzeuge...
 Nachhilfevermittlung beta...
 Online-Spiele beta
 Suchen
 Verein...
 Impressum
Das Projekt
Server und Internetanbindung werden durch Spenden finanziert.
Organisiert wird das Projekt von unserem Koordinatorenteam.
Hunderte Mitglieder helfen ehrenamtlich in unseren moderierten Foren.
Anbieter der Seite ist der gemeinnützige Verein "Vorhilfe.de e.V.".
Partnerseiten
Weitere Fächer:

Open Source FunktionenplotterFunkyPlot: Kostenloser und quelloffener Funktionenplotter für Linux und andere Betriebssysteme
StartseiteMatheForenSonstigesXML parsen
Foren für weitere Schulfächer findest Du auf www.vorhilfe.de z.B. Deutsch • Englisch • Französisch • Latein • Spanisch • Russisch • Griechisch
Forum "Sonstiges" - XML parsen
XML parsen < Sonstiges < Hochschule < Informatik < Vorhilfe
Ansicht: [ geschachtelt ] | ^ Forum "Sonstiges"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien

XML parsen: grundlegende Fragen
Status: (Frage) beantwortet Status 
Datum: 19:27 So 28.10.2007
Autor: Bastiane

Hallo!

In meiner zweiten Aufgabe soll ich Fehler in einem XML-Dokument finden. Dazu soll ich das Dokument mit Saxon parsen, als Anleitung dazu steht auf dem Übungszettel folgendes:

XML parsen mit Saxon
Dazu wenden wir einen kleinen Trick an. Zunächst erzeugen wir eine Datei query, die nur eine Zeile mit dem Schrägstrich / enthält. Dann rufen wir Saxon als XQuery-Prozessor auf:
echo / > query
java -cp saxon8.jar net.sf.saxon.Query -1.1 -s meine_datei.xml query


Dazu habe ich aber ein paar grundlegende Fragen, denn ich weiß damit erstmal nichts anzufangen... [peinlich]

1.) Um das Dokument überhaupt parsen zu können, muss ich es ja irgendwo (als Datei??) in den Computer bekommen. Kann ich es da mit einem beliebigen Editor schreiben? Oder wie muss ich das machen?
2.) Die Datei "query", die erzeugt werden soll - womit wird die erzeugt? Und wo gebe ich dieses "echo..." ein um das irgendwie aufzurufen?

Sorry, habe da leider überhaupt keine Ahnung von. Deswegen wäre es super, wenn mir das jemand erklären könnte...

Viele Grüße
Bastiane
[cap]


        
Bezug
XML parsen: Antwort
Status: (Antwort) fertig Status 
Datum: 20:08 So 28.10.2007
Autor: Martin243

Hallo Bastiane,

> 1.) Um das Dokument überhaupt parsen zu können, muss ich es ja irgendwo (als Datei??) in den Computer bekommen. Kann ich es da mit einem beliebigen Editor schreiben? Oder wie muss ich das machen?

Ja natürlich! XML ist ja Klartext. Also: Wordpad oder einen XML-fähigen (Syntax-Highlighting!) Editor öffnen, schreiben, speichern, fertig!

> 2.) Die Datei "query", die erzeugt werden soll - womit wird die erzeugt?
> Und wo gebe ich dieses "echo..." ein um das irgendwie aufzurufen?

Aah! Windows-Benutzerin? (ich auch) Das Beispiel bezieht sich wahrscheinlich auf ein Unix-BS, aber auch Windows hat eine Kommandozeile: Windows-Taste und R drücken, "cmd" eintippen und du bekommst eine Kommandozeile.
Dort tippst du dann "echo / > query" ein und der Befehl echo (der das tut, was sein Name sagt) wiederholt die Eingabe (den /), wobei die Ausgabe aber durch das > umgeleitet wird in die Datei query.
Schon hast du deine Datei erzeugt.
Beachte: Eine etwaige alte Datei desselben Namens wird gnadenlos überschrieben!
Vorher ggf. noch mit dem cd-Befehl ins richtige Verzeichnis wechseln!

Ein "help" in der Kommandozeile kann helfen.
Viele Befehle untertützen auch die Option "/?", die weiterhelfen kann. Also z.B.: cd /?


Gruß
Martin

Bezug
                
Bezug
XML parsen: Frage (beantwortet)
Status: (Frage) beantwortet Status 
Datum: 00:15 Mo 29.10.2007
Autor: Bastiane

Hallo Martin!

> > 1.) Um das Dokument überhaupt parsen zu können, muss ich es
> ja irgendwo (als Datei??) in den Computer bekommen. Kann
> ich es da mit einem beliebigen Editor schreiben? Oder wie
> muss ich das machen?
> Ja natürlich! XML ist ja Klartext. Also: Wordpad oder einen
> XML-fähigen (Syntax-Highlighting!) Editor öffnen,
> schreiben, speichern, fertig!

Hab's mit Wordpad gemacht. Aber muss ich es dann als ".xml" speichern? Hab' ich jedenfalls mal beides gemacht - so, wie's voreingestellt war und mit .xml.

> > 2.) Die Datei "query", die erzeugt werden soll - womit wird
> die erzeugt?
>  > Und wo gebe ich dieses "echo..." ein um das irgendwie

> aufzurufen?
> Aah! Windows-Benutzerin? (ich auch) Das Beispiel bezieht
> sich wahrscheinlich auf ein Unix-BS, aber auch Windows hat
> eine Kommandozeile: Windows-Taste und R drücken, "cmd"
> eintippen und du bekommst eine Kommandozeile.
>  Dort tippst du dann "echo / > query" ein und der Befehl

> echo (der das tut, was sein Name sagt) wiederholt die
> Eingabe (den /), wobei die Ausgabe aber durch das >
> umgeleitet wird in die Datei query.
>  Schon hast du deine Datei erzeugt.
>  Beachte: Eine etwaige alte Datei desselben Namens wird
> gnadenlos überschrieben!
>  Vorher ggf. noch mit dem cd-Befehl ins richtige
> Verzeichnis wechseln!

Ja, genau, benutze Windows. Mit was anderem kenne ich mich nicht aus ;-). Jedenfalls hat das soweit geklappt.
Allerdings kommt dann, wenn ich den Befehl "java..." eingebe, folgende Fehlermeldung:

"Exception in thread "main" java.lang.NoClassDefFoundError: net/sf/saxon/Query"

Was genau heißt das und was tue ich dagegen? Was hat das Ganze mit Java zu tun, wofür erzeuge ich eine fast leere Datei und was bedeutet dieser java-Befehl? Evtl. verstehe ich dann ein bisschen mehr, was ich da überhaupt gerade mache...

Viele Grüße
Bastiane
[cap]

Bezug
                        
Bezug
XML parsen: Antwort
Status: (Antwort) fertig Status 
Datum: 00:41 Mo 29.10.2007
Autor: rainerS

Hallo Bastiane,

> Hab's mit Wordpad gemacht. Aber muss ich es dann als ".xml"
> speichern? Hab' ich jedenfalls mal beides gemacht - so,
> wie's voreingestellt war und mit .xml.

Kommt drafu an. Dem Windows ist es eigentlich egal, ob die Datei query.xml heisst oder nicht. Der Explorer zeigt .xml Dateien mit anderem Symbol an

> Ja, genau, benutze Windows. Mit was anderem kenne ich mich
> nicht aus ;-). Jedenfalls hat das soweit geklappt.
> Allerdings kommt dann, wenn ich den Befehl "java..."
> eingebe, folgende Fehlermeldung:
>  
> "Exception in thread "main" java.lang.NoClassDefFoundError:
> net/sf/saxon/Query"

>

> Was genau heißt das und was tue ich dagegen? Was hat das
> Ganze mit Java zu tun, wofür erzeuge ich eine fast leere
> Datei und was bedeutet dieser java-Befehl? Evtl. verstehe
> ich dann ein bisschen mehr, was ich da überhaupt gerade
> mache...

Du sollst die (fehlerhafte) XML-Datei mit einem XML-Parser verarbeiten. In diesem speziellen Fall sollst du das in Java geschriebene Programm []Saxon benutzen. Saxon ist eigentlich ein XQuery-Prozessor, das ist ein Programm, das Teile aus einer XML-Datei extrahieren kann. Dazu muss es natürlich die XML-Datei parsen können. Mit dem einsamen / in der Datei query wird nach dem gesamten XML-Dokument gefragt. Wenn die XML-Datei korrekt ist, wird sie ausgegeben, ansonsten wird Saxon einen Fehler melden.

Die Kommandozeile
java -cp saxon8.jar net.sf.saxon.Query -1.1 -s meine_datei.xml query
weist java an, den Java-Bytecode in saxon8.jar zu laden und die main-Methode der Klasse net.sf.saxon.Query zu aufzurufen.

Die Fehlermeldung sagt, dass java die Klasse nicht gefunden hat. Hast du denn die Datei saxon8.jar in demselben Verzeichnis wie die Datei query?

  Viele Grüße
    Rainer


Bezug
                                
Bezug
XML parsen: Frage (beantwortet)
Status: (Frage) beantwortet Status 
Datum: 01:01 Mo 29.10.2007
Autor: Bastiane

Hallo Rainer!

> > "Exception in thread "main" java.lang.NoClassDefFoundError:
> > net/sf/saxon/Query"
>  >
>  > Was genau heißt das und was tue ich dagegen? Was hat das

> > Ganze mit Java zu tun, wofür erzeuge ich eine fast leere
> > Datei und was bedeutet dieser java-Befehl? Evtl. verstehe
> > ich dann ein bisschen mehr, was ich da überhaupt gerade
> > mache...
>  
> Du sollst die (fehlerhafte) XML-Datei mit einem XML-Parser
> verarbeiten. In diesem speziellen Fall sollst du das in
> Java geschriebene Programm
> []Saxon benutzen. Saxon ist
> eigentlich ein XQuery-Prozessor, das ist ein Programm, das
> Teile aus einer XML-Datei extrahieren kann. Dazu muss es
> natürlich die XML-Datei parsen können. Mit dem einsamen /
> in der Datei query wird nach dem gesamten XML-Dokument
> gefragt. Wenn die XML-Datei korrekt ist, wird sie
> ausgegeben, ansonsten wird Saxon einen Fehler melden.

Vielen Dank - jetzt verstehe ich schon etwas mehr. :-)
  

> Die Kommandozeile
>  
1: java -cp saxon8.jar net.sf.saxon.Query -1.1 -s 
2: > meine_datei.xml query

>  weist java an, den Java-Bytecode in saxon8.jar zu laden
> und die main-Methode der Klasse
> net.sf.saxon.Query zu aufzurufen.
>  
> Die Fehlermeldung sagt, dass java die Klasse nicht gefunden
> hat. Hast du denn die Datei saxon8.jar in demselben
> Verzeichnis wie die Datei query?

Hehe - ne, mein altbeliebter Fehler. [kopfschuettel] Hab's jetzt in dasselbe Verzeichnis gepackt, und theoretisch funktioniert es. Allerdings erhalte ich dann direkt eine Fehlermeldung für Zeile 1, Spalte 1. Die ersten Zeilen des Dokuments sehen so aus:

1 <! -- Mein zweiter Versuch , XML zu schreiben : -) -->
2 <?xml version ="1.1 " encoding ="UTF -8"?>
3 <html xmlns =" http: // www .w3.org /1999/ xhtml " xml:lang ="en" lang ="en">
4 <head id="e1">

Dürfen die Zahlen eigentlich in der Datei mit drin stehen? Wahrscheinlich nicht, aber ohne hat's bisher auch nicht geklappt.
Jedenfalls kommt als erste Fehlermeldung: "Content is not allowed in prolog." Was genau heißt das? Was darf da jetzt wo nicht stehen? Habe gedacht, dass da vllt kein Kommentar am Anfang stehen darf, aber als ich ihn gelöscht habe, hat es auch nicht funktioniert.
Dann habe ich auch mal die Datei aus meiner ersten Aufgabe genommen, und da gibt er dann als Fehlermeldung: "XML version "1.1 " is not supported, only XML 1.0 is supported." Wie kann ich das denn ändern? In der Aufgabenstellung heißt es nämlich ausdrücklich, dass es nur um XML 1.1 geht.

Viele Grüße
Bastiane
[cap]

Bezug
                                        
Bezug
XML parsen: Antwort
Status: (Antwort) fertig Status 
Datum: 01:21 Mo 29.10.2007
Autor: rainerS

Hallo Bastiane!


> Hehe - ne, mein altbeliebter Fehler. [kopfschuettel] Hab's
> jetzt in dasselbe Verzeichnis gepackt, und theoretisch
> funktioniert es. Allerdings erhalte ich dann direkt eine
> Fehlermeldung für Zeile 1, Spalte 1. Die ersten Zeilen des
> Dokuments sehen so aus:
>  
> 1 <! -- Mein zweiter Versuch , XML zu schreiben : -) -->
>  2 <?xml version ="1.1 " encoding ="UTF -8"?>
>  3 <html xmlns =" http: // www .w3.org /1999/ xhtml "
> xml:lang ="en" lang ="en">
>  4 <head id="e1">
>  
> Dürfen die Zahlen eigentlich in der Datei mit drin stehen?
> Wahrscheinlich nicht, aber ohne hat's bisher auch nicht
> geklappt.

Nein, die Zahlen sind ja kein XML.

>  Jedenfalls kommt als erste Fehlermeldung: "Content is not
> allowed in prolog." Was genau heißt das? Was darf da jetzt
> wo nicht stehen? Habe gedacht, dass da vllt kein Kommentar
> am Anfang stehen darf, aber als ich ihn gelöscht habe, hat
> es auch nicht funktioniert.

Doch der Kommentar darf da nicht stehen; die erste Zeile muss mit <?xml ... > anfangen.

> Dann habe ich auch mal die Datei aus meiner ersten Aufgabe
> genommen, und da gibt er dann als Fehlermeldung: "XML
> version "1.1 " is not supported, only XML 1.0 is
> supported." Wie kann ich das denn ändern? In der
> Aufgabenstellung heißt es nämlich ausdrücklich, dass es nur
> um XML 1.1 geht.

Bist du sicher, dass da nicht steht: "XML version "1.1 " is not supported, only XML 1.0
  and XML 1.1 are supported."?

Das ist schon OK so, denn da ist ein XML-Fehler, ein Leerzeichen zu viel. Es steht da:
 version ="1.1 "
es muss heissen
 version ="1.1"

Viele Grüße
   Rainer

Bezug
                                                
Bezug
XML parsen: Frage (beantwortet)
Status: (Frage) beantwortet Status 
Datum: 15:36 Mo 29.10.2007
Autor: Bastiane

Hallo Rainer!

> >  Jedenfalls kommt als erste Fehlermeldung: "Content is not

> > allowed in prolog." Was genau heißt das? Was darf da jetzt
> > wo nicht stehen? Habe gedacht, dass da vllt kein Kommentar
> > am Anfang stehen darf, aber als ich ihn gelöscht habe, hat
> > es auch nicht funktioniert.
>
> Doch der Kommentar darf da nicht stehen; die erste Zeile
> muss mit <?xml ... > anfangen.

Vielen, vielen Dank. Hatte da noch irgendwie einen anderen Fehler - hatte das in irgendeinem komischen Format gespeichert, wo er dann noch irgendeine Information (es sah mir nach einer "Schriftart-Definition" und ähnlichem aus) vor die erste Zeile geschrieben hat, so dass er darüber natürlich auch noch meckern musste. Jetzt bin ich schon ein Stückchen weiter gekommen...

Allerdings steht dann später in der Datei Folgendes:

7 <body id="e1">
8 <p>Moved to <a href =" http: // example .org/">example .org </a>.</p>
9 <p lang ="de"/>
10 Gr& uuml ; ndlich pr& uuml ;fen !.
11 Der Tabulator ist sehr hilfreich .
12 </p>
13 <foo >Another English sentence .</foo >
14 <table align =" left " align ="top ">
15 <tr >
16 <td align = center >
17 1
18 </tr >
19 </td >
20 </ table >
21 </ body >

Dort meckert er in Zeile 10 darüber, dass hinter & ein Leerzeichen steht. Die Leerzeichen habe ich dann alle entfernt (also die hinter den & und vor dem ;), aber dann meckert er, dass "uuml" nicht deklariert wurde. Kann es sein, dass das & irgendwie anders verwendet werden soll - es soll doch wahrscheinlich an dieser Stelle ein "ü" dargestellt werden, aber wie das mit diesem & funktioniert weiß ich nicht. Ob du mir da nochmal helfen könntest?

Viele Grüße
Bastiane
[cap]

Bezug
                                                        
Bezug
XML parsen: Antwort
Status: (Antwort) fertig Status 
Datum: 16:09 Mo 29.10.2007
Autor: rainerS

Hallo Bastiane,

> Allerdings steht dann später in der Datei Folgendes:
>  
> 7 <body id="e1">
>  8 <p>Moved to <a href =" http: // example .org/">example
> .org </a>.</p>
>  9 <p lang ="de"/>
>  10 Gr& uuml ; ndlich pr& uuml ;fen !.
>  11 Der Tabulator ist sehr hilfreich .
>  12 </p>
>  13 <foo >Another English sentence .</foo >
>  14 <table align =" left " align ="top ">
>  15 <tr >
>  16 <td align = center >
>  17 1
>  18 </tr >
>  19 </td >
>  20 </ table >
>  21 </ body >
>  
> Dort meckert er in Zeile 10 darüber, dass hinter & ein
> Leerzeichen steht. Die Leerzeichen habe ich dann alle
> entfernt (also die hinter den & und vor dem ;), aber dann
> meckert er, dass "uuml" nicht deklariert wurde.

Schau mal in die XML Spec, Abschnitt 4.6. "ü" müsste in der DTD deklariert werden.

Viele Grüße
   Rainer

Bezug
                                                                
Bezug
XML parsen: Frage (beantwortet)
Status: (Frage) beantwortet Status 
Datum: 00:59 Di 30.10.2007
Autor: Bastiane

Hallo Rainer!

> > Allerdings steht dann später in der Datei Folgendes:
>  >  
> > 7 <body id="e1">
>  >  8 <p>Moved to <a href =" http: // example
> .org/">example
> > .org </a>.</p>
>  >  9 <p lang ="de"/>
>  >  10 Gr& uuml ; ndlich pr& uuml ;fen !.
>  >  11 Der Tabulator ist sehr hilfreich .
>  >  12 </p>
>  >  13 <foo >Another English sentence .</foo >
>  >  14 <table align =" left " align ="top ">
>  >  15 <tr >
>  >  16 <td align = center >
>  >  17 1
>  >  18 </tr >
>  >  19 </td >
>  >  20 </ table >
>  >  21 </ body >
>  >  
> > Dort meckert er in Zeile 10 darüber, dass hinter & ein
> > Leerzeichen steht. Die Leerzeichen habe ich dann alle
> > entfernt (also die hinter den & und vor dem ;), aber dann
> > meckert er, dass "uuml" nicht deklariert wurde.
>  
> Schau mal in die XML Spec, Abschnitt 4.6. "ü" müsste
> in der DTD deklariert werden.

Sorry, dass ich so viel frage, aber diese Antwort war nicht wirklich hilfreich. Zuerst hat er dein "&uuml;" in ein "ü" umgewandelt, und erst jetzt, beim schreiben meiner Frage, sehe ich, dass du dort gar nicht ü geschrieben hattest...
Heißt das denn jetzt, ich muss dort so was wie: <!ENTITY lt     "&#60;"> irgendwo hin schreiben? Wenn ja, an welche Stelle? Unmittelbar bevor es in dem Dokument verwendet wird? Oder ganz an den Anfang (nach der ?xml-Zeile)? Was kann ich mir eigentlich unter "entity" vorstellen - LEOs Übersetzungen helfen mir da nicht wirklich weiter. Und was steht da dann statt "lt"? Kann ich da einfach ein ü hinschreiben oder wie ist das gedacht?

Und dann habe ich den Fehler auch schon übergangen (um schon mal die nächsten Fehler zu finden), indem ich das ü einfach weglasse. Dann meckert er, dass <body> durch </body> abgeschlossen werden müsste. Ok - da ist wieder ein Leerzeichen zu viel, aber wenn ich das wegmache, meckert er immer noch über dasselbe. Und selbst, wenn ich beide body-Befehle wegmache, meckert er über dasselbe bei html, was noch außen drum steht. Irgendwie verstehe ich das nicht - das wird doch vernünftig mit einem </html> abgeschlossen - steht da vielleicht irgendwas drin, was nicht drin stehen darf, so dass der Befehl früher kommen müsste? Es dürfen ja, soweit ich das verstanden habe, auch keine "überlappenden" Sachen auftreten, aber es wird erst vernünftig der body geschlossen und dann erst html. Und im body wird doch auch erst alles vernünftig beendet, oder nicht (wobei tr und td wohl noch vertauscht werden müssen...)?

Viele Grüße
Bastiane
[cap]

Bezug
                                                                        
Bezug
XML parsen: Antwort
Status: (Antwort) fertig Status 
Datum: 01:51 Di 30.10.2007
Autor: rainerS

Hallo Bastiane!

> Hallo Rainer!
>  
> > > Allerdings steht dann später in der Datei Folgendes:
>  >  >  
> > > 7 <body id="e1">
>  >  >  8 <p>Moved to <a href =" http: // example
> > .org/">example
> > > .org </a>.</p>
>  >  >  9 <p lang ="de"/>
>  >  >  10 Gr& uuml ; ndlich pr& uuml ;fen !.
>  >  >  11 Der Tabulator ist sehr hilfreich .
>  >  >  12 </p>
>  >  >  13 <foo >Another English sentence .</foo >
>  >  >  14 <table align =" left " align ="top ">
>  >  >  15 <tr >
>  >  >  16 <td align = center >
>  >  >  17 1
>  >  >  18 </tr >
>  >  >  19 </td >
>  >  >  20 </ table >
>  >  >  21 </ body >
>  >  >  
> > > Dort meckert er in Zeile 10 darüber, dass hinter & ein
> > > Leerzeichen steht. Die Leerzeichen habe ich dann alle
> > > entfernt (also die hinter den & und vor dem ;), aber dann
> > > meckert er, dass "uuml" nicht deklariert wurde.
>  >  
> > Schau mal in die XML Spec, Abschnitt 4.6. "ü" müsste
> > in der DTD deklariert werden.
>  
> Sorry, dass ich so viel frage, aber diese Antwort war nicht
> wirklich hilfreich. Zuerst hat er dein
> "&uuml;" in ein "ü" umgewandelt, und erst
> jetzt, beim schreiben meiner Frage, sehe ich, dass du dort
> gar nicht ü geschrieben hattest...

Sorry, das hatte ich übersehen.

>  Heißt das denn jetzt, ich muss dort so was wie: <!ENTITY
> lt     "&#60;"> irgendwo hin schreiben?

Du musst unterscheiden zwischen der XML-Spezifikation und dem, was in der Document Type Definition (DTD) steht. Im der Spez. sind zunächst nur &lt; (<), &gt; (>), &amp; (&), &apos; (') und &quot; (") definiert. Die musst du nicht definieren. Alle Anderen, wie &uuml; (ü) sind zunächst unbekannt.

> Wenn ja, an
> welche Stelle?

Normalerweise stehen die in der DTD, auf die entweder in doctypedecl verwiesen wird, oder die direkt ale markupdecl auftritt (Abschnitt 2.8). Das steht als Teil des Prologs unmittelbar nach der 1. Zeile.
  

> Was kann ich mir eigentlich unter "entity"
> vorstellen - LEOs Übersetzungen helfen mir da nicht
> wirklich weiter.

"Einheit" trifft es ganz gut: ein Ding, das nicht weiter zerlegt werden kann. Du kannst es dir als Abkürzung oder Ersatzdarstellung denken. &lt; dient dazu, ein <-Zeichen darzustellen, das nicht Einleitung eines X ML-Elements wie <body...> ist.

> Und dann habe ich den Fehler auch schon übergangen (um
> schon mal die nächsten Fehler zu finden), indem ich das ü
> einfach weglasse. Dann meckert er, dass <body> durch
> </body> abgeschlossen werden müsste. Ok - da ist wieder ein
> Leerzeichen zu viel, aber wenn ich das wegmache, meckert er
> immer noch über dasselbe. Und selbst, wenn ich beide
> body-Befehle wegmache, meckert er über dasselbe bei html,
> was noch außen drum steht. Irgendwie verstehe ich das nicht
> - das wird doch vernünftig mit einem </html> abgeschlossen
> - steht da vielleicht irgendwas drin, was nicht drin stehen
> darf, so dass der Befehl früher kommen müsste? Es dürfen
> ja, soweit ich das verstanden habe, auch keine
> "überlappenden" Sachen auftreten, aber es wird erst
> vernünftig der body geschlossen und dann erst html. Und im
> body wird doch auch erst alles vernünftig beendet, oder
> nicht (wobei tr und td wohl noch vertauscht werden
> müssen...)?

Vertausche erstmal tr und td. Viele XML-Parser geraten bei Fehlern ins Stolpern und meckern dann über eigentlich korrekte Eingaben weiter unten. Ich schau's mir morgen mal genauer an.

Jetzt erstmal [gutenacht]
Viele Grüße
   Rainer

Bezug
                                                                                
Bezug
XML parsen: Mitteilung
Status: (Mitteilung) Reaktion unnötig Status 
Datum: 13:48 Di 30.10.2007
Autor: Bastiane

Hallo Rainer!

> >  Heißt das denn jetzt, ich muss dort so was wie: <!ENTITY

> > lt     "&#60;"> irgendwo hin schreiben?
>  
> Du musst unterscheiden zwischen der XML-Spezifikation und
> dem, was in der Document Type Definition (DTD) steht. Im
> der Spez. sind zunächst nur &lt; (<),
> &gt; (>), &amp; (&),
> &apos; (') und &quot; (")
> definiert. Die musst du nicht definieren. Alle Anderen, wie
> &uuml; (ü) sind zunächst unbekannt.
>  
> > Wenn ja, an
> > welche Stelle?
>  
> Normalerweise stehen die in der DTD, auf die entweder in
> doctypedecl verwiesen wird, oder die direkt ale markupdecl
> auftritt (Abschnitt 2.8). Das steht als Teil des Prologs
> unmittelbar nach der 1. Zeile.

Nach der ersten Zeile hieße also zwischen xml und html!? Irgendwie habe ich das bisher noch nicht hinbekommen, das zu definieren.
In der Vorlesung hatten wir ein Beispiel, wo stand:

<!ENTITY % ISOLat2
SYSTEM "http://www.xml.com/iso/isolat2-xml.ent" >

wo doch dann wohl das ü direkt mitdefiniert würde, oder? Allerdings scheint es den Link nicht mehr zu geben. Was für einen Link könnte man da sonst hinsetzen, dass das funktioniert? Oder ich muss es halt nochmal per Hand mit dem ü versuchen...

> Vertausche erstmal tr und td. Viele XML-Parser geraten bei
> Fehlern ins Stolpern und meckern dann über eigentlich
> korrekte Eingaben weiter unten. Ich schau's mir morgen mal
> genauer an.

Das hatte ich selbstverständlich schon ausprobiert - hat aber leider nicht geholfen. Es kommt immer noch dieselbe Fehlermeldung...

Viele Grüße
Bastiane
[cap]

Bezug
                                                                                        
Bezug
XML parsen: Mitteilung
Status: (Mitteilung) Reaktion unnötig Status 
Datum: 14:02 Di 30.10.2007
Autor: Martin243

Hallo Bastiane,

da sind natürlich noch einige Fehler mehr.
Mit dem ü muss dir Rainer weiterhelfen, aber was die restlichen Fehler angeht:
ALLE überflüssigen Leerzeichen entfernen

Das "/" aus <p lang ="de"/>  entfernen

Das zweite "align"-Statement aus <table align =" left " align ="top ">
entfernen

In <td align = center >  muss das center in Gänseknochen


Dann dürfte es (ohne die ü's) gehen. Oder habe ich etwas übersehen?
Gestern abend habe ich es nämlich ausprobiert.


Gruß
Martin


Bezug
                                                                                        
Bezug
XML parsen: Mitteilung
Status: (Mitteilung) Reaktion unnötig Status 
Datum: 14:37 Di 30.10.2007
Autor: rainerS

Hallo Bastiane,

> > Normalerweise stehen die in der DTD, auf die entweder in
> > doctypedecl verwiesen wird, oder die direkt ale markupdecl
> > auftritt (Abschnitt 2.8). Das steht als Teil des Prologs
> > unmittelbar nach der 1. Zeile.
>  
> Nach der ersten Zeile hieße also zwischen xml und html!?
> Irgendwie habe ich das bisher noch nicht hinbekommen, das
> zu definieren.
> In der Vorlesung hatten wir ein Beispiel, wo stand:
>  
> <!ENTITY % ISOLat2
>  SYSTEM "http://www.xml.com/iso/isolat2-xml.ent" >
>  
> wo doch dann wohl das ü direkt mitdefiniert würde, oder?

[]Hier gibt's eine Reihe von Tabellen, als Beschreibung und ladbare Entity-Deklaration. Ich würde isolat1 nehmen, denn isolat2 ist eher für Sprachen wie Polnisch oder Tschechisch gedacht: []ISO 8859.

Viele Grüße
   Rainer

Bezug
        
Bezug
XML parsen: Frage (beantwortet)
Status: (Frage) beantwortet Status 
Datum: 15:20 Mi 31.10.2007
Autor: Bastiane

Hallo ihr beiden!

Vielen Dank für die großen Hilfen! Bin jetzt so weit, dass es anscheinend funktioniert (auch wenn ich die ü's doch immer noch weglasse...). Da habe ich allerdings immer noch zwei Probleme - aber ich werde es wohl so abgeben können (morgen, trotz Feiertag [kopfschuettel]).

Und zwar: ganz am Ende kommt nach dem schließenden html-Tag noch ein <appendix> mit einer Zeile und dann </appendix>. Da wird gemeckert, dass das Element nach dem root-Element wohlgeformt sein müsste. Heißt das jetzt, dass nach Regel 1:
[1]   document   ::=    ( prolog element Misc* ) - ( Char* RestrictedChar Char* )
dass da nur ein einziges "element" stehen darf, und das ist schon das html, und danach dürfte höchstens noch "Misc" kommen, was auch immer genau das sein mag - auf appendix trifft es wohl nicht zu. Habe den appendix vor den schließenden html-Tag gepackt, und dann funktioniert es. Aber kann ich da als Fehlerbeschreibung hinschreiben, dass halt nach dem "element" höchstens noch "Misc" kommen dürfte?

Zweites Problem: wenn jetzt alle Fehler raus sind, müsste man sich dieses Dokument doch vernünftig mit einem Browser angucken können, oder habe ich da etwas falsch verstanden? Also mit dem java-Befehl zeigt er mir dann statt einer Fehlermeldung das komplette Dokument an, aber wenn ich die Datei mit einem Doppelmausklick öffnen will, meckert er immer noch über einen angeblichen Fehler in der ersten Zeile (so, wie ganz am Anfang).

Viele Grüße
Bastiane
[cap]


Bezug
                
Bezug
XML parsen: Antwort
Status: (Antwort) fertig Status 
Datum: 16:19 Mi 31.10.2007
Autor: rainerS

Hallo Bastiane!

> Und zwar: ganz am Ende kommt nach dem schließenden html-Tag
> noch ein <appendix> mit einer Zeile und dann </appendix>.
> Da wird gemeckert, dass das Element nach dem root-Element
> wohlgeformt sein müsste. Heißt das jetzt, dass nach Regel
> 1:
>  [1]   document   ::=    ( prolog element Misc* ) - ( Char*
> RestrictedChar Char* )
>  dass da nur ein einziges "element" stehen darf, und das
> ist schon das html,

[ok]

> und danach dürfte höchstens noch "Misc"
> kommen, was auch immer genau das sein mag

Da gibt es drei Möglichkeiten: ein Kommentar, Leerzeichen oder Processing Instructions (das sind spezielle Anweisungen für XML-verarbeitende Programme).

> Aber kann ich da als Fehlerbeschreibung hinschreiben, dass
> halt nach dem "element" höchstens noch "Misc" kommen
> dürfte?

Ja, oder dass ein Dokument genau ein Element auf der obersten Ebene hat.

> Zweites Problem: wenn jetzt alle Fehler raus sind, müsste
> man sich dieses Dokument doch vernünftig mit einem Browser
> angucken können, oder habe ich da etwas falsch verstanden?

Das kommt auf den Browser an. In der Regel brauchst du noch ein XSL-Stylesheet, das die Transformation des XML in HTML definiert. []Hier steht ein bischen dazu, []hier mehr.

Viele Grüße
   Rainer

Bezug
Ansicht: [ geschachtelt ] | ^ Forum "Sonstiges"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien


^ Seitenanfang ^
www.unimatheforum.de
[ Startseite | Forum | Wissen | Kurse | Mitglieder | Team | Impressum ]