Komponenten
Komponenten dienen zur benutzerdefinierten Ausgabe von Informationen in einem Formular, welches aus einem XML-Schema generiert wurde. Beispiele hierfür sind die Anzeige eines Kalenders beim Ausfüllen von Datumsfeldern oder die Anzeige eines Colorpickers bei Feldern, in denen Farbwerte eingegeben werden sollen. Für Elemente und Attribute, aber auch für simple und komplexe Typen kann eine Komponente definiert werden. Hierfür besteht die Möglichkeit, serverseitige Transformationen auszuführen und diese clientseitig mit CSS zu gestalten oder mittels Javascript mit zusätzlichen Funktionalitäten auszustatten. Die serverseitige Transformation ist für eine Komponente notwendig. Das CSS und Javascript hingegen ist optional.
Die Pflege der einzelnen Komponenten wird unterhalb des, in der Baumansicht sichtbaren, Containers "Komponenten" durchgeführt. Die Bindung einer Komponente wird im Komponentenbindungsobjekt des jeweiligen Schemas durchgeführt. Hierfür stehen die hier beschriebenen Selektoren zur Verfügung.
Die Pflegemaske einer Komponente ist in die vier folgenden Kategorien unterteilt.
Allgemein
Die Definition eines Anzeigenamens und einer Beschreibung ist hier möglich. Darüber hinaus wird in diesem Konfigurationsabschnitt die Gültigkeit einer Komponente definiert. Die Komponente kann für das gesamte Set, aber auch für Elemente, Attribute, simple oder komplexe Typen gültig sein. Mit Hilfe des Template Aspekts lässt sich steuern, ob eine Komponente nur den Inhaltsbereich oder auch das Label überschreiben soll. Es wird hierbei zwischen Array und einem einzelnen Abschnitt unterschieden. Des Weiteren wird in diesem Abschnitt automatisch eine GUID zur Identifikation der Komponente definiert.
Serverkomponente
In diesem Abschnitt lässt sich die Ausgabe der Komponente mit Hilfe von HTML und XSLT gestalten. Zusätzlich stehen die hier beschriebenen Extensions zur Verfügung.
Clientkomponente
Dieser Abschnitt ermöglicht die Einbindung von CSS und Javascript. Es besteht die Möglichkeit, eine Javascript-Instanz an ein HTML-Element zu binden. Hierfür ist Definition eines Prototypen und die Bindung an dem HTML-Element in der Serverkomponente notwendig. Der Prototyp-String setzt sich aus dem Klassennamen der Javascript-Klasse und dem Textabschnitt ".prototype" zusammen (bspw. dateTimePicker.prototype). Die Bindung in der Serverkomponente wird durch das Attribut data-component gewährleistet. Als Inhalt des Attributes muss die GUID der Komponente gesetzt werden. Eine genauere Beschreibung des Javascript-Prototyps finden Sie hier.
Zusätzlich kann in diesem Abschnitt der Datenbindungsmodus der Komponente gewählt werden. Der Datenbindung Modus gibt Auskunft über die Art der Weiterverarbeitung der Formulardaten. Es kann zwischen "OuterXml" und "NodeModel" gewählt werden. Wenn "OuterXml" ausgewählt wird, dann werden mögliche Kindelemente nicht mehr automatisch generiert. Die Komponente muss das Xml des entsprechenden Knotens setzen. Das ist beispielsweise bei einem WYSIWYG-Editor sinnvoll. Wenn man hingegen den Datenbindung Modus "NodeModel" auswählt, muss man nur den gewünschten Inhalt setzen. Die Generierung der Anzeige von Kindelementen oder Attributen ist weiterhin möglich.
Konfiguration
Dieser Abschnitt dient zur Definition benutzerdefinierter Konfigurationswerte, diese können beispielsweise zur Übergabe eines lokalisierten Textwertes dienen. Die Definition wird mit Hilfe von XML durchgeführt. Eine genauere Beschreibung des XML-Aufbaus finden Sie hier.