Werken met het XML-formulierobjectmodel

Een DOM is interface dat geschikt is voor meerdere platforms en talen en waartoe programma's en scripts toegang hebben om de inhoud, structuur en stijl van een document dynamisch bij te werken. DOM's worden veel gebruikt met gegevens in XML.

Alle DOM's die worden gebruikt in het XML-formulierobjectmodel delen de volgende kenmerken:

  • Zij hebben uitsluitend een boomstructuur.

  • Een knooppunt heeft mogelijk verplichte onderliggende knooppunten. In zulke gevallen worden de verplichte onderliggende knooppunten op hetzelfde tijdstip gemaakt als het bovenliggende knooppunt.

  • De niet-verplichte onderliggende knooppunten van elk knooppunt worden geordend op leeftijd. Dat wil zeggen dat in het DOM is opgeslagen in welke volgorde de niet-verplichte onderliggende knooppunten zijn toegevoegd.

    Voor elk stadium in de formulierverwerking is er een DOM dat de gegevensstructuren bewaart voor dat stadium. Elk DOM kan door scripts worden gecontroleerd en gewijzigd. DOM's zijn verantwoordelijk voor het handhaven van de interne, maar niet de externe consistentie. Wanneer bijvoorbeeld een script een keuzerondje inschakelt door het overeenkomstige veld in te schakelen, worden alle andere knoppen die daaraan zijn gekoppeld, uitgeschakeld. Dit betreft interne consistentie, zodat dit wordt beheerd door het formulier-DOM zelf.

    Het gegevens-DOM daarentegen treedt niet op tegen een script dat de XML-regels overtreedt, door bijvoorbeeld een object twee eigenschappen met dezelfde naam te geven. Dit betreft externe consistentie, dus valt dit onder de verantwoording van de scriptauteur, niet het DOM.

    Telkens als een formulierontwerp met gegevens wordt gecombineerd, wordt met het XML-formulierobjectmodel het proces vergemakkelijkt waarin sjabloon en gegevens worden gecombineerd om het resulterende formulier te maken. Dit proces begint wanneer met behulp van de door bestaande XML-DOM's gemaakte representaties van het formulierontwerp en de XML-gegevens afzonderlijke modellen worden gemaakt. Deze afzonderlijke modellen slaan een gestructureerde representatie op van het oorspronkelijke formulierontwerp en de oorspronkelijke XML-gegevens. Het sjabloon-DOM hoort bij het formulierontwerp en het gegevens-DOM hoort bij de door de gebruiker geleverde XML-gegevens.

    Nadat de sjabloon- en gegevensmodellen zijn gemaakt, wordt er een derde model gemaakt, het formulier-DOM, dat de samengevoegde informatie vertegenwoordigt. Het formulier-DOM doet dienst als medium om de specifieke waarden van de XML-gegevens te combineren met de presentatieregels die door het formulierontwerp zijn bepaald.

    Als u na het maken van het formulier-DOM een interactief formulier maakt, is het formulier compleet en gereed om te worden geïmplementeerd door gebruikers. Interactieve formulierontwerpen kunnen gekoppelde gegevens bevatten waarmee deze zijn samengevoegd, maar de meeste interactieve formulieren zijn ontworpen om door gebruikers ingevoerde gegevens te ondersteunen.

    Het proces tot en met het stadium waarin het formulier-DOM wordt gemaakt is identiek bij alle formulieren. Formulieren die niet interactief zijn bevatten echter een reeks gegevens die moeten worden samengevoegd met het bijbehorende formulierontwerp. Bij formulieren met een vaste indeling is het samenvoegen van gegevens niet bepalend voor de presentatieregels voor het formulier. Dat wil zeggen dat gegevens worden samengevoegd in de toepasselijke velden zonder dat de veldeigenschappen worden gewijzigd. Wanneer daarentegen gegevens worden samengevoegd met formulieren met een stroombare indeling, worden de velden groter of kleiner al naar gelang de hoeveelheid gegevens die erin worden opgeslagen.

    Het formulier-DOM voor formulieren met zowel vaste en stroombare indelingen ziet er bijna eender uit: het betreft één lang formulier zonder paginering. Wanneer de gegevens en presentatieregels worden toegepast op deze typen formulieren, moeten deze worden geformatteerd op basis van de indelingsinformatie. Vanuit het formulier-DOM wordt een indeling-DOM gemaakt dat het formulier structureert in pagina's en andere regels toepast die specifiek voor pagina's zijn, zoals paginanummering, koppen en trailers. Het volgende diagram demonstreert dit proces.

    Nadat de indelingsregels zijn toegepast op formulieren met een vaste of stroombare indeling, zijn beide typen compleet.

