Поделиться через


XMLMapping Интерфейс

Определение

Представляет xml-сопоставление объекта между пользовательским ContentControl XML-кодом и элементом управления содержимым. Сопоставление XML — это связь между текстом в элементе управления содержимым и XML-элементом в пользовательском хранилище XML-данных для этого документа.

public interface class XMLMapping
[System.Runtime.InteropServices.Guid("0C1FABE7-F737-406F-9CA3-B07661F9D1A2")]
public interface XMLMapping
type XMLMapping = interface
Public Interface XMLMapping
Атрибуты

Комментарии

Используйте метод для SetMapping(String, String, CustomXMLPart) добавления или изменения сопоставления XML для элемента управления содержимым с помощью строки XPath. В следующем примере устанавливается встроенное свойство документа для автора документа, вставляется новый элемент управления содержимым в активный документ, а затем xml-сопоставление элемента управления со встроенным свойством документа.

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

Используйте метод , SetMappingByNode(CustomXMLNode) чтобы добавить или изменить сопоставление XML для элемента управления содержимым с помощью объекта CustomXMLNode . В следующем примере выполняется то же самое, что и в предыдущем примере, но используется метод 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>

В следующем примере создается новый объект CustomXMLPart , загружается в него пользовательский XML-код, а затем создаются два новых элемента управления содержимым и каждый из них сопоставляется с другим XML-элементом в пользовательском XML-коде.

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

Используйте метод , Delete() чтобы удалить сопоставление XML для элемента управления содержимым. При удалении сопоставления XML для элемента управления содержимым удаляется только соединение между элементом управления содержимым и XML-данными. В документе остаются как элемент управления содержимым, так и XML-данные. В следующем примере удаляется СОПОСТАВЛЕНИЕ XML для всех элементов управления содержимым в активном документе, которые сопоставлены в данный момент.

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

Используйте свойство , IsMapped чтобы определить, сопоставлен ли элемент управления содержимым с узлом XML в хранилище данных документа. В следующем примере удаляется сопоставление XML для всех сопоставленных элементов управления содержимым в активном документе.

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

Используйте свойство для CustomXMLNode доступа к узлу XML, с которым сопоставляется элемент управления содержимым. Используйте свойство для CustomXMLPart доступа к XML-части, с которой сопоставляется элемент управления содержимым. Дополнительные сведения о работе с объектами CustomXMLNode и CustomXMLPart см. в соответствующих разделах об объектах.

Свойства

Application

_Application Возвращает объект , представляющий приложение Microsoft Word.

Creator

Возвращает 32-разрядное целое число, указывающее приложение, в котором была создана надстройка. Только для чтения, Long.

CustomXMLNode

Возвращает объект CustomXMLNode , представляющий пользовательский XML-узел в хранилище данных, с которым сопоставляется элемент управления содержимым в документе.

CustomXMLPart

Возвращает объект CustomXMLPart , представляющий настраиваемую XML-часть, с которой сопоставляется элемент управления содержимым в документе.

IsMapped

Возвращает логическое значение, представляющее, сопоставляется ли элемент управления содержимым в документе с XML-узлом в хранилище XML-данных документа. Только для чтения.

Parent

Возвращает объект Object , представляющий родительский объект указанного объекта XMLMapping .

PrefixMappings

Возвращает значение String , представляющее сопоставления префиксов, используемых для вычисления XPath для текущего сопоставления XML. Только для чтения.

XPath

Возвращает значение String , представляющее XPath для сопоставления XML, которое вычисляется с текущим сопоставленным XML-узлом. Только для чтения.

Методы

Delete()

Удаляет сопоставление XML из родительского элемента управления содержимым.

SetMapping(String, String, CustomXMLPart)

Позволяет создавать или изменять сопоставление XML в элементе управления содержимым. Возвращает значение True, если Microsoft Office Word сопоставляет элемент управления содержимым с пользовательским XML-узлом в пользовательском хранилище XML-данных документа.

SetMappingByNode(CustomXMLNode)

Позволяет создавать или изменять сопоставление xml-данных в элементе управления содержимым. Возвращает значение True, если Microsoft Office Word сопоставляет элемент управления содержимым с пользовательским XML-узлом в пользовательском хранилище XML-данных документа.

Применяется к