XML Schema Definition des ls3-Dateiformats: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
(Datentypen) |
(Datentypen) |
||
Zeile 223: | Zeile 223: | ||
</xs:sequence> | </xs:sequence> | ||
<xs:attribute name="AniBeschreibung" type="xs:NCName"/> | <xs:attribute name="AniBeschreibung" type="xs:NCName"/> | ||
<xs:attribute name="AniID"/> | <xs:attribute name="AniID"/> <!-- Datentyp integer enum --> | ||
<xs:attribute name="AniLoopen" type="xs: | <xs:attribute name="AniLoopen" type="xs:boolean"/> | ||
</xs:complexType> | </xs:complexType> | ||
</xs:element> | </xs:element> | ||
<xs:element name="AniNrs"> | <xs:element name="AniNrs"> | ||
<xs:complexType> | <xs:complexType> | ||
<xs:attribute name="AniNr" type="xs: | <xs:attribute name="AniNr" type="xs:int"/> | ||
</xs:complexType> | </xs:complexType> | ||
</xs:element> | </xs:element> | ||
Zeile 236: | Zeile 236: | ||
<xs:complexContent> | <xs:complexContent> | ||
<xs:extension base="AniPunkt"> | <xs:extension base="AniPunkt"> | ||
<xs:attribute name="AniGeschw" type="xs: | <xs:attribute name="AniGeschw" type="xs:float"/> | ||
<xs:attribute name="AniIndex" type="xs: | <xs:attribute name="AniIndex" type="xs:int"/> | ||
<xs:attribute name="AniNr" type="xs: | <xs:attribute name="AniNr" type="xs:int"/> | ||
</xs:extension> | </xs:extension> | ||
</xs:complexContent> | </xs:complexContent> | ||
Zeile 247: | Zeile 247: | ||
<xs:complexContent> | <xs:complexContent> | ||
<xs:extension base="AniPunkt"> | <xs:extension base="AniPunkt"> | ||
<xs:attribute name="AniGeschw" type="xs: | <xs:attribute name="AniGeschw" type="xs:float"/> | ||
<xs:attribute name="AniIndex" type="xs: | <xs:attribute name="AniIndex" type="xs:int"/> | ||
<xs:attribute name="AniNr" type="xs: | <xs:attribute name="AniNr" type="xs:int"/> | ||
</xs:extension> | </xs:extension> | ||
</xs:complexContent> | </xs:complexContent> | ||
Zeile 283: | Zeile 283: | ||
</xs:sequence> | </xs:sequence> | ||
</xs:choice> | </xs:choice> | ||
<xs:attribute name="Autostart" type="xs: | <xs:attribute name="Autostart" type="xs:boolean"/> | ||
<xs:attribute name="GeschwAendern" type="xs: | <xs:attribute name="GeschwAendern" type="xs:boolean"/> | ||
<xs:attribute name="Lautstaerke" type="xs: | <xs:attribute name="Lautstaerke" type="xs:float"/> | ||
<xs:attribute name="Loop" type="xs: | <xs:attribute name="Loop" type="xs:boolean"/> | ||
<xs:attribute name="MaxRadius" type="xs: | <xs:attribute name="MaxRadius" type="xs:float"/> | ||
<xs:attribute name="MinRadius" type="xs: | <xs:attribute name="MinRadius" type="xs:float"/> | ||
<xs:attribute name="PosAnlauf" type="xs: | <xs:attribute name="PosAnlauf" type="xs:int"/> | ||
<xs:attribute name="PosAuslauf" type="xs: | <xs:attribute name="PosAuslauf" type="xs:int"/> | ||
<xs:attribute name="dreiD" type="xs: | <xs:attribute name="dreiD" type="xs:boolean"/> | ||
</xs:complexType> | </xs:complexType> | ||
</xs:element> | </xs:element> | ||
Zeile 299: | Zeile 299: | ||
<xs:element ref="Kennfeld"/> | <xs:element ref="Kennfeld"/> | ||
</xs:sequence> | </xs:sequence> | ||
<xs:attribute name="LautstaerkeAbh" type="xs: | <xs:attribute name="LautstaerkeAbh" type="xs:boolean"/> | ||
<xs:attribute name="PhysikGroesse"/> | <xs:attribute name="PhysikGroesse"/> | ||
<xs:attribute name="SoundGeschwAbh" type="xs: | <xs:attribute name="SoundGeschwAbh" type="xs:boolean"/> | ||
<xs:attribute name="SoundOperator"/> | <xs:attribute name="SoundOperator"/> | ||
<xs:attribute name="Trigger"/> | <xs:attribute name="Trigger"/> | ||
<xs:attribute name="TriggerGrenze" type="xs: | <xs:attribute name="TriggerGrenze" type="xs:float"/> | ||
</xs:complexType> | </xs:complexType> | ||
</xs:element> | </xs:element> | ||
Zeile 320: | Zeile 320: | ||
<xs:element name="Pkt"> | <xs:element name="Pkt"> | ||
<xs:complexType> | <xs:complexType> | ||
<xs:attribute name="PktX" type="xs: | <xs:attribute name="PktX" type="xs:float"/> | ||
<xs:attribute name="PktY" type="xs: | <xs:attribute name="PktY" type="xs:float"/> | ||
</xs:complexType> | </xs:complexType> | ||
</xs:element> | </xs:element> | ||
<xs:element name="Stufe"> | <xs:element name="Stufe"> | ||
<xs:complexType> | <xs:complexType> | ||
<xs:attribute name="StufenWert" type="xs: | <xs:attribute name="StufenWert" type="xs:float"/> | ||
</xs:complexType> | </xs:complexType> | ||
</xs:element> | </xs:element> | ||
Zeile 340: | Zeile 340: | ||
<xs:element ref="q"/> | <xs:element ref="q"/> | ||
</xs:sequence> | </xs:sequence> | ||
<xs:attribute name="AniDimmung" type="xs: | <xs:attribute name="AniDimmung" type="xs:float"/> | ||
<xs:attribute name="AniZeit" type="xs: | <xs:attribute name="AniZeit" type="xs:float"/> | ||
</xs:complexType> | </xs:complexType> | ||
</xs:element> | </xs:element> |
Version vom 10. Juli 2016, 16:39 Uhr
Hier entsteht eine XSD-Datei des ls3-Dateiformats - work in progress!
<?xml version="1.0" encoding="UTF-8"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified"> <xs:element name="Zusi"> <xs:complexType> <xs:sequence> <xs:element ref="Info"/> <xs:element ref="Landschaft"/> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="Info"> <xs:complexType> <xs:sequence> <xs:element ref="AutorEintrag"/> </xs:sequence> <xs:attribute name="Beschreibung" type="xs:NCName"/> <xs:attribute name="DateiKategorie" type="xs:NCName"/> <xs:attribute name="DateiTyp" type="xs:NCName"/> <xs:attribute name="EinsatzAb"/> <!-- Datentyp TDateTime --> <xs:attribute name="EinsatzBis"/> <!-- Datentyp TDateTime --> <xs:attribute name="MinVersion" type="xs:NCName"/> <xs:attribute name="ObjektID" type="xs:int"/> <xs:attribute name="Version" type="xs:NCName"/> </xs:complexType> </xs:element> <xs:element name="AutorEintrag"> <xs:complexType> <xs:attribute name="AutorAufwand" type="xs:float"/> <xs:attribute name="AutorBeschreibung" type="xs:NCName"/> <xs:attribute name="AutorEmail" type="xs:NCName"/> <xs:attribute name="AutorID" type="xs:int"/> <xs:attribute name="AutorLizenz"/> <!--Datentyp integer enum --> <xs:attribute name="AutorName" type="xs:NCName"/> </xs:complexType> </xs:element> <xs:element name="Landschaft"> <xs:complexType> <xs:sequence> <xs:element ref="Verknuepfte"/> <xs:element ref="lsb"/> <xs:element ref="SubSet"/> <xs:element ref="Ankerpunkt"/> <xs:element ref="Animation"/> <xs:element ref="Sound"/> <xs:element ref="MeshAnimation"/> <xs:element ref="VerknAnimation"/> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="Verknuepfte"> <xs:complexType> <xs:sequence> <xs:element ref="Datei"/> <xs:element ref="p"/> <xs:element ref="phi"/> <xs:element ref="sk"/> </xs:sequence> <xs:attribute name="BoundingR" type="xs:float"/> <xs:attribute name="Flags" type="xs:long"/> <xs:attribute name="GruppenName" type="xs:NCName"/> <xs:attribute name="Helligkeit" type="xs:float"/> <xs:attribute name="LODbit" type="xs:int"/> <xs:attribute name="SichtbarAb" type="xs:float"/> <xs:attribute name="SichtbarBis" type="xs:float"/> <xs:attribute name="Vorlade" type="xs:float"/> </xs:complexType> </xs:element> <xs:element name="sk"> <xs:complexType> <xs:attribute name="X" type="xs:float"/> <xs:attribute name="Y" type="xs:float"/> <xs:attribute name="Z" type="xs:float"/> </xs:complexType> </xs:element> <xs:element name="lsb"> <xs:complexType> <xs:attribute name="Dateiname" type="xs:NCName"/> <xs:attribute name="NurInfo" type="xs:boolean"/> </xs:complexType> </xs:element> <xs:element name="SubSet"> <xs:complexType> <xs:sequence> <xs:element ref="RenderFlags"/> <xs:element ref="Textur"/> <xs:element ref="Vertex"/> <xs:element ref="Face"/> </xs:sequence> <xs:attribute name="BeleuchtungTyp" type="xs:int"/> <xs:attribute name="Blink" type="xs:float"/> <xs:attribute name="Ca" type="xs:NCName"/> <!-- Datentyp D3DColor --> <xs:attribute name="Cd" type="xs:NCName"/> <!-- Datentyp D3DColor --> <xs:attribute name="Ce" type="xs:NCName"/> <!-- Datentyp D3DColor --> <xs:attribute name="DoppeltRendern" type="xs:boolean"/> <xs:attribute name="GruppenName" type="xs:NCName"/> <xs:attribute name="MeshI" type="xs:int"/> <xs:attribute name="MeshV" type="xs:int"/> <xs:attribute name="MeterProTex" type="xs:float"/> <xs:attribute name="MeterProTex2" type="xs:float"/> <xs:attribute name="NachtEinstellung" type="xs:int"/> <xs:attribute name="Nachtumschaltung" type="xs:float"/> <xs:attribute name="TypGF"/> <!-- Datentyp integer enum --> <xs:attribute name="TypLs3"/> <!-- Datentyp integer enum --> <xs:attribute name="Zwangshelligkeit" type="xs:float"/> <xs:attribute name="zBias" type="xs:int"/> <xs:attribute name="zZoom" type="xs:float"/> </xs:complexType> </xs:element> <xs:element name="RenderFlags"> <xs:complexType> <xs:sequence> <xs:element ref="SubSetTexFlags"/> <xs:element ref="SubSetTexFlags2"/> <xs:element ref="SubSetTexFlags3"/> </xs:sequence> <xs:attribute name="ALPHABLENDENABLE" type="xs:boolean"/> <xs:attribute name="ALPHAREF" type="xs:int"/> <xs:attribute name="ALPHATESTENABLE" type="xs:boolean"/> <xs:attribute name="DESTBLEND"/> <!-- Datentyp integer enum --> <xs:attribute name="SHADEMODE"/> <!-- Datentyp integer enum --> <xs:attribute name="SRCBLEND"/> <!-- Datentyp integer enum --> <xs:attribute name="TexVoreinstellung" type="xs:int"/> </xs:complexType> </xs:element> <xs:element name="SubSetTexFlags"> <xs:complexType> <xs:attribute name="ALPHAARG0"/> <!-- Datentyp integer enum --> <xs:attribute name="ALPHAARG1"/> <!-- Datentyp integer enum --> <xs:attribute name="ALPHAARG2"/> <!-- Datentyp integer enum --> <xs:attribute name="ALPHAOP"/> <!-- Datentyp integer enum --> <xs:attribute name="COLORARG0"/> <!-- Datentyp integer enum --> <xs:attribute name="COLORARG1"/> <!-- Datentyp integer enum --> <xs:attribute name="COLORARG2"/> <!-- Datentyp integer enum --> <xs:attribute name="COLOROP"/> <!-- Datentyp integer enum --> <xs:attribute name="MAGFILTER"/> <!-- Datentyp integer enum --> <xs:attribute name="MINFILTER"/> <!-- Datentyp integer enum --> <xs:attribute name="RESULTARG"/> <!-- Datentyp integer enum --> </xs:complexType> </xs:element> <xs:element name="SubSetTexFlags2"> <xs:complexType> <xs:attribute name="ALPHAARG0"/> <!-- Datentyp integer enum --> <xs:attribute name="ALPHAARG1"/> <!-- Datentyp integer enum --> <xs:attribute name="ALPHAARG2"/> <!-- Datentyp integer enum --> <xs:attribute name="ALPHAOP"/> <!-- Datentyp integer enum --> <xs:attribute name="COLORARG0"/> <!-- Datentyp integer enum --> <xs:attribute name="COLORARG1"/> <!-- Datentyp integer enum --> <xs:attribute name="COLORARG2"/> <!-- Datentyp integer enum --> <xs:attribute name="COLOROP"/> <!-- Datentyp integer enum --> <xs:attribute name="MAGFILTER"/> <!-- Datentyp integer enum --> <xs:attribute name="MINFILTER"/> <!-- Datentyp integer enum --> <xs:attribute name="RESULTARG"/> <!-- Datentyp integer enum --> </xs:complexType> </xs:element> <xs:element name="SubSetTexFlags3"> <xs:complexType> <xs:attribute name="ALPHAARG0"/> <!-- Datentyp integer enum --> <xs:attribute name="ALPHAARG1"/> <!-- Datentyp integer enum --> <xs:attribute name="ALPHAARG2"/> <!-- Datentyp integer enum --> <xs:attribute name="ALPHAOP"/> <!-- Datentyp integer enum --> <xs:attribute name="COLORARG0"/> <!-- Datentyp integer enum --> <xs:attribute name="COLORARG1"/> <!-- Datentyp integer enum --> <xs:attribute name="COLORARG2"/> <!-- Datentyp integer enum --> <xs:attribute name="COLOROP"/> <!-- Datentyp integer enum --> <xs:attribute name="MAGFILTER"/> <!-- Datentyp integer enum --> <xs:attribute name="MINFILTER"/> <!-- Datentyp integer enum --> <xs:attribute name="RESULTARG"/> <!-- Datentyp integer enum --> </xs:complexType> </xs:element> <xs:element name="Textur"> <xs:complexType> <xs:sequence> <xs:element ref="Datei"/> </xs:sequence> <xs:attribute name="AnzahlMipMapLevel" type="xs:int"/> <xs:attribute name="TransparentFarbe" type="xs:NCName"/> <!-- Datentyp D3DColor --> <xs:attribute name="TransparentModus"/> <!-- Datentyp integer enum --> </xs:complexType> </xs:element> <xs:element name="Vertex"> <xs:complexType> <xs:sequence> <xs:element ref="p"/> <xs:element ref="n"/> </xs:sequence> <xs:attribute name="U" type="xs:float"/> <xs:attribute name="U2" type="xs:float"/> <xs:attribute name="V" type="xs:float"/> <xs:attribute name="V2" type="xs:float"/> </xs:complexType> </xs:element> <xs:element name="n"> <xs:complexType> <xs:attribute name="X" type="xs:float"/> <xs:attribute name="Y" type="xs:float"/> <xs:attribute name="Z" type="xs:float"/> </xs:complexType> </xs:element> <xs:element name="Face"> <xs:complexType> <xs:attribute name="i" type="xs:NCName"/> </xs:complexType> </xs:element> <xs:element name="Ankerpunkt"> <xs:complexType> <xs:sequence> <xs:element ref="p"/> <xs:element ref="phi"/> <xs:element ref="Datei"/> </xs:sequence> <xs:attribute name="AnkerKat"/> <xs:attribute name="AnkerTyp"/> <xs:attribute name="Beschreibung" type="xs:NCName"/> </xs:complexType> </xs:element> <xs:element name="Animation"> <xs:complexType> <xs:sequence> <xs:element ref="AniNrs"/> </xs:sequence> <xs:attribute name="AniBeschreibung" type="xs:NCName"/> <xs:attribute name="AniID"/> <!-- Datentyp integer enum --> <xs:attribute name="AniLoopen" type="xs:boolean"/> </xs:complexType> </xs:element> <xs:element name="AniNrs"> <xs:complexType> <xs:attribute name="AniNr" type="xs:int"/> </xs:complexType> </xs:element> <xs:element name="MeshAnimation"> <xs:complexType> <xs:complexContent> <xs:extension base="AniPunkt"> <xs:attribute name="AniGeschw" type="xs:float"/> <xs:attribute name="AniIndex" type="xs:int"/> <xs:attribute name="AniNr" type="xs:int"/> </xs:extension> </xs:complexContent> </xs:complexType> </xs:element> <xs:element name="VerknAnimation"> <xs:complexType> <xs:complexContent> <xs:extension base="AniPunkt"> <xs:attribute name="AniGeschw" type="xs:float"/> <xs:attribute name="AniIndex" type="xs:int"/> <xs:attribute name="AniNr" type="xs:int"/> </xs:extension> </xs:complexContent> </xs:complexType> </xs:element> <xs:element name="Datei"> <xs:complexType> <xs:attribute name="Dateiname" type="xs:NCName"/> <xs:attribute name="NurInfo" type="xs:boolean"/> </xs:complexType> </xs:element> <xs:element name="p"> <xs:complexType> <xs:attribute name="X" type="xs:float"/> <xs:attribute name="Y" type="xs:float"/> <xs:attribute name="Z" type="xs:float"/> </xs:complexType> </xs:element> <xs:element name="phi"> <xs:complexType> <xs:attribute name="X"/> <xs:attribute name="Y"/> <xs:attribute name="Z"/> </xs:complexType> </xs:element> <xs:element name="Sound"> <xs:complexType> <xs:choice> <xs:element ref="Abhaengigkeit"/> <xs:sequence> <xs:element ref="Sound"/> <xs:element ref="Datei"/> </xs:sequence> </xs:choice> <xs:attribute name="Autostart" type="xs:boolean"/> <xs:attribute name="GeschwAendern" type="xs:boolean"/> <xs:attribute name="Lautstaerke" type="xs:float"/> <xs:attribute name="Loop" type="xs:boolean"/> <xs:attribute name="MaxRadius" type="xs:float"/> <xs:attribute name="MinRadius" type="xs:float"/> <xs:attribute name="PosAnlauf" type="xs:int"/> <xs:attribute name="PosAuslauf" type="xs:int"/> <xs:attribute name="dreiD" type="xs:boolean"/> </xs:complexType> </xs:element> <xs:element name="Abhaengigkeit"> <xs:complexType> <xs:sequence> <xs:element ref="Kennfeld"/> </xs:sequence> <xs:attribute name="LautstaerkeAbh" type="xs:boolean"/> <xs:attribute name="PhysikGroesse"/> <xs:attribute name="SoundGeschwAbh" type="xs:boolean"/> <xs:attribute name="SoundOperator"/> <xs:attribute name="Trigger"/> <xs:attribute name="TriggerGrenze" type="xs:float"/> </xs:complexType> </xs:element> <xs:element name="Kennfeld"> <xs:complexType> <xs:sequence> <xs:element ref="Pkt"/> <xs:element ref="Stufe"/> </xs:sequence> <xs:attribute name="Beschreibung" type="xs:NCName"/> <xs:attribute name="xText" type="xs:NCName"/> <xs:attribute name="yText" type="xs:NCName"/> </xs:complexType> </xs:element> <xs:element name="Pkt"> <xs:complexType> <xs:attribute name="PktX" type="xs:float"/> <xs:attribute name="PktY" type="xs:float"/> </xs:complexType> </xs:element> <xs:element name="Stufe"> <xs:complexType> <xs:attribute name="StufenWert" type="xs:float"/> </xs:complexType> </xs:element> <xs:complexType name="AniPunkt"> <xs:sequence> <xs:element ref="AniPunkt"/> </xs:sequence> </xs:complexType> <xs:element name="AniPunkt"> <xs:complexType> <xs:sequence> <xs:element ref="p"/> <xs:element ref="q"/> </xs:sequence> <xs:attribute name="AniDimmung" type="xs:float"/> <xs:attribute name="AniZeit" type="xs:float"/> </xs:complexType> </xs:element> <xs:element name="q"> <xs:complexType> <xs:attribute name="W"/> <xs:attribute name="X"/> <xs:attribute name="Y"/> <xs:attribute name="Z"/> </xs:complexType> </xs:element> </xs:schema>