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 ("<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>
Используйте метод , 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-данных документа. |