2009-06-08 6 views
2

J'ai vu questions poser ici des questions sur les objets xsd-> actionscript, mais ceux-ci semblent nécessiter xsd-> java-> actionscript et sont tous dans le code source. Nos exigences sont un peu différentes:Comment passer du schéma xsd à l'objet Actionscript (Flex) au moment de l'exécution?

  1. reçoivent un xsd lors de l'exécution que nous avons jamais vu avant
  2. Créer un objet par exemple sur la base xsd
  3. remplir les valeurs de l'instance (soit à partir d'un fichier XML entrée de document ou d'utilisateur - peu importe)

Quelqu'un sait-il d'une bibliothèque ou d'un outil ActionScript qui nous aiderait à accomplir ceci au moment de l'exécution? Ce serait bien si quelque chose comme cela existait déjà - mais nous nous contenterions certainement d'une bibliothèque qui nous aurait donné une interface programmatique pour extraire des informations d'un schéma xsd. De plus, nous prendrions des suggestions sur d'autres méthodes pour atteindre les mêmes objectifs.

Répondre

5

Avez-vous regardé le SchemaLaoder ...? Pas exactement ce que vous cherchez ... Mais un bon début.

Première - vous devriez vérifier this entrée de blog et this entrée de blog qui vous guide à travers Dominic De Lorenzo expériences avec l'utilisation de la fonctionnalité dans le SDK Flex qui fournit la cartographie automatique des classes personnalisées ActionScript aux définitions d'éléments dans un schéma XML (XSD).

Les étapes pour se déplacer comprennent ici (sur le blog de Dominic):

0) Créer une instance de SchemaLoader et charger de manière asynchrone un schéma XML à partir d'une URL donnée
1) Une fois que le schéma est chargé, ajoutez au SchemaManager et enregistrer toutes les classes ActionScript à leur type de schéma correspondant

---- A ce stade, vous pouvez faire plusieurs opérations sur la base du schéma

2) Charger un fichier XML basé sur ce schéma
3) Une fois le XML chargé, décoder le contenu en utilisant XMLDecoder. Toutes les classes enregistrées dans schemaTypeRegistry seront utilisées lors du décodage du xml
4) Encoder une classe ActionScript personnalisée en XML en utilisant XMLEncoder. XMLEncoder.encode() prend en charge plusieurs façons de définir l'élément correspondant dans le schéma (élément de niveau supérieur, un type spécifique ou même une définition XSD personnalisée) qui sera utilisé pour coder l'objet Actionscript.

L'entrée de blog a des liens vers des exemples de code, etc ...

Hope this helps.

+0

Ahhh - merci pour cette information. Vous décerner l'étoile d'or! –

Questions connexes