XMLMapping Interface
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
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 ("<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 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. |