OpenXml: в чем разница между SdtBlock и SdtCell? - PullRequest
8 голосов
/ 06 декабря 2011

SdtCell и SdtBlock в OpenXml.Wordprocessing оба сериализуются в <w:sdt> так в чем же разница? Я предполагаю, что одна из них - это ячейка таблицы, что, как представляется, подразумевается в документации Microsoft. Предоставленные данные в лучшем случае редки, пожалуйста, уточните.

1 Ответ

4 голосов
/ 06 декабря 2011

На страницах MSDN для sdtcell и sdtblock , выделено ниже

Основное отличие заключается в том, какой тип контента <w:sdtContent>Вы будете иметь в пределах <w:sdt>

SDTCELL

Этот элемент определяет наличие тега структурированного документа вокруг одной ячейки таблицы .Два дочерних элемента этого элемента должны использоваться для указания свойств и содержимого текущего тега структурированного документа через элементы sdtPr и sdtContent соответственно.

[Пример: рассмотрим тег структурированного документа с понятным названием companyэто должно быть расположено вокруг одной ячейки таблицы в документе WordprocessingML.Это требование будет указано в WordprocessingML следующим образом:

<w:tr>
<w:sdt>
<w:sdtPr>
<w:alias w:val="company"/>
</w:sdtPr>
<w:sdtContent>
<w:tc>
…
</w:tc>
</w:sdtContent>
</w:sdt>
…
</w:tr>

Элемент sdt указывает тег структурированного документа, дочерний элемент sdtPr содержит свойство friendly name, установленное в company, , а элемент sdtContent содержитодна ячейка таблицы (это тег структурированного документа на уровне ячеек) .

SDTBLOCK

Этот элемент указывает на наличие структурированного тега документа вокруг одной или нескольких структур уровня блока (абзацы, таблицы и т. Д.) .Два дочерних элемента этого элемента должны использоваться для указания свойств и содержимого текущего тега структурированного документа через элементы sdtPr и sdtContent соответственно.

[Пример: рассмотрим тег структурированного документа с адресом понятного имениэто должно быть расположено вокруг одного абзаца в документе WordprocessingML.Это требование будет определено в WordprocessingML следующим образом:

<w:body>
<w:sdt>
<w:sdtPr>
<w:alias w:val="address"/>
</w:sdtPr>
<w:sdtContent>
<w:p>
…
</w:p>
</w:sdtContent>
</w:sdt>
…
</w:body>

Элемент sdt указывает тег структурированного документа, дочерний элемент sdtPr содержит свойство friendly name, установленное в address, , а элемент sdtContent содержитодин абзац (это структурированный тег документа уровня блока) .

...