.net

Shared by: mourad50200
-
Stats
views:
253
posted:
5/20/2009
language:
French
pages:
45
Document Sample
scope of work template
							C#

&

XML

Plan
1.

2.
3. 4. 5. 6.

7.

Introduction Présentation Microsoft.net Présentation Csharp Présentation XML Role du XML dans C# .NET & XML Conclusion

Introduction

 L’un des point fort de la plate forme microsoft.net

est la prise en charge presque total du XML, ce dernier qui est un standard largement utiliser dans différente protocole et aussi devient l’outil le plus utilisé dans les communication entre les application distante tel que les web services. Il semble un outil simple utilisé même par les non informaticien

Microsoft .Net
 .Net=bibliothèque + environnement
 une nouvelle stratégie de Microsoft

 Fournit l’ensemble des outils et technologie nécessaires

a la création d’application Web distribuées

Microsoft .Net

 environnement de développement RAD (Rapid

Application Development) et multi-langage

 Totalement prend en charge les technologie internet

basées sur les normes et indépendantes des platesformes Tel que HTTP – XML - SOAP

Microsoft .Net

 La plate-forme Microsoft .NET repose

principalement sur :
 Framework .NET  Visual Studio .NET L’environnement

de développement (Application & site web)  .NET Server : La future version « Server » de Microsoft
 .NET My Services: (.NET Calendar, .NET Inbox,…)

Microsoft .Net
 Changement par rapport à l’Ancien architecture

Microsoft  Les API Win32 et les MFC sont remplacées par un ensemble plus cohérent de classes de base du Framework .NET  La technologie ASP basée sur des scripts interprétés Remplace par les pages ASP.NET dont le code est compilé dès la première invocation  un nouveau langage C# dédié

Microsoft .Net

C#

VB

C++

J#

…

ASP .NET

Windows Forms

ADO .NET et XML Base Class Library Common Language Runtime

VS .NET

Common Language Specification

Framework
Framework .NET est composée de plusieurs couches :
C# VB C++ J# …

Common Language Specification ASP .NET Windows Forms

ADO .NET et XML

Base Class Library
Common Language Runtime

Framework
La Machine Virtuelle .Net Common Langage Runtime :

• se place juste au dessus du système d’exploitation
• Fournit un environnement d’exécution Robuste et sécurise •Prend en charge plusieurs langages de programmation •Les services « Garbage collector » et la « sécurité » sont automatiquement fournis

Framework

 Tous les langages .Net compilent en MSIL

(MicroSoft Intermediate Language) - Environ 51 langages : VB.net, C#, Python,smaltalk,…
 A l’exécution le code est compilé par JIT (Just In

Time Compiler) et traduit en exécutable.

Framework
 BCL bibliothèque des classes de base
 Ensembles des classes groupé dans Namespaces  nombreuses librairies : I/O, String, Sécurité,

Network, thread ,GUI,….
 Namespaces System

Contient des calsse de base qui définit les types des données (valeur ,référence) , les événement , les interfaces, les exceptions …

Framework
 Exemples de namespaces
 System.windows.forms : permet créer des interfaces    

utilisateurs pour les application Windows System.IO: les entres/sorties System.Net: Socket , TCP/IP System.Data : gestion des base de données System.XML : fournit la prise en charge XML

Framework
 Tous langages conforme a la norme CLS (Common

Langage Specification) peut fonctionner dans CLR
 Tous les langages doivent se conformer au CTS (Common

Type System) (objet,classe,interface,..)  CTS + CLS : Assure la compatibilité du langage CLS spécifié une série des règles de base qui est nécessaire pour l’intégration d’un langage. CLS est une :
 spécification d'écriture des compilateurs  chaque langage utilise et étend le Framework .Net

CSharp

 Un langage moderne conçus pour la plate forme .Net  Complètement Oriente Objet

 Proche de java
 Utilisé dans les pages ASP.NET (script Cote

Serveur)  Utilise les classes du framework .NET

Types
 Un programme C# est une collection de type


Classes,interfaces,structures,délégués,énumérations

 C# fournis un ensemble de types prédéfinis  Ex: int, byte, char,string, object,…
 Les types sont  Des données membres (Champs, constantes, tableaux,…)  Des fonctions membres (Méthodes, opérateurs, constructeurs, propriétés,…)  D’autres types  Il y a 2 catégories de types: valeur et référence

