J'aimerais pouvoir exécuter une transformation XML à l'aide d'un fichier xslt dans mon projet AIR. Quelle est la meilleure façon d'accomplir cela?Exécution de transformations XML dans Flex
Répondre
Dans AIR 1.5, une version de Webkit avec prise en charge de XSLT est incluse.
Utilisez la classe XSLTProcessor
de JavaScript comme vous le feriez dans Firefox. (Note: Il y a un bug ennuyant: les feuilles de style ne peuvent pas contenir d'espaces insécables, que ce soit littéralement ou en tant que référence de caractère.) Je suis informé que des versions plus récentes de Webkit corrigent ce problème.)
Exemple.
Créer un fichier test.html
<html>
<head>
<title>XSLT test</title>
<script type="text/javascript">
// <!--
function test() {
// Step 1: Parse the stylesheet
var stylesheet
= "<xsl:transform xmlns:xsl='http://www.w3.org/1999/XSL/Transform'"
+ " version='1.0'>"
+ " <xsl:template match='/'>"
+ " Hello World from XSLT!"
+ " </xsl:template>"
+ "</xsl:transform>";
var stylesheetDocument
= new DOMParser().parseFromString(stylesheet, "application/xml");
// Step 2: Parse the source document
var source = "<dummy/>";
var sourceDocument
= new DOMParser().parseFromString(source, "application/xml");
// Step 3: Perform the XSL transformation
var xslt = new XSLTProcessor();
xslt.importStylesheet(stylesheetDocument);
var newFragment = xslt.transformToFragment(sourceDocument, document);
// Step 4: Show the result
document.body.appendChild(newFragment.firstChild);
}
// -->
</script>
</head>
<body>
<input type="submit" onclick="test()">
Output:
</body>
</html>
et un fichier test.xml
<application xmlns="http://ns.adobe.com/air/application/1.0">
<id>test</id>
<filename>test</filename>
<initialWindow>
<content>test.html</content>
<visible>true</visible>
</initialWindow>
</application>
Vous pouvez l'essayer en utilisant le moteur d'exécution de débogage, par exemple:
adl test.xml
Klick le bouton, et il va dire:
example http://www.lichteblau.com/tmp/stackoverflow-xslt.png
La prise en charge de XSLT est généralement fournie par les navigateurs. La version de Webkit intégrée à AIR ne prend pas en charge XSLT. Donc, vous devrez faire cela tout seul. J'ai trouvé this projet qui vous permet de jouer avec des requêtes XPath dans AS3. Maintenant, l'analyse de modèles et la création de nœuds que vous devrez faire vous-même.
- 1. XML dans Flex
- 2. Ajout de composants flex en utilisant xml
- 3. Transformations de coordonnées Cocoa/OpenGL
- 4. Flex et Embedded XML
- 5. xml flex appendChild
- 6. Erreurs dans l'implémentation Flex 3 XML? Réécriture xml: lang
- 7. XML Edition dans Flex à l'aide e4x
- 8. Liaison à des transformations dans un ControlTemplate
- 9. Utilisation du Kit transformations (MST)
- 10. Conversion implicite de l'objet en XML dans flex 3
- 11. Exécution CSS échoue en mode silencieux lorsque l'application Flex est chargée par une application non-Flex
- 12. Comment puis-je visualiser XML dans Flex/Flash?
- 13. Réflexions et autres transformations avec Java Polygones
- 14. Application en place des transformations au modèle 3D dans WPF
- 15. Ajout d'un noeud enfant à XML dans flex
- 16. Exécution de JAI dans OSGi
- 17. comment accéder aux nœuds xml flex
- 18. Chargement de composants flex à l'aide de xml
- 19. Transformations recusives en utilisant xslt, xpath: document() et mediawiki
- 20. Conversion de données XML en type Flex fort
- 21. Création de liens dans Flex
- 22. flex pour lire XML au format e4x de SOAP WebService
- 23. Animation WPF de plusieurs objets 3D effectuant plusieurs transformations chacun
- 24. Erreur lors de l'obtention de valeurs du fichier XML dans le tableau Collection dans Flex
- 25. Liens dans Datagrid (flex)
- 26. Exécution d'un fichier EXE externe à partir de Flex/AIR ou de l'application Web Java
- 27. HTTPService dans Flex avec multiconnexions
- 28. Exécution de commandes interactives dans Paramiko
- 29. Exécution de SQL LIKE dans SQLObject
- 30. Rapport - Exécution de comte dans un groupe