Utilisation de types de contenu pour spécifier des propriétés de document XML

Windows SharePoint Services 3

Lorsque Windows SharePoint Services appelle l'analyseur XML intégré pour analyser des fichiers XML, l'analyseur utilise le type de contenu du document pour déterminer les propriétés de document à faire correspondre aux colonnes de type de contenu, et l'emplacement dans lequel ces propriétés de document sont stockées dans le document. Par conséquent, pour faire en sorte que Windows SharePoint Services utilise l'analyseur XML intégré avec vos fichiers XML, vous devez procéder de la façon suivante :

  • Créez un type de contenu comportant les informations d'analyse nécessaires. Pour chaque propriété de document à promouvoir ou rétrograder, incluez une définition de champ contenant le nom de la propriété de document qui correspond à la colonne que la définition de champ représente, et l'emplacement dans lequel la propriété de document est stockée.

  • Assurez-vous que l'ID du type de contenu est une propriété de document qui est rétrogradée dans le document. Cela garantit que l'analyseur XML intégré peut identifier et accéder au type de contenu approprié pour le document. Pour plus d'informations, voir Spécification du type de contenu de document pour l'analyse XML.

Informations sur les types de contenu pour l'analyse XML

Les propriétés de documents sont promues dans des colonnes ou rétrogradées de celles-ci dans la bibliothèque de documents dans laquelle le document est stocké. Si le document est affecté d'un type de contenu, ces colonnes sont spécifiées dans la définition du type de contenu. Dans le XML de définition de type de contenu, chaque colonne incluse dans le type de contenu est représentée par un élément FieldRef.

Remarque Remarque :

Les éléments Field représentent des colonnes définies pour un site ou une liste. Les éléments FieldRef représentent des références aux colonnes qui figurent dans le type de contenu. L'élément FieldRef contient des attributs de colonne que vous pouvez remplacer pour la colonne lorsqu'elle apparaît dans ce type de contenu spécifique, tel que le nom complet de la colonne, et si elle est masquée ou obligatoire pour le type de contenu. Ces informations incluent également l'emplacement de la propriété de document à faire correspondre à cette colonne lorsqu'elle apparaît dans le type de contenu. Ceci vous permet de spécifier différents emplacements pour la propriété de document qui correspond à la colonne dans différents types de contenu.

De ce fait, pour spécifier les informations dont l'analyseur XML intégré a besoin pour promouvoir et rétrograder une propriété de document, vous devez modifier l'élément FieldRef qui représente la colonne correspondant à la propriété de document dans la définition du type de contenu.

La figure suivante illustre les actions effectuées par l'analyseur lors de l'archivage d'un fichier dans une bibliothèque de documents. Windows SharePoint Services appelle l'analyseur qui examine la colonne ID de type de contenu pour déterminer l'emplacement dans le document dans lequel son ID de type de contenu est stocké. L'analyseur recherche ensuite à l'intérieur du document son type de contenu à cet emplacement. Il examine le type de contenu pour déterminer quels éléments FieldRef contiennent des informations de propriété de document. Pour chaque élément FieldRef mappé à une propriété de document, l'analyseur recherche la propriété de document à l'emplacement dans le document spécifié dans l'élément FieldRef correspondant. Si l'analyseur détecte la propriété de document à l'emplacement spécifié, il promeut cette valeur à la colonne correspondante.

Lorsqu'un document XML est d'abord téléchargé dans une bibliothèque de documents, l'analyseur XML intégré doit déterminer le type de contenu du document, et si ce type de contenu est associé à la bibliothèque de documents. Pour plus d'informations, voir Spécification du type de contenu de document pour l'analyse XML.

Promotion de propriétés XML

Vous pouvez modifier plusieurs attributs dans un élément Field ou FieldRef pour faire correspondre cet élément à une propriété de document et spécifier l'emplacement de la propriété du document.

Tout d'abord, l'élément Field or FieldRef doit contenir un attribut ID qui spécifie l'ID de la colonne dans la bibliothèque de documents. Par exemple :

<FieldRef

ID="{4B1BF6C6-4F39-45ac-ACD5-16FE7A214E5E}"

Name="EmployeeID”/>

Ensuite, ajoutez des attributs supplémentaires à l'élément Field ou FieldRef qui spécifient l'emplacement de la propriété de document dans le document. Les propriétés de document peuvent être stockées dans les emplacements suivants :

  • Le contenu XML du document

  • Les instructions de traitement du document

