Format XML de l'API externe

La communication entre ActionScript et une application hébergeant le contrôle Active X Shockwave Flash requiert un format XML spécifique qui servira à convertir les appels de fonction et les valeurs. Le format XML utilisé par l'API externe se divise en deux parties. L'une est destinée à représenter les appels de fonction. L'autre sert à représenter des valeurs individuelles ; ce format s'applique aux paramètres des fonctions comme aux valeurs de retour. Le format XML des appels de fonction est utilisé pour les appels en provenance et à destination d'ActionScript. Pour un appel de fonction issu d'ActionScript, Flash Player transmet les informations XML au conteneur ; pour un appel provenant du conteneur, Flash Player attend de l'application une chaîne XML du même format. L'extrait XML suivant donne un exemple d'appel de fonction formaté :

<invoke name="functionName" returntype="xml">
    <arguments>
        ... (individual argument values)
    </arguments>
</invoke>

Le nœud racine est le nœud invoke. Il possède deux attributs : name indique le nom de la fonction à appeler et returntype a toujours la valeur xml. Si l'appel de fonction inclut des paramètres, le nœud invoke possède un nœud enfant arguments, dont les enfants seront les valeurs de paramètres formatées à l'aide du format de valeur individuelle expliqué ci-après.

Les valeurs individuelles, notamment les paramètres de fonction et les valeurs de retour, utilisent un format qui comprend des informations sur le type de données, en plus des valeurs elles-mêmes : Le tableau suivant répertorie les classes ActionScript et le format XML utilisé pour coder des valeurs de ce type de données :

Classe/valeur ActionScript

Classe/valeur C#

Format

Commentaires

null

nul

<null/>

 

Boolean true

bool true

<true/>

 

Boolean false

bool false

<false/>

 

String

string

<string>string value</string>

 

Number, int, uint

single, double, int, uint

<number>27.5</number>
<number>-12</number>

 

Array (combinaison possible de divers types d'éléments)

Une collection qui accepte des éléments de plusieurs types, ex. ArrayList ou object[]

<array>
<property id="0">
<number>27.5</number>
</property>
<property id="1">
<string>Hello there!</string>
</property>
...
</array>

Le nœud property définit des éléments individuels et l'attribut id est l'index numérique en base zéro.

Object

Un dictionnaire contenant des clés de chaîne et des valeurs d'objet, ex. HashTable avec clés de chaînes

<object>
<property id="name">
<string>John Doe</string>
</property>
<property id="age">
<string>33</string>
</property>
...
</object>

Le nœud property définit des propriétés individuelles et l'attribut id est le nom de la propriété (une chaîne).

Autres classe intégrées ou personnalisées

 

<null/>
ou
<object></object>

ActionScript convertit les autres objets en valeur null ou en objet vide. Dans les deux cas, toutes les valeurs de propriété sont perdues.

REMARQUE

 

Par le biais d'exemple, ce tableau indique des classes C# équivalentes en plus des classes ActionScript ; néanmoins, l'API externe peut être utilisée pour communiquer avec un langage ou une exécution de programmation prenant en charge les contrôles ActiveX, et n'est pas limitée aux applications C#.

Lorsque vous créez vos propres applications à l'aide de l'API externe avec une application conteneur ActiveX, il est commode d'écrire un proxy qui effectuera la tâche de conversion des appels de fonction native au format XML sérialisé. Pour consulter un exemple de classe proxy écrite dans C#, voir Fonctionnement interne de la classe ExternalInterfaceProxy.


Flash CS3

 

M'envoyer un message électronique lorsque des commentaires sont ajoutés à cette page | Rapport de commentaire

Page en cours: http://livedocs.adobe.com/flash/9.0_fr/main/00000344.html