XMLMapping Interface
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Représente le mappage XML sur un ContentControl objet entre le code XML personnalisé et un contrôle de contenu. Un mappage XML est un lien entre le texte d'un contrôle de contenu et un élément XML dans la banque de données XML personnalisée de ce document.
public interface class XMLMapping
[System.Runtime.InteropServices.Guid("0C1FABE7-F737-406F-9CA3-B07661F9D1A2")]
public interface XMLMapping
type XMLMapping = interface
Public Interface XMLMapping
- Attributs
Remarques
Utilisez la SetMapping(String, String, CustomXMLPart) méthode pour ajouter ou modifier le mappage XML pour un contrôle de contenu à l’aide d’une chaîne XPath. L'exemple ci-dessous montre comment définir la propriété de document prédéfinie pour l'auteur du document, insérer un nouveau contrôle de contenu dans le document actif et définir le mappage XML du contrôle sur la propriété de document prédéfinie.
<span class="label">Dim objcc As ContentControl
Dim objMap As XMLMapping
Dim blnMap As Boolean
ActiveDocument.BuiltInDocumentProperties("Author").Value = "David Jaffe"
Set objcc = ActiveDocument.ContentControls.Add _
(wdContentControlDate, ActiveDocument.Paragraphs(1).Range)
Set objMap = objcc.XMLMapping
blnMap = objMap.SetMapping(XPath:="/ns1:coreProperties[1]/ns0:createdate[1]")
If blnMap = False Then
MsgBox "Unable to map the content control."
End If</span>
Utilisez la SetMappingByNode(CustomXMLNode) méthode pour ajouter ou modifier le mappage XML pour un contrôle de contenu à l’aide d’un objet CustomXMLNode . L'exemple suivant effectue les mêmes actions que l'exemple précédent, mais utilise la méthode SetMappingByNode.
<span class="label">Dim objcc As ContentControl
Dim objNode As CustomXMLNode
Dim objMap As XMLMapping
Dim blnMap As Boolean
ActiveDocument.BuiltInDocumentProperties("Author").Value = "David Jaffe"
Set objcc = ActiveDocument.ContentControls.Add _
(wdContentControlDate, ActiveDocument.Paragraphs(1).Range)
Set objNode = ActiveDocument.CustomXMLParts.SelectByNamespace _
("http://schemas.openxmlformats.org/package/2006/metadata/core-properties") _
(1).DocumentElement.ChildNodes(1)
Set objMap = objcc.XMLMapping
blnMap = objMap.SetMappingByNode(objNode)</span>
L'exemple suivant crée un nouvel objet CustomXMLPart, charge la partie XML personnalisée dans ce code, puis crée deux nouveaux contrôles de contenu et est mappé à un élément XML différent au sein de la partie XML personnalisée.
<span class="label">Dim objRange As Range
Dim objCustomPart As CustomXMLPart
Dim objCustomControl As ContentControl
Dim objCustomNode As CustomXMLNode
Set objCustomPart = ActiveDocument.CustomXMLParts.Add
objCustomPart.LoadXML ("<books><book><author>Matt Hink</author>" & _
"<title>Migration Paths of the Red Breasted Robin</title>" & _
"<genre>non-fiction</genre><price>29.95</price>" & _
"<pub_date>2/1/2007</pub_date><abstract>You see them in " & _
"the spring outside your windows. You hear their lovely " & _
"songs wafting in the warm spring air. Now follow the path " & _
"of the red breasted robin as it migrates to warmer climes " & _
"in the fall, and then back to your back yard in the spring." & _
"</abstract></book></books>")
ActiveDocument.Range.InsertParagraphBefore
Set objRange = ActiveDocument.Paragraphs(1).Range
Set objCustomNode = objCustomPart.SelectSingleNode _
("/books/book/title")
Set objCustomControl = ActiveDocument.ContentControls _
.Add(wdContentControlText, objRange)
objCustomControl.XMLMapping.SetMappingByNode objCustomNode
objRange.InsertParagraphAfter
Set objRange = ActiveDocument.Paragraphs(2).Range
Set objCustomNode = objCustomPart.SelectSingleNode _
("/books/book/abstract")
Set objCustomControl = ActiveDocument.ContentControls _
.Add(wdContentControlText, objRange)
objCustomControl.XMLMapping.SetMappingByNode objCustomNode
MsgBox objCustomControl.XMLMapping.IsMapped</span>
Utilisez la Delete() méthode pour supprimer le mappage XML pour un contrôle de contenu. Supprimer le mappage XML d'un contrôle de contenu revient à supprimer uniquement la connexion entre le contrôle de contenu et les données XML. Le contrôle de contenu et les données XML restent dans le document. L'exemple ci-dessous montre comment supprimer le mappage XML pour tous les contrôles de contenu du document actif qui sont actuellement mappés.
<span class="label">Dim objCC As ContentControl
For Each objCC In ActiveDocument.ContentControls
If objCC.XMLMapping.IsMapped Then
objCC.XMLMapping.Delete
End If
Next</span>
Utilisez la IsMapped propriété pour déterminer si un contrôle de contenu est mappé à un nœud XML dans le magasin de données du document. L'exemple ci-dessous montre comment supprimer le mappage XML pour tous les contrôles de contenus mappés du document actif.
<span class="label">Dim objCC As ContentControl
For Each objCC In ActiveDocument.ContentControls
If objCC.XMLMapping.IsMapped Then
objCC.XMLMapping.Delete
End If
Next</span>
Utilisez la CustomXMLNode propriété pour accéder au nœud XML auquel un contrôle de contenu est mappé. Utilisez la CustomXMLPart propriété pour accéder à la partie XML à laquelle un contrôle de contenu est mappé. Pour plus d'informations sur l'utilisation de l'objet CustomXMLNode et objets CustomXMLPart, voir les rubriques de l'objet respectifs.
Propriétés
Application |
Renvoie un _Application objet qui représente l’application Microsoft Word. |
Creator |
Renvoie un entier 32 bits qui indique l'application dans laquelle le complément a été créé. Long (en lecture seule). |
CustomXMLNode |
Renvoie un objet CustomXMLNode qui représente le nœud XML personnalisé dans le magasin de données à laquelle le contrôle de contenu du document est mappé. |
CustomXMLPart |
Renvoie un objet CustomXMLPart qui représente la partie XML personnalisée sur laquelle le contrôle de contenu du document est mappé. |
IsMapped |
Renvoie une valeur de type Boolean qui indique si le contrôle de contenu du document est mappé sur un nœud XML dans la banque de données XML du document. En lecture seule. |
Parent |
Renvoie un Object qui représente l'objet parent de l'objet XMLMapping spécifié. |
PrefixMappings |
Renvoie une chaîne qui représente les mappages de préfixes utilisés pour évaluer l'expression XPath du mappage XML actif. En lecture seule. |
XPath |
Renvoie une chaîne qui représente le XPath du mappage XML, qui prend la valeur du nœud XML actuellement mappé. En lecture seule. |
Méthodes
Delete() |
Supprime le mappage XML du contrôle de contenu parent. |
SetMapping(String, String, CustomXMLPart) |
Permet de créer ou modifier le mappage XML sur un contrôle de contenu. Renvoie la valeur True si Microsoft Office Word mappe le contrôle de contenu à un nœud XML personnalisé dans le magasin de données XML personnalisé du document. |
SetMappingByNode(CustomXMLNode) |
Permet de créer ou modifier le mappage de données XML dans un contrôle de contenu. Renvoie la valeur True si Microsoft Office Word mappe le contrôle de contenu à un nœud XML personnalisé dans le magasin de données XML personnalisé du document. |