Une "XML SCHEMA COLLECTION" peut contenir plusieurs schemas.
Le tag <xsd:import namespace="..."/> permet d'autoriser la reference a
des composants present dans un targetNamespace autre que celui du schema
courant. Toutefois, SQL Server 2005 ignore l'attribut schemaLocation (ce
qui est logique puisque les schemas sont stockes en metadata, et non pas
comme des fichiers referencables individuellement)
Voici un exemple simple
CREATE XML SCHEMA COLLECTION animaux AS '
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
targetNamespace="araignees">
<xsd:element name="araignee">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="name" type="xsd:string"/>
<xsd:element name="venimeuse" type="xsd:boolean"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
targetNamespace="bovins">
<xsd:element name="bovin">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="name" type="xsd:string"/>
<xsd:element name="laitiere" type="xsd:boolean"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:schema>
'
go
ALTER XML SCHEMA COLLECTION animaux ADD '
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
targetNamespace="menagerie"
xmlns:ns="menagerie"
xmlns:b="bovins"
xmlns:a="araignees">
<xsd:import namespace="bovins"/>
<xsd:import namespace="araignees"/>
Une "XML SCHEMA COLLECTION" peut contenir plusieurs schemas.
Le tag <xsd:import namespace="..."/> permet d'autoriser la reference a
des composants present dans un targetNamespace autre que celui du schema
courant. Toutefois, SQL Server 2005 ignore l'attribut schemaLocation (ce
qui est logique puisque les schemas sont stockes en metadata, et non pas
comme des fichiers referencables individuellement)
Voici un exemple simple
CREATE XML SCHEMA COLLECTION animaux AS '
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
targetNamespace="araignees">
<xsd:element name="araignee">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="name" type="xsd:string"/>
<xsd:element name="venimeuse" type="xsd:boolean"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
targetNamespace="bovins">
<xsd:element name="bovin">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="name" type="xsd:string"/>
<xsd:element name="laitiere" type="xsd:boolean"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:schema>
'
go
ALTER XML SCHEMA COLLECTION animaux ADD '
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
targetNamespace="menagerie"
xmlns:ns="menagerie"
xmlns:b="bovins"
xmlns:a="araignees">
<xsd:import namespace="bovins"/>
<xsd:import namespace="araignees"/>
Une "XML SCHEMA COLLECTION" peut contenir plusieurs schemas.
Le tag <xsd:import namespace="..."/> permet d'autoriser la reference a
des composants present dans un targetNamespace autre que celui du schema
courant. Toutefois, SQL Server 2005 ignore l'attribut schemaLocation (ce
qui est logique puisque les schemas sont stockes en metadata, et non pas
comme des fichiers referencables individuellement)
Voici un exemple simple
CREATE XML SCHEMA COLLECTION animaux AS '
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
targetNamespace="araignees">
<xsd:element name="araignee">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="name" type="xsd:string"/>
<xsd:element name="venimeuse" type="xsd:boolean"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
targetNamespace="bovins">
<xsd:element name="bovin">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="name" type="xsd:string"/>
<xsd:element name="laitiere" type="xsd:boolean"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:schema>
'
go
ALTER XML SCHEMA COLLECTION animaux ADD '
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
targetNamespace="menagerie"
xmlns:ns="menagerie"
xmlns:b="bovins"
xmlns:a="araignees">
<xsd:import namespace="bovins"/>
<xsd:import namespace="araignees"/>
Une "XML SCHEMA COLLECTION" peut contenir plusieurs schemas.
Le tag <xsd:import namespace="..."/> permet d'autoriser la reference a
des composants present dans un targetNamespace autre que celui du
schema
courant. Toutefois, SQL Server 2005 ignore l'attribut schemaLocation
(ce
qui est logique puisque les schemas sont stockes en metadata, et non
pas
comme des fichiers referencables individuellement)
Voici un exemple simple
CREATE XML SCHEMA COLLECTION animaux AS '
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
targetNamespace="araignees">
<xsd:element name="araignee">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="name" type="xsd:string"/>
<xsd:element name="venimeuse" type="xsd:boolean"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
targetNamespace="bovins">
<xsd:element name="bovin">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="name" type="xsd:string"/>
<xsd:element name="laitiere" type="xsd:boolean"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:schema>
'
go
ALTER XML SCHEMA COLLECTION animaux ADD '
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
targetNamespace="menagerie"
xmlns:ns="menagerie"
xmlns:b="bovins"
xmlns:a="araignees">
<xsd:import namespace="bovins"/>
<xsd:import namespace="araignees"/>
Une "XML SCHEMA COLLECTION" peut contenir plusieurs schemas.
Le tag <xsd:import namespace="..."/> permet d'autoriser la reference a
des composants present dans un targetNamespace autre que celui du
schema
courant. Toutefois, SQL Server 2005 ignore l'attribut schemaLocation
(ce
qui est logique puisque les schemas sont stockes en metadata, et non
pas
comme des fichiers referencables individuellement)
Voici un exemple simple
CREATE XML SCHEMA COLLECTION animaux AS '
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
targetNamespace="araignees">
<xsd:element name="araignee">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="name" type="xsd:string"/>
<xsd:element name="venimeuse" type="xsd:boolean"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
targetNamespace="bovins">
<xsd:element name="bovin">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="name" type="xsd:string"/>
<xsd:element name="laitiere" type="xsd:boolean"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:schema>
'
go
ALTER XML SCHEMA COLLECTION animaux ADD '
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
targetNamespace="menagerie"
xmlns:ns="menagerie"
xmlns:b="bovins"
xmlns:a="araignees">
<xsd:import namespace="bovins"/>
<xsd:import namespace="araignees"/>
Une "XML SCHEMA COLLECTION" peut contenir plusieurs schemas.
Le tag <xsd:import namespace="..."/> permet d'autoriser la reference a
des composants present dans un targetNamespace autre que celui du
schema
courant. Toutefois, SQL Server 2005 ignore l'attribut schemaLocation
(ce
qui est logique puisque les schemas sont stockes en metadata, et non
pas
comme des fichiers referencables individuellement)
Voici un exemple simple
CREATE XML SCHEMA COLLECTION animaux AS '
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
targetNamespace="araignees">
<xsd:element name="araignee">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="name" type="xsd:string"/>
<xsd:element name="venimeuse" type="xsd:boolean"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
targetNamespace="bovins">
<xsd:element name="bovin">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="name" type="xsd:string"/>
<xsd:element name="laitiere" type="xsd:boolean"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:schema>
'
go
ALTER XML SCHEMA COLLECTION animaux ADD '
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
targetNamespace="menagerie"
xmlns:ns="menagerie"
xmlns:b="bovins"
xmlns:a="araignees">
<xsd:import namespace="bovins"/>
<xsd:import namespace="araignees"/>
bonjour
est-il possible dans une colonne de type xml d'utiliser un schema
multiple (grace à la fonction "import")
l'exemple des devdays 2005 contenant un schema simple
CREATE TABLE [SchemaDD2005].[Commande](
[Commande_ID] [int] IDENTITY(1,1) NOT NULL,
[Commande_ClientID] [int] NOT NULL,
[Commande_Date] [datetime] NOT NULL,
[Commande_Statut] [smallint] NOT NULL,
[Commande_MontantTotalTTC] [money] NULL,
[Commande_InfoPaiement] [xml](CONTENT [dbo].
[SchemaXMLInfoPaiement]) NULL,
PRIMARY KEY CLUSTERED
j'ai personellement besoin d'un schemaXml plus étoffé.
USE [noe]
GO
CREATE XML SCHEMA COLLECTION [dbo].[SchemaXMLAnimaux] AS N'<xsd:schema
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:t="http://tempuri.org/Animaux.xsd"
targetNamespace="http://tempuri.org/Animaux.xsd"
elementFormDefault="qualified">
bonjour
est-il possible dans une colonne de type xml d'utiliser un schema
multiple (grace à la fonction "import")
l'exemple des devdays 2005 contenant un schema simple
CREATE TABLE [SchemaDD2005].[Commande](
[Commande_ID] [int] IDENTITY(1,1) NOT NULL,
[Commande_ClientID] [int] NOT NULL,
[Commande_Date] [datetime] NOT NULL,
[Commande_Statut] [smallint] NOT NULL,
[Commande_MontantTotalTTC] [money] NULL,
[Commande_InfoPaiement] [xml](CONTENT [dbo].
[SchemaXMLInfoPaiement]) NULL,
PRIMARY KEY CLUSTERED
j'ai personellement besoin d'un schemaXml plus étoffé.
USE [noe]
GO
CREATE XML SCHEMA COLLECTION [dbo].[SchemaXMLAnimaux] AS N'<xsd:schema
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:t="http://tempuri.org/Animaux.xsd"
targetNamespace="http://tempuri.org/Animaux.xsd"
elementFormDefault="qualified">
bonjour
est-il possible dans une colonne de type xml d'utiliser un schema
multiple (grace à la fonction "import")
l'exemple des devdays 2005 contenant un schema simple
CREATE TABLE [SchemaDD2005].[Commande](
[Commande_ID] [int] IDENTITY(1,1) NOT NULL,
[Commande_ClientID] [int] NOT NULL,
[Commande_Date] [datetime] NOT NULL,
[Commande_Statut] [smallint] NOT NULL,
[Commande_MontantTotalTTC] [money] NULL,
[Commande_InfoPaiement] [xml](CONTENT [dbo].
[SchemaXMLInfoPaiement]) NULL,
PRIMARY KEY CLUSTERED
j'ai personellement besoin d'un schemaXml plus étoffé.
USE [noe]
GO
CREATE XML SCHEMA COLLECTION [dbo].[SchemaXMLAnimaux] AS N'<xsd:schema
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:t="http://tempuri.org/Animaux.xsd"
targetNamespace="http://tempuri.org/Animaux.xsd"
elementFormDefault="qualified">
bonjour
est-il possible dans une colonne de type xml d'utiliser un schema
multiple (grace à la fonction "import")
l'exemple des devdays 2005 contenant un schema simple
CREATE TABLE [SchemaDD2005].[Commande](
[Commande_ID] [int] IDENTITY(1,1) NOT NULL,
[Commande_ClientID] [int] NOT NULL,
[Commande_Date] [datetime] NOT NULL,
[Commande_Statut] [smallint] NOT NULL,
[Commande_MontantTotalTTC] [money] NULL,
[Commande_InfoPaiement] [xml](CONTENT [dbo].
[SchemaXMLInfoPaiement]) NULL,
PRIMARY KEY CLUSTERED
j'ai personellement besoin d'un schemaXml plus étoffé.
USE [noe]
GO
CREATE XML SCHEMA COLLECTION [dbo].[SchemaXMLAnimaux] AS N'<xsd:schema
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:t="http://tempuri.org/Animaux.xsd"
targetNamespace="http://tempuri.org/Animaux.xsd"
elementFormDefault="qualified">
bonjour
est-il possible dans une colonne de type xml d'utiliser un schema
multiple (grace à la fonction "import")
l'exemple des devdays 2005 contenant un schema simple
CREATE TABLE [SchemaDD2005].[Commande](
[Commande_ID] [int] IDENTITY(1,1) NOT NULL,
[Commande_ClientID] [int] NOT NULL,
[Commande_Date] [datetime] NOT NULL,
[Commande_Statut] [smallint] NOT NULL,
[Commande_MontantTotalTTC] [money] NULL,
[Commande_InfoPaiement] [xml](CONTENT [dbo].
[SchemaXMLInfoPaiement]) NULL,
PRIMARY KEY CLUSTERED
j'ai personellement besoin d'un schemaXml plus étoffé.
USE [noe]
GO
CREATE XML SCHEMA COLLECTION [dbo].[SchemaXMLAnimaux] AS N'<xsd:schema
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:t="http://tempuri.org/Animaux.xsd"
targetNamespace="http://tempuri.org/Animaux.xsd"
elementFormDefault="qualified">
bonjour
est-il possible dans une colonne de type xml d'utiliser un schema
multiple (grace à la fonction "import")
l'exemple des devdays 2005 contenant un schema simple
CREATE TABLE [SchemaDD2005].[Commande](
[Commande_ID] [int] IDENTITY(1,1) NOT NULL,
[Commande_ClientID] [int] NOT NULL,
[Commande_Date] [datetime] NOT NULL,
[Commande_Statut] [smallint] NOT NULL,
[Commande_MontantTotalTTC] [money] NULL,
[Commande_InfoPaiement] [xml](CONTENT [dbo].
[SchemaXMLInfoPaiement]) NULL,
PRIMARY KEY CLUSTERED
j'ai personellement besoin d'un schemaXml plus étoffé.
USE [noe]
GO
CREATE XML SCHEMA COLLECTION [dbo].[SchemaXMLAnimaux] AS N'<xsd:schema
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:t="http://tempuri.org/Animaux.xsd"
targetNamespace="http://tempuri.org/Animaux.xsd"
elementFormDefault="qualified">
Je suis plutot specialise "serveur" donc je ne sais pas trop ce que vous
essayez de faire dans VS 2005 mais par definition un schema XML ne peut
avoir qu'une seule racine <xsd:schema>. Mon conseil est de creer les
schemas separement et cela devrait fonctionner.
Pour SQL Server 2005 les commandes CREATE/ALTER XML SCHEMA COLLECTION
'.....' vous laissent specifier plusieurs schemas a la suite pour plus
de commodite (et aussi parce que dans le cas de references croisees il
serait impossible de resoudre toutes les references sans autoriser
l'importation simultanee de plusieurs schemas).
Si vous voulez creer vos schemas dans VS 2005 vous devrez les creer
separement, mais ce n'est pas un probleme. Si vous voulez ensuite les
importer dans une Xml Schema Collection sur le serveur, vous pouvez
charger le contenu des fichiers dans des variables nvarchar(MAX) et les
concatener.
J'ai mis en ligne recemment plusieurs exemples d'importation de schemas
a partir de fichiers separes. Peut etre cela vous aidera-t-il
http://blogs.msdn.com/denisruc/archive/2006/04/18/578671.aspx
http://blogs.msdn.com/denisruc/archive/2006/05/02/588678.aspx
Aussi, j'en profite pour preciser que l'implementation du type XML sur
le seveur est completement distincte des fonctionalites XML offertes
dans le CLR (System.Xml). Le code est different et le serveur ne depend
pas du CLR pour importer les schemas ou valider les instances.
En ce qui concerne les schemas les deux implementations sont bien sur
basees sur les specs du W3C mais il y a quelques differences minimes
(par exemple SQL Server 2005 refuse les particules <xsd:choice/> vides
sauf si minOccurs="0"). Referez vous a
http://msdn2.microsoft.com/en-us/library/ms190665.aspx pour plus de
details.
Cordialement,
Denis Ruckebusch
SQL Server XML Datatype Team
http://blogs.msdn.com/denisruc
--
This posting is provided "AS IS" with no warranties, and confers no
rights.
Use of included script samples are subject to the terms specified at
http://www.microsoft.com/info/cpyright.htm
"JohnPaulGeorgeRingo"
wrote in message
news:
In article ,
says...
> bonjour
>
Je suis plutot specialise "serveur" donc je ne sais pas trop ce que vous
essayez de faire dans VS 2005 mais par definition un schema XML ne peut
avoir qu'une seule racine <xsd:schema>. Mon conseil est de creer les
schemas separement et cela devrait fonctionner.
Pour SQL Server 2005 les commandes CREATE/ALTER XML SCHEMA COLLECTION
'.....' vous laissent specifier plusieurs schemas a la suite pour plus
de commodite (et aussi parce que dans le cas de references croisees il
serait impossible de resoudre toutes les references sans autoriser
l'importation simultanee de plusieurs schemas).
Si vous voulez creer vos schemas dans VS 2005 vous devrez les creer
separement, mais ce n'est pas un probleme. Si vous voulez ensuite les
importer dans une Xml Schema Collection sur le serveur, vous pouvez
charger le contenu des fichiers dans des variables nvarchar(MAX) et les
concatener.
J'ai mis en ligne recemment plusieurs exemples d'importation de schemas
a partir de fichiers separes. Peut etre cela vous aidera-t-il
http://blogs.msdn.com/denisruc/archive/2006/04/18/578671.aspx
http://blogs.msdn.com/denisruc/archive/2006/05/02/588678.aspx
Aussi, j'en profite pour preciser que l'implementation du type XML sur
le seveur est completement distincte des fonctionalites XML offertes
dans le CLR (System.Xml). Le code est different et le serveur ne depend
pas du CLR pour importer les schemas ou valider les instances.
En ce qui concerne les schemas les deux implementations sont bien sur
basees sur les specs du W3C mais il y a quelques differences minimes
(par exemple SQL Server 2005 refuse les particules <xsd:choice/> vides
sauf si minOccurs="0"). Referez vous a
http://msdn2.microsoft.com/en-us/library/ms190665.aspx pour plus de
details.
Cordialement,
Denis Ruckebusch
SQL Server XML Datatype Team
http://blogs.msdn.com/denisruc
--
This posting is provided "AS IS" with no warranties, and confers no
rights.
Use of included script samples are subject to the terms specified at
http://www.microsoft.com/info/cpyright.htm
"JohnPaulGeorgeRingo"
<A_splendid_time_is_guaranteed_for_all@AppleCorp.fr> wrote in message
news:MPG.1ece60e87a6ae60d989682@news.free.fr...
In article <MPG.1ecc06eda0bdcb39989683@news.wanadoo.fr>,
A_splendid_time_is_guaranteed_for_all@Apple.fr says...
> bonjour
>
Je suis plutot specialise "serveur" donc je ne sais pas trop ce que vous
essayez de faire dans VS 2005 mais par definition un schema XML ne peut
avoir qu'une seule racine <xsd:schema>. Mon conseil est de creer les
schemas separement et cela devrait fonctionner.
Pour SQL Server 2005 les commandes CREATE/ALTER XML SCHEMA COLLECTION
'.....' vous laissent specifier plusieurs schemas a la suite pour plus
de commodite (et aussi parce que dans le cas de references croisees il
serait impossible de resoudre toutes les references sans autoriser
l'importation simultanee de plusieurs schemas).
Si vous voulez creer vos schemas dans VS 2005 vous devrez les creer
separement, mais ce n'est pas un probleme. Si vous voulez ensuite les
importer dans une Xml Schema Collection sur le serveur, vous pouvez
charger le contenu des fichiers dans des variables nvarchar(MAX) et les
concatener.
J'ai mis en ligne recemment plusieurs exemples d'importation de schemas
a partir de fichiers separes. Peut etre cela vous aidera-t-il
http://blogs.msdn.com/denisruc/archive/2006/04/18/578671.aspx
http://blogs.msdn.com/denisruc/archive/2006/05/02/588678.aspx
Aussi, j'en profite pour preciser que l'implementation du type XML sur
le seveur est completement distincte des fonctionalites XML offertes
dans le CLR (System.Xml). Le code est different et le serveur ne depend
pas du CLR pour importer les schemas ou valider les instances.
En ce qui concerne les schemas les deux implementations sont bien sur
basees sur les specs du W3C mais il y a quelques differences minimes
(par exemple SQL Server 2005 refuse les particules <xsd:choice/> vides
sauf si minOccurs="0"). Referez vous a
http://msdn2.microsoft.com/en-us/library/ms190665.aspx pour plus de
details.
Cordialement,
Denis Ruckebusch
SQL Server XML Datatype Team
http://blogs.msdn.com/denisruc
--
This posting is provided "AS IS" with no warranties, and confers no
rights.
Use of included script samples are subject to the terms specified at
http://www.microsoft.com/info/cpyright.htm
"JohnPaulGeorgeRingo"
wrote in message
news:
In article ,
says...
> bonjour
>