适当格式化XSLT,包括WordProcessingML(OpenXML)

时间:2014-10-13 09:41:50

标签: visual-studio-2010 xslt openxml wordprocessingml

我有XSLT文件,我想在Visual Studio(2010)中编辑。该模板用于将输入数据-XML转换为OpenXML格式(MS Word文档)。 Visual Studio无法正确格式化(拆分为多行和缩进)。 screenshoot上的选定行(以<wx:sect>标记开头)只有一英里长,不受Edit > Format Document (Format Section)的影响。这一行内部是Word文档的完整描述。

unformatable line

我需要做什么(安装可能),所以VS可以格式化这样的文件?

1 个答案:

答案 0 :(得分:1)

当保存到2003 WordML时,Word会将xml:space="preserve"放在文档的根节点中以弥补其设计糟糕的XML结构,从而使代码免于漂亮打印在编辑器中

如果删除它,格式化文档将起作用。

Word主要使用它来保留w:t元素中的空格。

例如,如果您有以下WordML代码:

<w:p>
    <w:r>
        <w:t>Test  </w:t>
    </w:r>
    <w:r>
        <w:t>test</w:t>
    </w:r>
</w:p>

除非保留空间属性存在,否则Word将忽略第一个w:t中的空格并写入 Testtest

最好删除并使用XSLT添加它:

<xsl:attribute name="xml:space">preserve</xsl:attribute>