Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : associer un champs xml a son bon schema xml [ SQL Server, MSDE, SQL Express / Requêtes ] (dedzep)

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é 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...

CalendriCode

Septembre 2008
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
2930     

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, 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
Temps d'éxécution de la page : 0,30 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.