Compartir a través de


XMLMapping Interfaz

Definición

Representa la asignación XML en un ContentControl objeto entre XML personalizado y un control de contenido. Una asignación XML es un vínculo entre el texto de un control de contenido y un elemento XML del almacén de datos XML personalizado para este documento.

public interface class XMLMapping
[System.Runtime.InteropServices.Guid("0C1FABE7-F737-406F-9CA3-B07661F9D1A2")]
public interface XMLMapping
type XMLMapping = interface
Public Interface XMLMapping
Atributos

Comentarios

Use el SetMapping(String, String, CustomXMLPart) método para agregar o cambiar la asignación XML de un control de contenido mediante una cadena XPath. En el ejemplo siguiente, se establece la propiedad de documento integrada del autor del documento, se inserta un nuevo control de contenido en el documento activo y, a continuación, se establece la asignación XML para el control en la propiedad de documento integrada.

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

Use el SetMappingByNode(CustomXMLNode) método para agregar o cambiar la asignación XML de un control de contenido mediante un objeto CustomXMLNode . En el siguiente ejemplo hace lo mismo que el ejemplo anterior, pero utiliza el método 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>

El ejemplo siguiente crea un nuevo objeto CustomXMLPart, carga XML personalizados en él y, a continuación, crea dos nuevos controles de contenido y asigna cada uno a un elemento XML distinto dentro del XML personalizado.

<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 ("&lt;books&gt;&lt;book&gt;&lt;author&gt;Matt Hink&lt;/author&gt;" &amp; _































































































































    "&lt;title&gt;Migration Paths of the Red Breasted Robin&lt;/title&gt;" &amp; _































































































































    "&lt;genre&gt;non-fiction&lt;/genre&gt;&lt;price&gt;29.95&lt;/price&gt;" &amp; _































































































































    "&lt;pub_date&gt;2/1/2007&lt;/pub_date&gt;&lt;abstract&gt;You see them in " &amp; _































































































































    "the spring outside your windows.  You hear their lovely " &amp; _































































































































    "songs wafting in the warm spring air.  Now follow the path " &amp; _































































































































    "of the red breasted robin as it migrates to warmer climes " &amp; _































































































































    "in the fall, and then back to your back yard in the spring." &amp; _































































































































    "&lt;/abstract&gt;&lt;/book&gt;&lt;/books&gt;")































































































































































































































































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>

Use el Delete() método para quitar la asignación XML de un control de contenido. Tenga en cuenta que, si elimina la asignación XML para un control de contenido, sólo se eliminará la conexión entre éste y los datos XML. Tanto el control de contenido como los datos XML permanecerán en el documento. En el siguiente ejemplo, se elimina la asignación XML de todos los controles de contenido del documento activo que se encuentran asociados actualmente.

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

Utilice la IsMapped propiedad para determinar si un control de contenido está asignado a un nodo XML en el almacén de datos del documento. En el siguiente ejemplo, se elimina la asignación XML para todos los controles de contenido asignados en el documento activo.

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

Utilice la CustomXMLNode propiedad para acceder al nodo XML al que se asigna un control de contenido. Use la CustomXMLPart propiedad para acceder al elemento XML al que se asigna un control de contenido. Para obtener más información sobre cómo trabajar con CustomXMLNode y objetos CustomXMLPart, vea los temas de objetos respectivos.

Propiedades

Application

Devuelve un _Application objeto que representa la aplicación microsoft Word.

Creator

Devuelve un entero de 32 bits que indica la aplicación en la que se creó el complemento. Long de sólo lectura.

CustomXMLNode

Devuelve un objeto CustomXMLNode que representa el nodo XML personalizado del almacén de datos al que se asigna el control de contenido del documento.

CustomXMLPart

Devuelve un objeto CustomXMLPart que representa el fragmento XML personalizado al que se asigna el control de contenido del documento.

IsMapped

Devuelve un valor de tipo Boolean que indica si el control de contenido del documento está asignado a un nodo XML del almacén de datos XML del documento. Solo lectura.

Parent

Devuelve un objeto Object que representa el objeto primario del objeto XMLMapping especificado.

PrefixMappings

Devuelve una cadena que representa las asignaciones de prefijo utilizadas para evaluar la expresión de XPath de la asignación XML actual. Solo lectura.

XPath

Devuelve una cadena que representa la expresión XPath para la asignación XML, que da como resultado el nodo XML actualmente asignado. Solo lectura.

Métodos

Delete()

Elimina la asignación XML del control de contenido principal.

SetMapping(String, String, CustomXMLPart)

Permite crear o cambiar la asignación XML en un control de contenido. Devuelve True si Microsoft Office Word asigna el control de contenido a un nodo XML personalizado en el almacén de datos XML personalizado del documento.

SetMappingByNode(CustomXMLNode)

Permite crear o cambiar la asignación de datos XML en un control de contenido. Devuelve True si Microsoft Office Word asigna el control de contenido a un nodo XML personalizado en el almacén de datos XML personalizado del documento.

Se aplica a