5568 sujets

Sémantique web et HTML

Bonjour,

Une question me tourmente depuis des années : comment récupérer proprement (cad en utilisant le DOM) les contenus xhtml d'une page dans une animation Flash sans doubler les contenus, c'est-à-dire sans les mettre dans la balise object d'une part et dans l'anim flash par exemple?
J'ai essayé en javascript avec des variables passées à une animation créée dynamiquement, une usine à gaz ; avec une fonction flashID et des méthodes setVariables, pas mal mais très lourd aussi.
La solution ultime semble bien passer par XML. Mais comment se fait-il qu'on ne puisse pas parser du xhtml dans flash ? J'ai vu que si on utilise une page xhtml en lui mettant une extension xml, flash parvient à la parser. Peut-être en doublant la page xhtml avec php et en lui mettant une extension xml ? Est-ce bien propre comme méthode ? Il faudrait aussi je suppose changer le doctype, ça nous fait une autre usine à gaz ! Ou alors en utilisant xsl dont j'apprends l'existence aujourd'hui ?

Peut-être qu'une solution simple existe depuis des années et que je suis passé à côté ?

Merci de me faire partager vos méthodes !
Modifié par Meybeck (08 Feb 2009 - 12:25)
Heu... tes contenus XHTML, ils sont servis en "text/html" ou en "application/xhtml+xml"? Si c'est du "text/html", il y a peut-être un rapport?
Effectivement, ma page xhtml était bien servie en "text/html". Donc merci de la remarque très pertinente !

J'ai donc modifié, ça aurait DU marcher. Mais même en les servant en "application/xhtml+xml", le parseur XML de flash ne semble pas capable de reconnaître les balises de mon fichier. Il peut juste l'afficher en entier.
Je me trompe peut-être, mais normalement, le code suivant devrait faire apparaître le contenu du premier h1, non ?
Note : je sors un peu du sujet du forum, là, mais je n'ai pas trouvé de forum "flash/as" dans alsa.
var pageAccueil:XML;
var chargeurDeDonnees:URLLoader = new URLLoader;
var adressePageAccueil:URLRequest = new URLRequest("http://www.meybeck.net/chantelat/index.html");

function onComplete(event:Event):void{
	pageAccueil = new XML(chargeurDeDonnees.data);
	trace(pageAccueil.h1[0]);
	titreI.text=pageAccueil.h1[0];
}
chargeurDeDonnees.load(adressePageAccueil);
chargeurDeDonnees.addEventListener(Event.COMPLETE, onComplete);


Modifié par Meybeck (08 Feb 2009 - 11:11)
Bon, en fait la réponse est là :
http://www.stevensacks.net/2008/07/02/parsing-xhtml-with-e4x-in-as3/

ma syntaxe as3 laissait à désirer. ça fonctionne avec le code ci-dessous, ce qui signifie que je vais pouvoir récupérer bien proprement de beaux contenus structurés dans Flash, alliant ainsi l'animation au respect des normes, même pour les cms Smiley smile .
XML.ignoreWhitespace = false;
XML.prettyPrinting = false;

default xml namespace = new Namespace("http://www.w3.org/1999/xhtml");

var chargeurDeDonnees:URLLoader = new URLLoader;
var adressePageAccueil:URLRequest = new URLRequest("http://www.meybeck.net/chantelat/index.html");
chargeurDeDonnees.load(adressePageAccueil);
chargeurDeDonnees.addEventListener(Event.COMPLETE, onComplete);

function onComplete(event:Event):void{
	
	var pageAccueil = new XML(chargeurDeDonnees.data);
	titreI.text=pageAccueil..h1[0].children()[0].toXMLString();
}

Modifié par Meybeck (08 Feb 2009 - 12:27)
Meybeck a écrit :
Note : je sors un peu du sujet du forum, là, mais je n'ai pas trouvé de forum "flash/as" dans alsa.

Il n'y a pas de forum sur Flash et ActionScript car Alsacréations traite des standards du Web. Et que Flash n'en fait pas vraiment partie (malgré quelques tentatives d'ouverture «standardisante» depuis deux-trois ans, et c'est pas encore ça si j'ai bien compris).

Pour Flash et ActionScript, voir plutôt du côté des forums Mediabox.