XMLMapping Interfaz
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
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 ("<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>
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. |