Les attributs que vous ajoutez à l'élément Field ou FieldRef pour spécifier l'emplacement de la propriété varient selon que la propriété est stockée en tant que contenu XML ou instructions de traitement. Ces attributs sont mutuellement exclusifs, c'est-à-dire que si vous ajoutez un attribut qui spécifie un emplacement dans le contenu XML, vous ne pouvez pas ajouter également des attributs qui spécifient un emplacement dans les instructions de traitement.

Pour modifier par programme le schéma de définition de champ d'une colonne, utilisez l'objet SPField.SchemaXML.

Spécification des propriétés dans le contenu XML du document

Si vous stockez la propriété de document dans le document en tant que contenu XML, vous spécifiez une expression XPath qui représente l'emplacement de la propriété au sein du document. Ajoutez un attribut Node à l'élément Field ou FieldRef, et définissez-le à une valeur égale à l'expression XPath. Par exemple :

<FieldRef

ID="{4B1BF6C6-4F39-45ac-ACD5-16FE7A214E5E}"

Name="EmployeeID"

node="/my:myFields/my:employee"/>

Collection de valeurs de propriétés de document

Si vous spécifiez une expression XPath qui retourne une collection de valeurs, vous pouvez également inclure un attribut d'agrégation dans l'élément Field ou FieldRef. L'attribut d'agrégation spécifie l'action à effectuer sur le jeu de valeurs retourné. Cette action peut être une fonction d'agrégation ou une indication de l'élément particulier au sein de la collection.

Les valeurs possibles sont les suivantes :

  • sum

  • count

  • average

  • min

  • max

  • merge

  • plaintext   Convertit le contenu d'un texte de nœud en texte brut.

  • first   Applique la promotion et la rétrogradation de propriété au premier élément de la collection.

  • last   Applique la promotion et la rétrogradation de propriété au dernier élément de la collection.

Par exemple :

<FieldRef

ID="{4B1BF6C6-4F39-45ac-ACD5-16FE7A214E5E}"

Name="TotalToExpense”

node="/my:myFields/my:expense"

aggregation="sum"/>

Spécification de propriétés dans des instructions de traitement de document

Dans la mesure où les instructions de traitement ne contiennent pas toujours uniquement des données XML, les expressions XPath sont insuffisantes pour identifier les propriétés de document stockées dans les instructions de traitement. Il est donc préférable d'ajouter une paire d'attributs à l'élément Field ou FieldRef qui spécifient l'instruction de traitement et l'attribut d'instruction de traitement que vous souhaitez utiliser en tant que propriété de document :

  • Ajoutez un attribut PITarget pour spécifier l'instruction de traitement dans laquelle la propriété de document est stockée dans le document.

  • Ajoutez un attribut PIAttribute pour spécifier l'attribut à utiliser en tant que propriété de document.

Par exemple :

<FieldRef

ID="{4B1BF6C6-4F39-45ac-ACD5-16FE7A214E5E}"

Name="columnName"

PITarget="mydocumenttype"

PIAttribute="propertyAttribute"/>

Ces attributs ordonnent à l'analyseur d'examiner l'instruction de traitement et l'attribut suivants pour la valeur de propriété de document :

<?mydocumenttype propertyAttribute="value"?>

Vous pouvez également ajouter une autre paire d'attributs PrimaryPITarget et PrimaryPIAttribute. Cette paire d'attributs est facultative. Comme PITarget et PIAttribute, ces attributs travaillent à l'unisson pour identifier l'emplacement de la propriété de document. Toutefois, s'ils sont présents, l'analyseur XML intégré recherche en premier la propriété de document dans l'emplacement qu'ils spécifient. S'il existe une valeur à cet emplacement, l'analyseur l'utilise et ignore les attributs PITarget et PIAttribute. L'analyseur recherche la propriété de document à l'emplacement spécifié par la paire d'attributs PITarget et PIAttribute uniquement si l'emplacement spécifié par les attributs PrimaryPITarget et PrimaryPIAttribute retourne une valeur NULL.

Si vous spécifiez les attributs PrimaryPITarget et PrimaryPIAttribute, vous devez également spécifier les attributs PITarget et PIAttribute. L'analyseur utilise les attributs PrimaryPITarget et PrimaryPIAttribute uniquement si l'attribut d'instruction de traitement spécifié par la paire PITarget et PIAttribute n'existe pas dans le document, et non si cet attribut existe mais a la valeur NULL ou est vide.

Voir aussi

Afficher: