Prestatieaspecten voor expressies in XML-formulierobjectmodellen

Het Adobe XML-formulierobjectmodel hanteert een benadering tot het samenstellen van formulieren waarbij onderscheid wordt gemaakt tussen indeling, ontwerp en gegevens van het formulier.

In een formulierontwerp worden objecten door verwijzingssyntaxisexpressies gekoppeld met waarden, objecten en eigenschappen binnen de boomstructuurhiërarchie van een DOM (Document Object Model). Verwijzingssyntaxisexpressies worden meestal geschreven in formulierlogica, in validaties, berekeningen of andere bedrijfsregels.

Neem de volgende tips in acht om de verwerkingstijd die nodig is voor het oplossen van verwijzingssyntaxisexpressies te beperken.

  • Houd expressies zo eenvoudig mogelijk.

  • Gebruik geen “..” (dubbele punten) in expressies.

Sla bovendien het resultaat van de evaluatie van een verwijzingssyntaxisexpressie in een script op in een objectvariabele. Dit resultaat kan worden opgehaald als de verwijzingssyntaxisexpressie weer wordt gebruikt. Het is efficiënter om een resultaat opnieuw te gebruiken dan om een expressie opnieuw te evalueren.

In het volgende voorbeeld wordt de methode resolveNode eenmaal gebruikt, en wordt de resulterende objectverwijzing opgeslagen en opnieuw gebruikt voor de verwerking van verschillende gerelateerde objecten. Dit script kan efficiënter worden verwerkt dan een script waarin voor elk object een verwijzingssyntaxisexpressie wordt gebruikt. In dit script wordt bovendien voor elk object de methode resolveNode gebruikt.

var oSubform = xfa.resolveNode("xfa.form.form1.Subform1"); 
if (oSubform.all.length< 3) { 
      Subform.SubformUpButton1.presence = "invisible"; 
      Subform.SubformLabel1.presence = "invisible"; 
      Subform.SubformUpButton2.presence = "invisible"; 
      Subform.SubformLabel2.presence = "invisible"; 
 }