Comment cartographier les types de données SQL non-prédéfinis au format XML

Dans le standard SQL, les types de données non-prédéfinis incluent domaine, UDT distincte, rangée, rangée, et multiset. Vous pouvez mapper chacun de ces données au format XML, en utilisant le code XML approprié. Voici quelques exemples de la façon de cartographier ces types.

Sommaire

Domaine

Pour mapper un domaine SQL pour XML, vous devez d'abord avoir un domaine. Pour cet exemple, créer un en utilisant un CREATE DOMAIN déclaration:

CREATE DOMAIN Westcoast CHAR (2) CHECK (État IN («CA», «ou», «WA», «AK»)) -

Maintenant, créer une table qui utilise ce domaine:

CREATE TABLE WestRegion (ClientName caractères (20) NOT NULL, NULL StateWestCoast PAS) -

Voici le schéma XML pour cartographier le domaine en XML:

Nom = 'DOMAIN.Sales.WestCoast'>

Lorsque ce mappage est appliqué, il en résulte un document XML qui contient quelque chose comme ce qui suit:

...Alaska......

UDT Distinct

Avec un UDT distincts, vous pouvez faire la même que ce que vous pouvez faire avec un domaine, mais avec le typage fort. Voici comment:

CREATE TYPE Westcoast caractères (2) FINAL -



Le schéma XML pour mapper ce type de XML est comme suit:

Nom = 'UDT.Sales.WestCoast'>

Cela crée un élément qui est la même que celle créée pour le domaine précédent.

Row

La ROW Type vous permet de caser plusieurs éléments, ou même pas la peine de l'ensemble ligne d'informations, en un seul champ d'une ligne de la table. Vous pouvez créer un ROW tapez dans le cadre de la définition de la table, de la manière suivante:

CREATE TABLE ContactInfo (Nom Caractère (30) de l'emprise de téléphone (Accueil CHAR (13), travail CHAR (13))) -

Vous pouvez maintenant mapper ce type de XML avec le schéma suivant:

Cette cartographie pourrait générer le code XML suivant pour une colonne:

(888)555-1111(888)555-1212

Tableau

Vous pouvez mettre plus d'un élément dans un champ unique en utilisant un Tableau plutôt que de la ROW taper. Par exemple, dans le INFORMATIONS DE CONTACT table, déclarer Phone comme un tableau, puis générer le schéma XML qui permettra de cartographier le réseau au format XML.

CREATE TABLE ContactInfo (Nom Caractère (30), personnage de téléphone (13) Tableau [4]) -

Vous pouvez maintenant mapper ce type de XML avec le schéma suivant:

Ce schéma serait de générer quelque chose comme ceci:

(888)555-1111xsi: nil = 'true' />(888)555-3434

L'élément de la matrice contenant xsi: nil = 'true' traduit le fait que le deuxième numéro de téléphone dans la table source contient une valeur nulle.

Multiset

Les numéros de téléphone dans l'exemple précédent pourraient tout aussi bien être stockés dans un multi comme dans un tableau. Pour mapper un multi, utilisez quelque chose de semblable à ce qui suit:

CREATE TABLE ContactInfo (Nom Caractère (30), personnage de téléphone (13) MULTISET) -

Vous pouvez maintenant mapper ce type de XML avec le schéma suivant:

Ce schéma serait de générer quelque chose comme ceci:

(888)555-1111xsi: nil = 'true' />(888)555-3434

» » » » Comment cartographier les types de données SQL non-prédéfinis au format XML