Reihenfolge der Attribute in der Datei 'anpassen'

Von: , Frage gestellt am Di, 24. Jun 2008

Hallo,

wenn ich eine XML-Datei verarbeite und neu ausgebe, dann werden die Attribute meist alphabetisch aufsteigend (ich habe auch schon absteigend erlebt) angeordnet. (Python-Script)

Nun möchte ich aber gerne die Attribut-Reihenfolge selbst festlegen können, da die Datei für den Entwickler so äußerst schwer lesbar ist (Teilweise kommt man um die Bearbeitung mit dem Texteditor des Vertrauens nicht herum), wenn die "wichtigen" Attribute wie "ID" irgendwo mittendrin "versteckt" sind.

Kennt jemand ein Tool, mit dessen Hilfe sowas automatisch angepaßt werden kann? Oder ob man z.B. Altova entsprechend "erziehen" kann, oder entsprechende Python-Befehle?

Vielen Dank fürs Mitdenken

Winni

3 Antworten zu dieser Frage

  1. Antwort von nach 11 Stunden 0 hilfreich
    Re: Reihenfolge der Attribute in der Datei 'anpass

    Hallo! Kennt jemand ein Tool, mit dessen Hilfe sowas automatisch
    angepaßt werden kann? Oder ob man z.B. Altova entsprechend
    "erziehen" kann, oder entsprechende Python-Befehle?
    Wie sieht es mit deinen Programmierkünsten aus? Du könntest natürlich per Python und SAX die xml-Datei parsen und einfach 1:1 wieder rausschreiben und nur beim Aufruf vom startElement-Handler gucken, ob du für das aktuelle Tag eine eigene Attributsreihenfolge vorgesehen hast und entsprechend den Tag-String zusammenbauen.

    Gruß
    M.

    • Antwort von nach 3 Tagen 0 hilfreich
      Re^2: Reihenfolge der Attribute in der Datei 'anpa

      Sowas habe ich schon befürchtet...
      (naja, meine Kenntnisse wachsen mit den Aufgaben ;-) )

      Vielen Dank fürs Mitdenken. [Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

  2. Antwort von nach 106 Tagen 0 hilfreich
    Re: Reihenfolge der Attribute in der Datei 'anpass

    wenn ich eine XML-Datei verarbeite und neu ausgebe, dann
    werden die Attribute meist alphabetisch aufsteigend (ich habe
    auch schon absteigend erlebt) angeordnet. (Python-Script)

    Nun möchte ich aber gerne die Attribut-Reihenfolge selbst
    festlegen können, da die Datei für den Entwickler so äußerst
    schwer lesbar ist (Teilweise kommt man um die Bearbeitung mit
    dem Texteditor des Vertrauens nicht herum), wenn die
    "wichtigen" Attribute wie "ID" irgendwo mittendrin "versteckt"
    sind.

    Kennt jemand ein Tool, mit dessen Hilfe sowas automatisch
    angepaßt werden kann? Oder ob man z.B. Altova entsprechend
    "erziehen" kann, oder entsprechende Python-Befehle?
    Typischerweise werden die Attribute in Python (bei Verwendung von SAX) als Dictionary angeliefert und das heißt, dass ein Python-Verarbeitungsprogramm die Original-Reihenfolge schon nicht kennt. Andererseits geben XML-Schemata keine Attribut-Reihenfolge her, d. h. alle Verarbeiter (auch die lieben Mitentwickler) müssen mit der anderen, ja sogar jeder beliebigen Reihenfolge zurecht kommen.
    Wenn du denen wirklich entgegen kommen willst, dann würde ich ein XSL-Stylesheet schreiben, das aus dem XML einen schön sortierten HTML-Report baut, in dem du das ID-Feld deines Vertrauens auch noch fett/bunt/etc hervorheben kannst. Aber zu sagen, meine XMLs müssen nicht nur dem Schema entsprechen sondern darüber hinaus auch noch die angegebene Reihenfolge bei den Attributen einhalten, halte ich für keine gute Idee.

Keine passende Antwort gefunden? Jetzt eigene Frage stellen!