• Apfeltalk ändert einen Teil seiner Allgemeinen Geschäftsbedingungen (AGB), das Löschen von Useraccounts betreffend.
    Näheres könnt Ihr hier nachlesen: AGB-Änderung
  • Die Bildungsoffensive hier im Forum geht weiter! Jetzt sollen Kreativität und technische Möglichkeiten einen neue Dimension erreichen. Das Thema in diesem Monat lautet - Verkehrte Welt - Hier geht es lang --> Klick

Dashcode XML

Mini-Leopard

Rhode Island Greening
Registriert
20.03.08
Beiträge
476
Liebe Community!

Ich bin nun seit stunden am verzweifeln und googlen. Doch leider findet man bei Google nicht einen halben Bissen vernünftiger Informationen zum Thema Dashcode.

Ich möchte gerne eine WebApp basteln, die eine XML-Datei ausliest.
Nun habe ich folgendes Problem:

Jedes Mal, wenn ich eine eigene XML-Datei einfüge, sagt mir Dashcode, es sei kein gültiges XML-Format.
Was ist denn bitte für Dashcode ein gültiges XML-Format?!

Es gibt im Internet scheinbar keinerlei brauchbare Informationen zu diesem Thema.
Also hoffe ich hier auf kompetente Hilfe.


Vielen Danke und liebe Grüße
 
Ist denn dein XML von sich aus valide? Stichwort DTD bzw. XSD.
 
Das ist eine gute Frage… Bin was XML angeht nicht wirklich firm.
So in etwa wäre meine XML aufgebaut:
Code:
<?xml version="1.0" encoding="utf-8"?>
<root>
    <konzerte>
        <1>
            <title>Konzert eins</title>
            <date>01.01.2011</date>
            <price>15€</price>
        </1>
        <2>
            <title>Konzert zwei</title>
            <date>31.12.2011</date>
            <price>15€</price>
        </2>
    </konzerte>
    <musik>
        <1>
            <title>Track 01</title>
            <artist>Artist 01</title>
            <album>Album 01</album>
            <url>http://www.[…]/musik/01.mp3</url>
        </1>
        <2>
            <title>Track 02</title>
            <artist>Artist 02</title>
            <album>Album 02</album>
            <url>http://www.[…]/musik/02.mp3</url>
        </2>
    </musik>
    <bilderAlben>
        <1>
            <title>Album 01</title>
            <bild 01>
                <title>Foto 01</title>
                <url>http://www.[…]/musik/01/01.jpg</url>
            </bild 01>
            <bild 02>
                <title>Foto 03</title>
                <url>http://www.[…]/musik/01/03.jpg</url>
            </bild 02>
        </1>
        <2>
            <title>Album 02</title>
            <bild 01>
                <title>Foto 01</title>
                <url>http://www.[…]/musik/02/01.jpg</url>
            </bild 01>
            <bild 02>
                <title>Foto 03</title>
                <url>http://www.[…]/musik/02/03.jpg</url>
            </bild 02>
        </2>
    </bilderAlben>
</root>
 
Ja, valide ist diese XML leider nicht, da fehlt wie gesagt entweder ein DTD oder XSD-Schema.
 
… beim Drüberblicken fällt ferner auf, dass du Elementnamen hast, die aus Zahlen bestehen (<1>). Elementnamen dürfen aber nicht mit Zahlen beginnen.
 
  • Like
Reaktionen: hosja
Hmm…
Ich hab auf jeden Fall mal die Namen der Elemente angepasst.

Das mit dem DTD hab ich kurz mal gegooglet. Allerdings noch nicht so ganz kapiert.

Was mich wundert ist, dass die default XML, die ich von Apple geladen hab, funktioniert.
Und der Witz ist, dass die in etwa genauso aussieht, wie meine. Nur, dass die Namen der Elemente anders sind...
 
DTD ist ein Prototyp. Dort definierst du wie deine XML-Datei aufgebaut sein muss damit sie valid ist.
Der XML Parser prüft dann ob die Datei die er bekommen hat dem DTD entspricht.

Wenn du wissen möchtest ob alle Klammern da sind, kannst du die Datei einfach auf den Internet Explorer r werfen. Dieser prüft dann die Struktur und sagt dir:

Ein Name beginnt mit einem ungültigen Zeichen. Fehler beim Bearbeiten der Ressource 'file:///C:/Users/*******/Desktop/new...

<1>
---------^

Chrome:
This page contains the following errors:

error on line 4 at column 10: StartTag: invalid element name
error on line 4 at column 10: Encoding error
Below is a rendering of the page up to the first error.

Also was Bezierkurve sagte.
 
Es muss wohl well-formed und valide sein. Aber warum sollte man auf einem Mac so etwas mit dem Internet Explorer prüfen?
 
  • Like
Reaktionen: Mini-Leopard
Ich habe weder Windows, noch den Internet Explorer.
Aber die Idee, das ganze in einem Browser zu debuggen war gut — Habe das jetzt soweit hinbekommen.

Jetzt habe ich aber immer noch folgendes Problem:
Wenn ich als Value eines Elementes eine Zahl (beispielsweise ein Datum: 31.12.2010) eingebe, wird das als Number geparst. Und das kann ich dann in Dashcode nicht verwenden.
Habt ihr eine Idee dazu? Wenn ich "" benutze ("31.12.20101"), dann werden die "" natürlich mit angezeigt, was nicht sein soll.

Gibts da ein Patent für?
 
Trenn es doch in Tag, Monat, Jahr auf. Dafür ist XML doch geschaffen worden, dass man es fein granuliert.