Valeur: Contient des donnees Ex : int i=123; Référence : Contient des références vers des objets

Types
 Boxing: Converti un type primitif(valeur) en

object(référence)  UnBoxing: Opération inverse du boxing Exemple:
int i = 123; object o = i; int j = (int)o; i o 123 j 123 123 System.Int32

Classes et Structures
struct SPoint { int x, y; ... } class CPoint { int x, y; ... } SPoint sp = new SPoint(10, 20); CPoint cp = new CPoint(10, 20);
sp 10 20 cp 10 20 CPoint

Les attributs
 Namespaces : System.Attribute  Un moyen d’insérer des annotations( méta-données)  Un moyen de fournir des informations au CLR dans le

but d’exécuter des tâches additionnelles

 Exemple:
[WebMethod]: pour qu’une méthode soit utilisable via webservices

Exemple d’un programme C#

XML
 Un dérivé du SGML (Standard Generalized Markup
  




Language) servir des principes de simplicité du HTML et de la souplesse SGML mise en forme des données est totalement séparée des données elles-mêmes Un langage base sur les balise Designer pour la Structuration des données Représente les données hiérarchiquement (Arbre )

Composant d’un Document XML
 L'arbre d'éléments : * Composant de base XML * Identifié par un nom * Délimité par une balise ouvrante et une balise fermante

<NomBalise> Valeur </NomBalise>
 2 types d’élements: 1- Élément racine : (sous forme d’arbre) 2- Les Élément (père/fils/ Frère)

Composant d’un Document XML
 Les Attributs :


 

les éléments peuvent contenir un ou plusieurs attributs Un attribut est composé d'un nom et d'une valeur Inclus dans la balise ouvrante d’un élément

<AUTEUR NE="1802" MORT="1885" > Victor Hugo </AUTEUR>

Attribut

son Valeur

D-B-F (Document Bien forme )
 Règles des documents XML bien forme

- structuration hierarchique - Un seul Elément Racine - Balisage sensible à la casse - La valeur des attributs doit être en “ ” ou „‟ - Les élèments ne doivent pas se chevaucher
<Balise A> <BaliseB> </BaliseA> </BaliseB> interdit

Les document type définition D.T.D
 Fournir la description d’une classe de document XML  Définir la DTD (Grammaire Associée a cette classe )

pour :  Valider un document XML
Document valide  bien formé + conforme à la DTD

Insuffisance des DTD

-Pas de types de données -Pas en XML

(détaillé)

Solution : Les Schémas
 Décrire la structure XML bien détaillé

 Types évoluées (Octet,string,entier,date,…)  Spécifié en format XML
Analysable par un parseur XML Standard  Domaine Spécifique XSD:
<xsd:complexType name="Adresse"> <xsd:sequence> <xsd:element name=”Num" type="xsd:Short"/> <xsd:element name=”rue" type="xsd:string"/> <xsd:element name=”ville" type="xsd:string"/> <xsd:element name=”codepostal" type="xsd:decimal"/> </xsd:sequence>

Parseur XML
 Analyser la syntaxe du document XML pour

determiner que le document est bien formé  Valider le document par rapport a la DTD/Schema correspendante On distingue deux categorie : 1- SAX: Simple Api For XML:





ensemble des fonctions permettant la manipulation du document XML Parcours séquentielle du document
orienté événement [StartDocument,startelement,endelement,…]

LIMITE Du SAX: modification de structure impossible

Parseur XML
2 - DOM : Document object Model  Construit une représentation du document en mémoire sous forme d’arbre
Fournie une interface de programmation pour la manipulation du documents XML  Contient un ensemble d’objet et d’interface qui représente le contenue et la structure  Permet de lire/écrire sur l’arbre XML  Permet la création des nouveau document Xml Inconvénient : consommation des ressource (mémoire)


C# & XML

Rôle Du XML Dans C#
1- Commentaire XML  permettre de générer des documentation pour les application créer en c#  Commentaire de documentation commence par /// /// <summary>….</summary> /// <Remarks> …. </Remarks> Générer le fichier de documentation
csc monprogramme.cs/doc:monfichier.xml

Rôle Du XML Dans C#

2- Sérialisation des objets  Consiste a Conserver l’état d’un objet dans un fichier xml Desérialisation : l’opération inverse  nom d’’espaces pour utiliser la sérialisation System.Xml.Serialization

