Настройка пользовательских метаданных Open XML - PullRequest
0 голосов
/ 12 июля 2011

Фон

Пользовательские свойства в Open XML хранятся в docProps/custom.xml и выглядят так (для строки):

<property fmtid="{xxxxxxxx-xxxxx-xxxx-xxxx-xxxxxxxxxxxx}" pid="2" name="Key">
    <vt:lpwstr>Value</vt:lpwstr>
</property>

Open XML (v1) спецификация не дает много подробностей о fmtid и pid.В разделе 7.3.2.2:

[PID] просто указывается уникальное свойство со свойством OLE

Вопросы

У меня есть несколько вопросов по поводу неопределенного объяснения спецификации:

  1. Что такое свойства OLE?
  2. Возможно ли добавить новое свойство OpenXML в custom.xml без сохранения свойства OLE?
  3. Требуется ли pid быть уникальным для fmtid или уникальным для всех fmtid с в файле custom.xml
  4. Почему мои собственные свойства в пользовательском.xml появляется в Word?

1 Ответ

1 голос
/ 17 июля 2011

Я собираюсь частично ответить на свой вопрос, основываясь на том, что я обнаружил в результате эксперимента.

  1. Свойства OLE - это расширенные атрибуты NTFS, которые хранятся в альтернативных файловых потоках.Их можно просмотреть или изменить с помощью DSOfile.dll .См. этот вопрос StackOverflow.

  2. Пользовательские свойства можно добавить, изменив custom.xml.Они появятся только в диалоговом окне свойств Word, если fmtid принадлежит Word или загруженной надстройке COM.

...