Accéder aux données d’application à l’aide du modèle objet InfoPath 2003

Le modèle objet compatible avec InfoPath 2003 fournit des objets et des collections permettant d'accéder aux informations sur l'application InfoPath, notamment des informations relatives au document XML sous-jacent d'un formulaire et au fichier de définition du formulaire (.xsf). Ces données sont accessibles via l'objet de niveau supérieur dans la hiérarchie du modèle objet d'InfoPath, qui est instancié via l'interface Application .

Un projet de modèle de formulaire avec code managé compatible Avec InfoPath 2003 créé à l’aide de Visual Studio 2012 initialise la thisApplication variable dans la _Startup méthode de la classe de code de formulaire, qui peut être utilisée pour accéder aux membres de l’interface d’application . Dans l'exemple qui suit, les propriétés Name et Version de l'interface Application sont utilisées pour renvoyer le nom et le numéro de version de l'instance d'InfoPath en cours d'exécution. Cette information est affichée dans une boîte de message à l'aide de la méthode Alert de l'interface UI2 .

thisXDocument.UI.Alert("Application name: " + thisApplication.Name +
   "\nApplication version: " + thisApplication.Version);
thisXDocument.UI.Alert("Application name: " & thisApplication.Name & _
   vbNewLine & "Application version: " & thisApplication.Version)

Dans l’exemple Visual C#, la référence au caractère dans la \n chaîne du message d’alerte est rendue par le code non managé InfoPath sous la forme d’un nouveau flux de ligne standard qui provoque l’arrêt du texte et le placer sur une nouvelle ligne dans la zone de message. Pour utiliser de manière explicite la nouvelle valeur de ligne définie pour l'environnement et la plate-forme actuels, utilisez la propriété Environment.NewLine comme illustré dans l'exemple qui suit.

thisXDocument.UI.Alert("Application name: " + thisApplication.Name +
   Environment.NewLine + "Application version: " + 
   thisApplication.Version);

Accès aux données du document XML sous-jacent d'un formulaire

Les développeurs peuvent utiliser l'interface XDocument pour accéder aux informations sur le document XML sous-jacent d'un formulaire, notamment à une référence à un DOM (Document Object Model) XML contenant les données XML source du formulaire.

Dans l'exemple ci-dessous, la première boîte de message affiche une partie des données disponibles pour l'interface XDocument , par exemple si le document XML sous-jacent a été modifié (à l'aide de la propriété IsDirty ) et s'il a été signé numériquement (à l'aide de la propriété IsSigned ). La deuxième boîte de message utilise dans interface XDocument la propriété DOM pour afficher le XML source du document XML sous-jacent du formulaire.

thisXDocument.UI.Alert("\nIsDirty: " + thisXDocument.IsDirty +
   "\nIsDOMReadOnly: " + thisXDocument.IsDOMReadOnly +
   "\nIsNew: " + thisXDocument.IsNew +
   "\nIsReadOnly: " + thisXDocument.IsReadOnly +
   "\nIsSigned: " + thisXDocument.IsSigned);
thisXDocument.UI.Alert(thisXDocument.DOM.xml);
thisXDocument.UI.Alert("IsDirty: " & thisXDocument.IsDirty & vbNewLine & _
   "IsDOMReadOnly: " & thisXDocument.IsDOMReadOnly & vbNewLine & _
   "IsNew: " & thisXDocument.IsNew & vbNewLine & _
   "IsReadOnly: " & thisXDocument.IsReadOnly & vbNewLine & _
   "IsSigned: " & thisXDocument.IsSigned)
thisXDocument.UI.Alert(thisXDocument.DOM.xml)

La propriété xml utilisée dans l'exemple précédent est une propriété du DOM XML. Pour plus d'informations à ce sujet, consultez la documentation du kit de développement MSXML 5.0.

Accès aux données du fichier de définition d'un formulaire

L'interface XDocument permet également d'accéder aux informations sur le fichier .xsf d'un formulaire, notamment une référence DOM XML aux données XML source qu'il contient. Ces informations sont accessibles via la propriété Solution , qui renvoie une référence à l'interface SolutionObject .

Dans l'exemple ci-dessous, le premier message affiche une partie des données disponibles via l'interface SolutionObject , telles que son emplacement URI (Uniform Resource Identifier) (à l'aide de la propriété URI ) et son numéro de version (à l'aide de la propriété Version ). Le message suivant utilise la propriété DOM de l'interface SolutionObject pour afficher le XML source du fichier .xsf.

thisXDocument.UI.Alert("PackageURL: " +
   thisXDocument.Solution.PackageURL +
   "\nURI: " + thisXDocument.Solution.URI +
   "\nVersion: " + thisXDocument.Solution.Version);
thisXDocument.UI.Alert(thisXDocument.Solution.DOM.xml);
thisXDocument.UI.Alert("PackageURL: " & _
   thisXDocument.Solution.PackageURL & vbNewLine & _
   "URI: " & thisXDocument.Solution.URI & vbNewLine & _
   "Version: " & thisXDocument.Solution.Version)
thisXDocument.UI.Alert(thisXDocument.Solution.DOM.xml)