Exemple de Sérialisation
Using System.Xml.Serialization;
namespace serialisation { Spécifie l’element [XmlRoot(ElementName="Employe")] racine public class Employe { // Attributs privés : private string m_id; private int m_age; // Propriétés d'un employé: [XmlAttribute(AttributeName="ID de l'employé")] public string EmpID { get{return m_id;} set{m_id=value;} } Spécifie un [XmlElement(ElementName="Nom")] attribut de l’element racine …………. XmlSerializer X = new XmlSerializer(typeof(Employe));

.NET & XML
 Les nom d’éspaces XML dans .NET

System.Xml
.XPath
.Xsl .Schema .Serialization

System.XML
 Fournie l’ensemble des classes qui le support XML  Des Classes pour créer , modifier , naviguer des

documents XML  Lire, Ecrire et manipulation des documents XML via DOM  XmlDocument : classe pour documents XML ex: XmlDocument doc = new XmlDocument();  XmlDataDocument : classe pour les données relationnelle « dataset » Des classes pour les composant XML  XmlElement, XmlAttribute, XmlComment, etc

XMLDocument
Propriétés


   

ChildNodes: Renvois Tous les fils du noeud courant DocumentType: Gets the DOCTYPE declaration node DocumentElement: Renvois l’element Racine du XmlElement XmlResolver: valider Le document DTD & schema Value: Renvois la valeur du noeud courant

Méthodes
   

CreateComment: Creer une commentaire CreateElement: creer un element Load: Charger un fichier XML Save: Enregistrer Les Modification

Autre Classes System.Xml
lecture XML  XmlReader  XmlValidatingReader  XmlNodeReader  XmlTextReader Écriture XML  XmlTextWriter  XmlWriter

System.XML.XPATH
 XPath est un langage d'interrogation du documents XML .  exprimer le parcours ou la navigation dans les arbres XML.
 Syntaxe non xml  Permet de spécifier des critères de recherche

 Effectuer des opération arithmétique et manipulation des

chaine de caractère  Utiliser pour les besoin de xsl , schema,…  Exempe : xpath=".//autheur " / : selection de tous les descendant
du nœud auteur

 Le langage Xpath est bien utilisé avec Le langage XSL pour

les Raison de Transformation

System.XML.XPATH
La Portée dans .Net
Namespaces : System.XML.XPATH Classe :  XPathDocument: Fournit une représentation en

mémoire, en lecture seule et rapide d'un document XML  XPathNavigator: Fournit un modèle de curseur pour la navigation dans les données XML et leur modification.  Exemple Avec C#:
XpathDocument doc = new XpathDocument objet Xpathdocument

---- instanciation d’un

System.XML.XSL
 XSLT est un langage de transformation du document XML

en XML , HTML , XHTML a partir d’un document XML et une feuille de style XSL  Deux Normes XSL: XSLT ------------------- XML,HTML
Formatting XSL-FO ---------------- PDF Objects

Transformation

XSL Ou texte Ou HTML XML

XML

Processeur XSLT

System.XML.XSL
La Portée dans .Net
XSLTransform: Transforme les données XML à l'aide d'une
feuille de style XSLT Méthode la plus utilisé :  public void Transform ( string inputfile, string outputfile ) ;  public XmlReader Transform( XPathNavigator input, XsltArgumentList args ) ; D’autre classe dans System.XML.XSL

System.XML.Schema
 Plusieurs classes pour Les Schémas XML :

1 – XmlSchema: Représentation en mémoire d'un schéma XML . XmlSchema schema = new XmlSchema(); Methodes: Compile: valider un schema; Read: lit un schema xml Write: Écrit un Schéma XML

System.XML.Schema
2- XmlSchemaElement : représente un élément d’une schéma XML
XmlSchemaElement elemt = new XmlSchemaElement();

Propriété: Name : Nom d’élément SchemaType: Type d’élément

Conclusion
Il existe de nombreuse nom d’espaces et des classes dans microsoft.net qui traite la paradigme Xml et ses dérivant tel que XLINK , XPOINTER, XQUERY,… et avec la puissance et la simplicité de Csharp le développement sous microsoft.net devient plus intéressant Chez les développeur malgré l’inconvénient majeur du Microsoft qui développe que pour ses systèmes d’exploitation

Bibliographie

 Microsoft MSDN

www.msdn.microsoft.com  .Net FrameWork essentials  Programmation en c#  C# .net web developer’s guide

O’REILLY labo.net


						
Related docs