Compartilhar via


XMLMapping Interface

Definição

Representa o mapeamento XML em um ContentControl objeto entre XML personalizado e um controle de conteúdo. Um mapeamento XML é um vínculo entre o texto em um controle de conteúdo e um elemento XML no repositório de dados XML personalizado para esse documento.

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

Comentários

Use o SetMapping(String, String, CustomXMLPart) método para adicionar ou alterar o mapeamento XML para um controle de conteúdo usando uma cadeia de caracteres XPath. O exemplo a seguir define a propriedade interna do documento para o autor do documento, insere um novo controle de conteúdo no documento ativo e, em seguida, define o mapeamento XML do controle para a propriedade interna do documento.

<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 o SetMappingByNode(CustomXMLNode) método para adicionar ou alterar o mapeamento XML para um controle de conteúdo usando um objeto CustomXMLNode . O exemplo a seguir faz o mesmo que o exemplo anterior, mas usa o 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>

O exemplo a seguir cria um novo objeto CustomXMLPart, carrega o XML personalizado nele e, em seguida, cria dois novos controles de conteúdo e mapeia cada um da um elemento XML diferente no 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 o Delete() método para remover o mapeamento XML para um controle de conteúdo. A exclusão do mapeamento XML de um controle de conteúdo exclui apenas a conexão entre o controle de conteúdo e os dados do XML. Tanto os dados do XML quanto o controle de conteúdo permanecem no documento. O exemplo a seguir exclui o mapeamento XML de todos os controles de conteúdo no documento ativo que estão atualmente mapeados.

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

Use a IsMapped propriedade para determinar se um controle de conteúdo é mapeado para um nó XML no armazenamento de dados do documento. O exemplo a seguir exclui o mapeamento XML de todos os controles de conteúdo mapeados no documento ativo.

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

Use a CustomXMLNode propriedade para acessar o nó XML ao qual um controle de conteúdo é mapeado. Use a CustomXMLPart propriedade para acessar a parte XML à qual um controle de conteúdo é mapeado. Para obter mais informações sobre como trabalhar com objetos de CustomXMLPart e CustomXMLNode, consulte os tópicos do respectivo objeto.

Propriedades

Application

Retorna um _Application objeto que representa o aplicativo microsoft Word.

Creator

Retorna um inteiro de 32 bits que indica o aplicativo no qual o suplemento foi criado. Long somente leitura.

CustomXMLNode

Retorna um objeto CustomXMLNode que representa o nó XML personalizado no repositório de dados à qual o controle de conteúdo do documento é mapeado.

CustomXMLPart

Retorna um objeto CustomXMLPart que representa a parte XML personalizada à qual o controle de conteúdo do documento é mapeado.

IsMapped

Retorna um Boolean que representa se o controle de conteúdo no documento está mapeado para um nó XML no repositório de dados XML do documento. Somente leitura.

Parent

Retorna um objeto que representa o objeto pai do objeto XMLMapping especificado.

PrefixMappings

Retorna uma cadeia de caracteres que representa os mapeamentos de prefixo usados para avaliar o XPath para o mapeamento XML atual. Somente leitura.

XPath

Retorna uma cadeia de caracteres que representa o XPath para o mapeamento XML, que é avaliada como o nó XML atualmente mapeado. Somente leitura.

Métodos

Delete()

Exclui o mapeamento XML do controle de conteúdo pai.

SetMapping(String, String, CustomXMLPart)

Permite criar ou alterar o mapeamento XML em um controle de conteúdo. Retorna True se o Microsoft Office Word mapear o controle de conteúdo para um nó XML personalizado no armazenamento de dados XML personalizado do documento.

SetMappingByNode(CustomXMLNode)

Permite criar ou alterar o mapeamento de dados XML em um controle de conteúdo. Retorna True se o Microsoft Office Word mapear o controle de conteúdo para um nó XML personalizado no armazenamento de dados XML personalizado do documento.

Aplica-se a