Verstehen des XML-Fomularobjektmodells

Ein DOM ist eine plattform- und sprachneutrale Schnittstelle, die Programmen und Skripten erlaubt, dynamisch den Inhalt, die Struktur und die Darstellung eines Dokuments zu verändern und aktualisieren. DOMs werden im Allgemeinen für XML-Dokumente verwendet.

Die in diesem XML-Fomularobjektmodell verwendeten DOMs haben folgende gemeinsame Eigenschaften:

  • Sie besitzen alle eine Baumstruktur.

  • Eine Node kann „obligatorische Kinder“ besitzen. In diesen Fällen werden die „obligatorischen Kinder“ gleichzeitig mit ihren Eltern erstellt.

  • Die optionalen Kinder einer jeden Node werden nach Alter angeordnet. Das heißt, dem DOM ist bekannt, in welcher Reihenfolge die optionalen Kinder hinzugefügt wurden.

    Für jeden Schritt in der Formularverarbeitung gibt es ein DOM, das die Datenstruktur für diese Phase speichert. Skripten können jedes DOM überprüfen und ändern. DOMs sind für die Einhaltung einer internen, aber nicht externen Konsistenz verantwortlich. Wenn ein Skript beispielsweise ein Optionsfeld durch das Zuweisen des entsprechenden Felds aktiviert, werden alle anderen an dieses Optionsfeld gekoppelten Felder automatisch deaktiviert. Da es sich hier um eine Frage der internen Konsistenz handelt, übernimmt das Formluar-DOM selbst die Verwaltung.

    Im Gegensatz dazu unternimmt das Daten-DOM nichts, um zu verhindern, dass ein Skript die XML-Regeln verletzt, beispielsweise indem es einem Objekt zwei Eigenschaften mit demselben Namen zuweist. Da es sich hier um eine Frage der externen Konsistenz handelt, liegt die Verantwortung beim Verfasser des Skripts und nicht beim DOM.

    Bei der Kombination eines Formularentwurfs mit Daten, erleichtert das XMLFomularobjektmodell den Vorgang der Kombination von Vorlage und Daten für die Erstellung des Formulars. Dieser Vorgang beginnt mit der Verwendung vorhandener XML-DOM-Darstellungen für den Formularentwurf und den XML-Daten zur Erstellung verschiedener Modelle Diese separaten Modelle speichern eine strukturierte Darstellung des ursprünglichen Formularentwurfs und die Original-XML-Daten. Die Vorlage-DOM entspricht dem Formularentwurf und die Daten-DOM den vom Benutzer bereitgestellten XML-Daten.

    Nach der Erstellung der Vorlagen- und Datenmodelle wird ein drittes Modell, das Formular-DOM erstellt, das die zusammengeführten Daten enthält. Das Formular-DOM dient als Medium zur Zusammenführung der spezifischen Werte der XML-Daten mit den Darstellungsregeln, die durch die Formularentwürfe vorgegeben sind.

    Erstellen Sie ein interaktives Formular, ist dieses nach der Erstellung eines Formular-DOMs abgeschlossen und kann den Benutzern bereitgestellt werden. Interaktive Formularentwürfe können zugeordnete Daten, mit denen sie zusammengeführt wurden, enthalten, aber die meisten interaktiven Formulare werden für die Unterstützung der vom Benutzer eingegebenen Daten entworfen.

    Die Verarbeitung und Erstellung des Formular-DOMs ist bei allen Formularen identisch. Die nicht interaktiven Formulare enthalten jedoch einen Datensatz, der mit ihrem Formularentwurf zusammengeführt werden muss. Im Fall von Formularen mit einem festen Layout bestimmt die Datenzusammenführung nicht die Darstellungsregeln für das Formular. Das bedeutet, dass die Daten mit den geeigneten Feldern ohne Änderung der Feldeigenschaften zusammengeführt werden. Werden die Daten hingegen mit Formularen, die ein flexibles Layout enthalten, zusammengeführt, wird die Größe der Felder an die Datenmenge, mit der sie zusammengeführt werden sollen, angepasst.

    Das Formular-DOM für Formulare, die sowohl ein festes wie auch flexibles Layout besitzen, sehen sich sehr ähnlich. Es ist ein langes Formular ohne Paginierung. Sobald die Daten- und Darstellungsregeln auf diese Art von Formularen angewendet werden, müssen sie gemäß den Layoutinformationen formatiert werden. Aus dem Formular-DOM wird ein Layout-DOM erstellt, das das Formular in Seiten gliedert und seitenbasierte Regeln, wie die Seitennummerierung, Kopfzeilen und Trailer anwendet. Dieser Vorgang ist in folgendem Diagramm ersichtlich.

    Nach Anwendung der Layoutregeln auf Formulare mit festem oder flexiblen Layout, sind beide Formulararten vollständig.