DOM's XML-formulierobjectmodel

connectionSet-model

Het connectionSet-model bestuurt zowel een gegevensschema als een gegevensbron die door een bepaald formulier worden gebruikt. Dit model geeft een beschrijving van verbindingen met het XML-schema, voorbeeld-XML-gegevens of webservices. Met behulp van het connectionSet-model kunnen de detailgegevens, zoals de URL, worden opgehaald voor een schema waarnaar wordt verwezen of WSDL voor rapportage.

Het connectionSet-model bestaat uit de volgende objecten:

Gegevensmodel

Het gegevensmodel is een in het geheugen opgeslagen representatie van gebruikergegevens. Wanneer een formulierontwerp en gegevens worden samengevoegd met behulp van het gegevensbindingsproces, levert het gegevensmodel de inhoud aan veld op het eindformulier.

Met behulp van dit model kunt u gegevens van een van de volgende gegevensbronnen openen en bewerken:

Gebeurtenismodel

Het gebeurtenismodel bestuurt de wijzigingen in een formulier die optreden voor, tijdens en na acties die plaatsvinden. Deze acties omvatten dynamische formuliergebeurtenissen, zoals het moment waarop de gegevens en het formulierontwerp worden samengevoegd, maar voordat er paginering is toegepast. Ook betreft het interactieve formuliergebeurtenissen, zoals het moment waarop een gebruiker de waarde van een veld bijwerkt.

Het gebeurtenismodel bevat het volgende object:

Formuliermodel

Het formuliermodel is de in het geheugen opgeslagen representatie van het samengevoegde sjabloonmodel en gegevensmodel. Met dit model kunt u het uiterlijk van het formulier beïnvloeden, veldwaarden aanpassen of andere wijzigingen uitvoeren voordat u het voltooide formulier weergeeft aan een gebruiker of het formulier verwerkt middels het indelingsmodel.

Scripts maken standaard gebruik van het formuliermodel. U hoeft daarom niet het formuliermodel op te geven in uw verwijzingssyntaxis.

Het formuliermodel bestaat uit de volgende objecten:

Hostmodel

Het hostmodel biedt een reeks eigenschappen en methoden waarmee u op toepassingsniveau kunt werken. Deze eigenschappen en methoden zijn beschikbaar voor scripts, ongeacht de hosttoepassing.

Het hostmodel bevat het volgende object:

Indelingsmodel

Het indelingsmodel is de in het geheugen opgeslagen representatie van een formulier, nadat het is samengevoegd met gegevens. Deze representatie is de eindindeling van een formulier.

Het indelingsmodel bevat het volgende object:

Handtekeningmodel

Het handtekeningmodel biedt een reeks methoden voor het werken met digitale XML-handtekeningen die voldoen aan de W3C XML-handtekeningstandaard (http://www.w3.org/TR/xmldsig-core/). Hiermee kunt u scriptopdrachten opgeven voor het tekenen, wissen, opsommen en verifiëren van handtekeningen.

Het handtekeningmodel bevat het volgende object:

sourceSet-model

Het sourceSet-model zorgt voor een verbinding tussen een externe OLEDB-database en het gegevensmodel. Met behulp van dit model kunt u verbindingen besturen met de gegevensbron en records beheren binnen de gegevensbron.

Het sourceSet-model bestaat uit de volgende objecten:

XFA-model

Het XFA-model definieert het toepassingsmodel waarmee Designer het XML-formulierobjectmodel implementeert. Het toepassingsmodel is het basismodel, waarvan alle andere modellen zijn afgeleid.

Het XFA-model bestaat uit de volgende objecten:

packet

xfa