Bienvenue à Blogs CodeS-SourceS Identification | Inscription | Aide

Atteint de JavaScriptite Aiguë [Cyril Durand]

Expert ASP.net Ajax et WCF, Cyril Durand parle dans son blog de point techniques sur ASP.net, ASP.net Ajax, JavaScript, WCF et .net en général. Cyril est également consultant indépendant, n'hésitez pas à le contacter pour de l'assistance sur vos projets

Actualités

  • Blog de Cyril DURAND, passionné de JavaScript, Ajax, ASP.net et tout ce qui touche au developpement Web Client-Side.

    Consultant freelance, n'hésitez pas à me contacter pour vos projets .net : architecture, accompagnement, formation, ...

    View Cyril Durand's profile on LinkedIn
    hit counters


    Expertise Commerce server et BizTalk

[Atlas] Charger un fichier xml-script externe dans une application ATLAS grace à Ajax

Suite à mon schéma XSD généré en JavaScript qui permet d'avoir de l'intelissense avec Atlas. Certains developpeurs m'ont dit que c'était pénible de devoir à chaque fois copier le code xml-script du fichier atlas pour le coller dans la page. Ce qui serait bien c'est de pouvoir attacher un fichier .atlas à ma page.

Par exemple en rajoutant une balise de ce genre dans le head de ma page.

<link type="text/xml-script" href="DynamicLoad.atlas" />

Il nous faut maintenant quelques lignes de javascript pour pouvoir parser ce document XML.

Sys.Application.load.add(function(){
     var linkElements = document.getElementsByTagName('link'
);
     
     for (var i = 0; i < linkElements.length; i++){
           
linkElement = linkElements[i]; 
           
if (linkElement.type= 'text/xml-script' && linkElement.href){
                  
var request = new Sys.Net.WebRequest();
                  
request.set_url(linkElement.href);
                  
request.completed.add(function(e){
                       
Sys.MarkupParser.processDocumentScripts(Sys.Application.getMarkupContext(), e.get_xml().childNodes, null);
                 
});   
                 
request.invoke(); 

          
}
     }

});

Explication : Lors du chargement de l'application, je boucle sur tous les éléments <link ... /> de la page. Je vérifie que le type vaut bien "text/xml-script" et que la propriété href est non nulle. Ensuite je télécharge le fichier .atlas via une requête Ajax, puis je donne le contenu DOM du fichier xml-script à la méthode Sys.MarkupParser.processDocumentScripts. Evidemment cette méthode n'est pas documenté ! je l'ai trouvé lors de mon analyse du parseur XML-Script pour faire mon schéma XSD.

Voici un petit zip qui utilise cette astuce: AtlasWebSiteExternal.zip : lancez la page DynamicLoad.aspx, cliquez sur le bouton et ensuite regardez le code ;-)

Mais peut-être avez vous une question ? Pourquoi avoir utilisé une balise <link ... /> plutôt qu'une balise <script ... /> qui aurait été beaucoup plus logique. La raison est qu'en mettant une balise script le fichier est chargé par le navigateur, alors qu'avec une balise link ce n'est pas le cas. Etant donné que nous chargons le fichier xml-script via ajax il est inutile de le faire charger par le navigateur.

Rest maintenant à améliorer mon schéma XSD pour un peu plus de pertinence :-)

Posted: samedi 29 avril 2006 15:30 par cyril
Classé sous :
Ce post vous a plu ? Ajoutez le dans vos favoris pour ne pas perdre de temps à le retrouver le jour où vous en aurez besoin :

Commentaires

Ivan Porto Carrero a dit :

# mai 21, 2006 03:23
Les commentaires anonymes sont désactivés

Les 10 derniers blogs postés

- TechDays Paris 2010 : La BI dans SharePoint 2010 par Blog Technique de Romelard Fabrice le il y a 1 heure et 30 minutes

- TechDays Paris 2010 : Déploiement de nouvelles technologies – Retour d’expérience par l’informatique de Microsoft par Blog Technique de Romelard Fabrice le il y a 2 heures et 57 minutes

- TechDays Paris 2010 : Plan de migration vers SharePoint 2010 par Blog Technique de Romelard Fabrice le il y a 6 heures et 40 minutes

- TechDays Paris 2010 : La pleinière du second jour par Blog Technique de Romelard Fabrice le il y a 7 heures et 45 minutes

- Visual Studio 2010 and .NET Framework 4 Release Candidate now available par Matthieu MEZIL le il y a 10 heures et 51 minutes

- Création d’une base de donnée sous SQL Azure par Le Blog (Vert) d'Arnaud JUND le il y a 11 heures et 47 minutes

- TechDays Paris 2010 : Les Services d’applications dans SharePoint 2010 par Blog Technique de Romelard Fabrice le il y a 21 heures et 47 minutes

- TechDays Paris 2010 : La GED et SharePoint 2010 par Blog Technique de Romelard Fabrice le 02-08-2010, 16:54

- TechDays Paris 2010 : SharePoint 2010 et Les réseaux sociaux par Blog Technique de Romelard Fabrice le 02-08-2010, 15:40

- TechDays Paris 2010 : SharePoint 2010 – Description et nouveautés par Blog Technique de Romelard Fabrice le 02-08-2010, 14:33