XML-Fomularobjektmodell-DOMs

connectionSet-Modell

Das connectionSet-Modell steuert sowohl ein Datenschema wie auch eine Datenquelle, die von einem bestimmten Formular verwendet wird. Dieses Modell beschreibt Verbindungen zu XML-Schemata, XML-Beispieldaten oder Webdiensten. Mit dem connectionSet-Modell lassen sich Details wie die URL für ein referenziertes Schema oder WSDL zur Berichterstattung extrahieren.

Das connectionSet-Modell besteht aus folgenden Objekten:

Datenmodell

Das Datenmodell ist die im Speicher abgelegte Darstellung der Benutzerdaten. Werden ein Formularentwurf und Daten mittels des Datenbindungsprozesses zusammengeführt, stellt das Datenmodell den Inhalt für die Felder des endgültigen Formulars bereit.

Mit diesem Modell haben Sie Zugriff auf eine der folgenden Datenquellen, die Sie bearbeiten können:

Ereignismodell

Das Ereignismodell steuert die Änderungen in einem Formular, die vor, während und nach Aktionen ausgeführt werden. Zu diesen Aktionen zählen dynamische Formularereignisse, wie z. B. der Zeitpunkt, zu welchem die Daten und der Formularentwurf zusammengeführt werden, jedoch bevor eine Paginierung angewendet wird, sowie interaktive Formularereignisse, wie z. B. wenn ein Benutzer den Wert eines Felds aktualisiert.

Das Ereignismodell besteht aus folgendem Objekt:

Formularmodell

Das Formularmodell ist die im Speicher abgelegte Darstellung des zusammengeführten Vorlagen- und Datenmodells. Mit diesem Modell lassen sich das Erscheinungsbild des Formulars beeinflussen, Feldwerte festlegen oder andere Änderungen vornehmen, bevor das ausgefüllte Formular dem Benutzer angezeigt oder bevor das Formular durch das Layoutmodell verarbeitet wird.

Im Formularmodell werden die Skripten standardmäßig ausgeführt, es ist daher nicht notwendig, das Formularmodell in der Referenzsyntax anzugeben.

Das Formularmoedell besteht aus folgenden Objekten:

Hostmodell

Das Hostmodell stellt einen Satz von Eigenschaften und Methoden für die Arbeit auf Anwendungsebene bereit. Diese Eigenschaften und Methoden sind unabhängig von der Hostanwendung für das Erstellen von Skripten verfügbar.

Das Hostmodell besteht aus dem folgenden Objekt:

Layoutmodell

Das Layoutmodell ist die im Speicher abgelegte Darstellung eines Formulars nach der Zusammenführung mit Daten. Diese Darstellung gibt das endgültige Formularlayout wieder.

Das Layoutmodell besteht aus dem folgenden Objekt:

Unterschriftmodell

Das Unterschriftmodell stellt Methoden für die Arbeit mit digitalen XML-Signaturen, die dem XML-Signatur-Standard des W3C-Consortiums entsprechen, bereit (http://www.w3.org/TR/xmldsig-core/). Mit ihm können Sie Skriptbefehle zum Unterschreiben, zum Löschen, zum Aufzählen und zur Überprüfung von Unterschriften angeben.

Das Unterschriftmodell besteht aus folgenden Objekten:

sourceSet-Modell

Das sourceSet-Modell stellt eine Verbindung zwischen einer externen OLEDB-Datenbank und dem Datenmodell bereit. Mit diesem Modell lassen sich Verbindungen zur Datenquelle steuern sowie Datensätze innerhalb der Datenquelle verwalten.

Das sourceSet-Modell besteht aus folgenden Objekten:

XFA-Modell

Das XFA-Modell definiert das Anwendungsmodell, das Designer zur Implementierung des XML-Formularobjektmodells verwendet. Das Anwendungsmodell ist das Basismodell, von dem alle anderen Modelle abgeleitet werden.

Das XFA-Modell besteht aus folgenden Objekten:

packet

xfa