2009-01-16 9 views

Répondre

3

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

1

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.

Questions connexes