Ergebnis 1 bis 18 von 18

Thema: XML: Das Format der Zukunft?

Baum-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #11
    hm .. ich hab mich mal beim www.w3.org umgesehen, und glaube was gefunden, was meinem Problem entspricht ... bin bir aber nicht ganz sicher ... -> http://www.w3.org/TR/xinclude/

    Zumindest die Beispiele ganz am ende machen mir Hoffnung ...

    Nur wie wissen die Parser denn bescheid ueber die Namespaces, wenn sie grad mal keine verbindung zum Internet haben ? ... schliesslich wird als namespace ja <document xmlns:xi="http://www.w3.org/2001/XInclude"> angegeben O_o ... irgendwie hab ich das Prinzip immer noch nicht ganz verstanden ...

    Und kann man auch mehere DTDs in ein xml Dokument integrieren, weil es ja sein kann, dass man Tags aus unterschiedlihen DTDs benoetigt ...

    Irgendwie bin ich recht verwirrt ...

    Machen wir mal ein Beispiel ....
    Ich habe eine Hirarchische Struktur, die ich mit XML nachbauen moechte. Ich habe ein System was ich simulieren will. Dieses System besteht aus einer beliebigen Anzahl (mindestens eins) von Molekuelen, und diese wiederum aus einer beliebigen Anzahl (mindestens eins) Atome. Sowohl das System, als auch Molekuele und Atome haben noch ein paar Untereigenschaften wie z.B. Bindungslaengen, Bindungswinkel, Element usw.

    Nun kann ich ja wie gehabt eine grosse DTD schreiben, die mir sowohl System, Molekuel als auch Atom befiniert, und die ganze Simulationsdatei in einem schreiben.
    Code:
    <simulation>
     <molekuel name="Schwefelhexafluorid">
      <atom id="S1" x="0.0" y="0.0" z="0.0" element="S" />
      <atom id="F1" x="1.0" y="0.0" z="0.0" element="F" />
      <atom id="F2" x="0.0" y="1.0" z="0.0" element="F" />
      <atom id="F3" x="0.0" y="0.0" z="1.0" element="F" />
      <atom id="F4" x="-1.0" y="0.0" z="0.0" element="F" />
      <atom id="F5" x="0.0" y="-1.0" z="0.0" element="F" />
      <atom id="F6" x="0.0" y="0.0" z="-1.0" element="F" />
      <stretchforce atom1="S1" atom2="F1" param1="1" param2="0.5" />
      <stretchforce atom1="S1" atom2="F2" param1="1" param2="0.5" />
      <stretchforce atom1="S1" atom2="F3" param1="1" param2="0.5" />
      <stretchforce atom1="S1" atom2="F4" param1="1" param2="0.5" />
      <stretchforce atom1="S1" atom2="F5" param1="1" param2="0.5" />
      <stretchforce atom1="S1" atom2="F6" param1="1" param2="0.5" />
      <bendforce atom1="F3" atom2="S1" atom3="F1" w="90.0" force="0.73" />
      <bendforce atom1="F3" atom2="S1" atom3="F2" w="90.0" force="0.73" />
      <bendforce atom1="F3" atom2="S1" atom3="F4" w="90.0" force="0.73" />
      <bendforce atom1="F3" atom2="S1" atom3="F5" w="90.0" force="0.73" />
      <bendforce atom1="F3" atom2="S1" atom3="F6" w="180.0" force="0.73" />
     </molekuel>
     <molekuel name="Wasser">
      <atom id="O1" x="0" y="0" z="0" element="O" />
      <atom id="H1" x="0.72" y="0.53" z="0" element="H" />
      <atom id="H2" x="-0.72" y="0.53" z="0" element="H" />
      <stretchforce atom1="O1" atom2="H1" param1="0.4" param2="0.9" />
      <stretchforce atom1="O1" atom2="H2" param1="0.4" param2="0.9" />
      <bendforce atom1="H1" atom2="O1" atom3="H2" w="120.0" force="0.5" />
     </molekuel> 
     <addmolekuel name="Schwefelhexafluorid" num="700" position"random" />
     <addmolekuel name="Wasser" num="700" position="random" />
     <options time="2.5" coulomb="yes" const_geometry="no" />
    </simulation>
    Wie man leicht sieht, waere es sowohl sinnvoll, die Molekuele direkt angeben zu koennen, als auch sie in einem extra xml dokument abzulegen, um sie bei anderen Berechnungen wiederverwenden zu koennen, und sie einfach nur einzubinden. Gleichzeitig soll aber in der DTD von simulation drin stehen, dass nur Elemente des typs molekuel eingebunden werden koennen, und mindestens eins vorhanden ist, weshalb der Parser ja die include-dateien auch ueberpruefen muss.

    Es wuerde also Sinn machen, fuer molekuel eine eigene DTD zu schreiben, und in der DTD von Simulation sich auf die DTD von molekuel beziehen zu koennen ... ist sowas moeglich ? Da in der xml datei von molekuel ja der <molekuel> Tag der oberste Tag ist, muesste man doch statt einem echten <molekuel> Tag auch eine xml datei einbinden koennen, die einen einzelnen <molekuel> Tag enthaellt, oder ?

    Sinn ist es also, die xml datei auf das wesentliche zu verkleinern und zu modularisieren, so dass sie im Prinzip dann so aussieht ...

    Code:
    <simulation>
     <xi:include href="schwefelhexafluorid.xml"/>
     <xi:include href="wasser.xml"/>
     <addmolekuel name="Schwefelhexafluorid" num="700" position"random" />
     <addmolekuel name="Wasser" num="700" position="random" />
     <options time="2.5" coulomb="yes" const_geometry="no" />
    </simulation>
    Ich hoffe, das war einigermassen verstaendlich, was ich meine und fragen wollte ...

    Gruss Ineluki

    Geändert von Ineluki (06.07.2004 um 17:29 Uhr)

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •