Ahoi,
bei der Entwicklung des Editors bereiten mir derzeit die mixed-Elemente Kopfschmerzen. Mir fällt kein sauberes Darstellungs-Szenario hierfür ein, auch da es nahezu unmöglich scheint, die Reihenfolge und Positionierung der Elemente im Text zu erhalten wenn man das ganze in eine User-taugliche Darstellungsform gepresst hatte (von den Kopfschmerzen abgesehen, im DOM das ganze erst mal auseinandernehmen zu müssen).
Ich möchte deshalb vorschlagen die Konfigurations-Syntax wie folgt zu ändern:
Alt:
Neu:
Die drei Elemente entry, label und text wären damit nicht mehr mixed. Inhalte würden durch Kind-Elemente definiert.
Bspw alt:
wäre dann:
Fraglich scheint mir noch, wie man die Leerzeichen-Handhabung beim inner-text handhabt (vgl. Beispiel).
Wie ist denn eure Meinung dazu?
Abwärtskompatibilität kann man dadurch "herstellen", dass mit dem Release Upgrade-Skripte bereitgestellt werden, welche die bestehende Konfiguration aktualisieren. Dazu wurde im pages-Element bereits das Attribut lib_version angelegt.
Grüße,
Julian
bei der Entwicklung des Editors bereiten mir derzeit die mixed-Elemente Kopfschmerzen. Mir fällt kein sauberes Darstellungs-Szenario hierfür ein, auch da es nahezu unmöglich scheint, die Reihenfolge und Positionierung der Elemente im Text zu erhalten wenn man das ganze in eine User-taugliche Darstellungsform gepresst hatte (von den Kopfschmerzen abgesehen, im DOM das ganze erst mal auseinandernehmen zu müssen).
Ich möchte deshalb vorschlagen die Konfigurations-Syntax wie folgt zu ändern:
Alt:
Code:
<xsd:complexType name="entry" mixed="true"> <xsd:choice minOccurs="0" maxOccurs="unbounded"> <xsd:element name="icon" type="icon" /> </xsd:choice> <xsd:attribute ref="value" /> <xsd:attributeGroup ref="range" /> </xsd:complexType> <xsd:complexType name="text" mixed="true"> <xsd:choice minOccurs="0" maxOccurs="unbounded"> <xsd:element name="icon" type="icon" /> <xsd:element name="layout" type="layout" minOccurs="0" maxOccurs="1" /> </xsd:choice> <xsd:attribute ref="align" use="optional" /> </xsd:complexType> <xsd:complexType name="label" mixed="true"> <xsd:choice maxOccurs="unbounded" minOccurs="0"> <xsd:element name="icon" type="icon" /> </xsd:choice> </xsd:complexType>
Code:
<xsd:complexType name="entry"> <xsd:choice minOccurs="0" maxOccurs="unbounded"> <xsd:element name="text" type="xsd:string" /> <xsd:element name="icon" type="icon" /> </xsd:choice> <xsd:attribute ref="value" /> <xsd:attributeGroup ref="range" /> </xsd:complexType> <xsd:complexType name="text"> <xsd:choice minOccurs="0" maxOccurs="unbounded"> <xsd:element name="text" type="xsd:string" /> <xsd:element name="icon" type="icon" /> <xsd:element name="layout" type="layout" minOccurs="0" maxOccurs="1" /> </xsd:choice> <xsd:attribute ref="align" use="optional" /> </xsd:complexType> <xsd:complexType name="label"> <xsd:choice maxOccurs="unbounded" minOccurs="0"> <xsd:element name="text" type="xsd:string" /> <xsd:element name="icon" type="icon" /> </xsd:choice> </xsd:complexType>
Bspw alt:
Code:
<text><icon name="CometVisu" type="64" /> Mehrere Icons <icon name="CometVisu" type="64" /></text>
Code:
<text><icon name="CometVisu" type="64" /><text>Mehrere Icons</text><icon name="CometVisu" type="64" /></text>
Wie ist denn eure Meinung dazu?
Abwärtskompatibilität kann man dadurch "herstellen", dass mit dem Release Upgrade-Skripte bereitgestellt werden, welche die bestehende Konfiguration aktualisieren. Dazu wurde im pages-Element bereits das Attribut lib_version angelegt.
Grüße,
Julian
Kommentar