begin process at 2010 07 29 22:33:34
  Trouver un code source :
 
dans
 
Accueil > Forum > 

SQL

 > 

SQL Server, MSDE, SQL Express

 > 

Requêtes

 > 

associer un champs xml a son bon schema xml


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

associer un champs xml a son bon schema xml

mercredi 20 décembre 2006 à 15:43:39 | associer un champs xml a son bon schema xml

dedzep

Membre Club

j'ai créé une base sql server 2005 contenant des articles
ces articles contiennent des objets tres different (une voiture, un cheval, un ordi, un voyage)
les caracteristiques de ces articles sont donc tres differents
je vais les stocker dans un champs xml
pour cela j'ai créé autant de schema xml que de caracteristiques
je veux donc lorsque je lis un article et que je sais que c'est un micro-onde, lire le champs xml avec le bon format (celui du schema "micro-ondes")


suivant les recommandant Microsoft j'ai créé et stocké mes schemas dans sql server 2005 dans le dossier suivant :
MaBase > Programmability > Types > XML schema Collection
ceci par la fonction
/****** Object:  XmlSchemaCollection [dbo].[SchemaXMLMicro-ondes]    Script Date: 10/20/2006 14:14:04 ******/
CREATE XML SCHEMA COLLECTION [dbo].[SchemaXMLMicro-ondes] AS N' ect...
comme cela mes schemas sont sauvegardés avec ma base


Mon probleme est le suivant :
lorsque je lis dans VS2005 ASP.VB un enregistrement de ma table il faut que je recupere le schema associé à mon champs xml.

Dans ma page aspx je lis mon enregistrement et je sais que c'est un four micro-ondes par exemple.
De là il faut que je crée un bloc affichant les caracteristiques de mon produit se trouvant dans le champs XML de l'enregistrement.

C'est la que je bloque !
si le schema est dans un fichier sur mon site, je sais faire : (par exemple en vb)

    Private Const document As String = "..\books.xml"
    Private Const xsdDocument As String = "..\books.xsd"

 Dim schemaInfo As New XmlSchemaInfo()
 Dim serializer As XmlSerializer = Nothing
 Dim myBooks As Books = Nothing

 Using reader As StreamReader = New StreamReader(document)
  serializer = New XmlSerializer(GetType(Books))
  myBooks = CType(serializer.Deserialize(reader), Books)
 End Using

 Dim xsv As XmlSchemaValidator = CreateValidator()
 xsv.Initialize()

 xsv.ValidateElement("books", " [ Lien ]", schemaInfo)

 xsv.ValidateEndOfAttributes(schemaInfo)

 Dim book As bookType
 For Each book In myBooks.book
  xsv.ValidateElement("book", " [ Lien ]", schemaInfo)
 ect...
 


Mais si le schema est stocké dans sql server 2005 ?????
comment faire en T-sql ou en asp.net vb ?




 ---------------------------

Léo dit dedZep
----------------------
pour acheter sur le Net il faut une carte bleue
Léo Tseu

mardi 30 janvier 2007 à 11:09:56 | Re : associer un champs xml a son bon schema xml

dedzep

Membre Club
Réponse acceptée !
mon schema n'est pas un fichier xsd mais un champs que je recupere sur sql server via cette requette

SELECT XML_SCHEMA_NAMESPACE(sch.name, xsd.name)
FROM sys.xml_schema_collections AS xsd
JOIN sys.schemas AS sch ON xsd.schema_id = sch.schema_id
WHERE xsd.name = 'SchemaXML_4x4'

maintenant (et juste pour rire) je suis incapable de recuperer le contenu de ce flux.
plus exactement je ne recupere que les intitulés de niveau 1
(remplacer les "*" pas le symbole "plusGrandQue" ou "PlusPetitQue")

*xsd:element name="COMMENTAIRES"*
*xsd:element name="CONSOMMATION"*
*xsd:element name="OPTIONS"*
*xsd:element name="PERSONNALISATION"*
*xsd:element name="items"*

mais pas
*xsd:element name="ville" type="xsd:string" /*
*xsd:element name="route" type="xsd:string" /*
*xsd:element name="mix" type="xsd:string" /*
contenus dans
*xsd:element name="CONSOMMATION"*

et là je galere grave :-(




Léo dit dedZep
----------------------
pour acheter sur le Net il faut une carte bleue
Léo Tseu


Cette discussion est classée dans : champs, xml, schema, books, xsv


Répondre à ce message

Sujets en rapport avec ce message

Trouver le type des champs de la Bdd [ par chris81 ] bonojour,ya t'il un moyen de connaitre les attributs des champs de la base par exemple j'ai Id_User : intya t'il une requete qui me permettrait de me faire une somme sur le resultat d'une procedure stockée [ par lijohann ] salut, mon probleme est que je voudrais pouvoir recupérer la somme d'un des champs renvoyés par une procedure stockée dans une autre procedure stockée Renseigner un champs d'une table par une variable [ par Rouk ] Bonjour, Je n'arrive pas a renseigner un champs d'une table par une variable. Exemple : Base1.Table1.Champ = MavariableJ'ai essaye avec un set, mais s Ajout d'un description d'un champs pour access en sql [ par Jbs106 ] Salutationvoilà mon souci:Dans access, quand on visualise une table, miz à part le nom et le type du champs, il est possible d'ajouter un commentaire concatenation avec des champs pouvant etre Null [ par choupi64 ] Salut,Est ce que quelqu'un sait comment faire une concatenation basique (...+...+...) tout en prenant en compte si un champs est null.Car pour l'insta deux count dans une requete [ par Matt67 ] Bonsoir, J'ai le champs suivant | champs |     1     2     3     1     3     2     5  &n champs remplis par le code ? [ par jopop ] Bonjour,J'utilise un DataGrid contenant les différents champs d'un de mes tables.Cependant il y a un champ EstSpécial booléen et j'aimerais qu'au lieu Requete sql server [ par firas_tn ] Bonjour a tous je suis débutant en sql server, j'ai une base de donnée en sql server et une table qui m'intéresse ou il ya beaucoup de champs je veux Requete sql server? [ par firas_tn ] Salut a vousj'ai requete sql server? [ par firas_tn ] Salut a vousj'ai


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Juillet 2010
LMMJVSD
   1234
567891011
12131415161718
19202122232425
262728293031 

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,203 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales