XML

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Mungo1981
User
Beiträge: 131
Registriert: Montag 27. August 2012, 19:05

Ok vielleicht ist dies nicht der richtige Ort für meine Frage
finde aber keinen bessere Ort ( wenn ihr ihn kennt bitte sagen )
Ich beschäftige mich momentan mit XML
Und möchte eine eigene Domain spezifik Language
Zur Beschreibung von Geometrisch Abstrakter Kunst erstellen
Dabei kommt es vor dass es Verschachtelungen gibt
Diese Verschachtelungen sind so zusagen rekrusiver Natur
Und deshalb hier die Frage können gleichnamige Elemente
in einander verschachtelt werden und wenn ja wie bitte

Hier ein Beispiel was ich bräuchte

Code: Alles auswählen

<Fläche id = '1' size =(120. 240. 130, 300)>
  < Fläche id = '1.1' size = (120,240, 100, 200)>
     <Farbe>
        Rot
     </Farbe>
  </Fläche>
</Flache>
Zuletzt geändert von Anonymous am Montag 16. März 2015, 11:15, insgesamt 1-mal geändert.
Grund: XML in Code-Tags gesetzt.
Sirius3
User
Beiträge: 17749
Registriert: Sonntag 21. Oktober 2012, 17:20

@Mungo1981: man Schachtelt Elemente ineinander, indem man sie ineinander schachtelt. Wo ist Dein Problem?
PS: Attribute müssen in Anführungszeichen gesetzt werden.
BlackJack

@Mungo1981: Wonach entscheidest Du das eine komplexe, zusammengesetzte Information wie die Grösse als Attribut gespeichert wird das einen extra Parser benötigt, wo man doch schon XML hat, und andererseits ein scheinbar skalarer Wert wie die Farbe einen eigenen Textknoten spendiert bekommt?

Wenn das Element <Fläche> heisst, dann sollte das Attribut `grösse` heissen und nicht `size`. Oder eben beides Englisch. Dann aber natürlich auch <Farbe> → <Colour>.
Mungo1981
User
Beiträge: 131
Registriert: Montag 27. August 2012, 19:05

OK.
Das war nur ein Vor-Entwurf

besser ist Wohl folgendes

Code: Alles auswählen

<Flache>
   <GroseAnteil>
     1
   </GroseAnteil>
   < Inhalt>
     <Flache>
       <GroseAnteil>
          0.5
       </GroseAnteil>
       <Inhalt>
         <Farbe>
           Rot
         </Farbe>
       </Inhalt>
   </Flache>
     <Flache>
       <GroseAnteil>
          0.5
       </GroseAnteil>
       <Inhalt>
         <Farbe>
           Rot
         </Farbe>
       </Inhalt>
   </Flache>
</Inhalt>
</Flache>
Das sollte es besser treffen
Sirius3
User
Beiträge: 17749
Registriert: Sonntag 21. Oktober 2012, 17:20

@Mungo1981: was ist "Flache" und was ist "Grose"? Fehlen da jetzt die Umlaute? Für mich sieht das jetzt sehr umständlich aus, aber ohne die gesamte Datenstruktur zu kennen, die Du abbilden möchtest, kann man nichts über sinn- oder unsinnvoll sagen.
Mungo1981
User
Beiträge: 131
Registriert: Montag 27. August 2012, 19:05

:oops: Tut mir Leid, :oops:
:K aber die richtige Struktur muss ich noch erstellen :K
Meine Frage war eher generell gemeint.
Halt ob ich die Fläschen hier - Flache genannt um die Umlaute zu vermeiden - so ähnlich - wie hier gezeigt - generell geschachtelt werden können.
Auch Grose soll natürlich Größe heisen.
Grose meint die Größe der Fläsche während Flache diese selber als Ding meint

Mungo 1981
BlackJack

@Mungo1981: Ja man kann Elemente verschachteln.
Benutzeravatar
Kebap
User
Beiträge: 687
Registriert: Dienstag 15. November 2011, 14:20
Wohnort: Dortmund

Um Umlaute zu vermeiden empfehlen sich englische Namen, das verstehen dann mehr Leute.

Fläche - area
Farbe - color
Größe - size
Inhalt - content

und so weiter :mrgreen:
MorgenGrauen: 1 Welt, 8 Rassen, 13 Gilden, >250 Abenteuer, >5000 Waffen & Rüstungen,
>7000 NPC, >16000 Räume, >200 freiwillige Programmierer, nur Text, viel Spaß, seit 1992.
Mungo1981
User
Beiträge: 131
Registriert: Montag 27. August 2012, 19:05

Ok,
Ich kann Elemente Schacteln
Aber geht das auch wenn die Element Namen gleich sind
:oops: Wenn also ein <Element> in einem anderen <Element> vorkommt. :oops:
Sirius3
User
Beiträge: 17749
Registriert: Sonntag 21. Oktober 2012, 17:20

@Mungo1981: warum sollte das nicht gehen? Lies Dir am besten mal die Spezifikation durch. Das beantwortet Dir die wichtigsten Fragen.
Mungo1981
User
Beiträge: 131
Registriert: Montag 27. August 2012, 19:05

:D Vielen Dank
Das beantwortet mir alles
Noch einmal Danke :D
Benutzeravatar
Hyperion
Moderator
Beiträge: 7478
Registriert: Freitag 4. August 2006, 14:56
Wohnort: Hamburg
Kontaktdaten:

Ich gebe hier mal den Hinweis auf SVG. Keine Ahnung wie komplex das ist oder ob das Deinen Bedarf abdeckt, aber immerhin ist das ein standardisiertes XML basiertes Format für Vektor basierte 2D Grafiken.
encoding_kapiert = all(verstehen(lesen(info)) for info in (Leonidas Folien, Blog, Folien & Text inkl. Python3, utf-8 everywhere))
assert encoding_kapiert
Antworten