<xsl:template match="o:CustomDocumentProperties">
<xsl:copy>
<xsl:apply-templates select ="@*|node()" />
</xsl:copy>
</xsl:template>
在Word 2003中,我可以使用上面的xsl:template match语句获取单词的文档2003的自定义属性。
如果我在办公室Word 2007或2010上工作,使用的语法是什么?
答案 0 :(得分:0)
自定义文档属性在Properties
元素下维护,并使用以下命名空间:
http://schemas.openxmlformats.org/officeDocument/2006/extended-properties
电话号码的自定义属性示例:
<pkg:part pkg:name="/docProps/custom.xml"
pkg:contentType="application/vnd.openxmlformats-officedocument.custom-properties+xml"
pkg:padding="256">
<pkg:xmlData>
<Properties
xmlns="http://schemas.openxmlformats.org/officeDocument/2006/custom-properties"
xmlns:vt="http://schemas.openxmlformats.org/officeDocument/2006/docPropsVTypes">
<property fmtid="{D5CDD505-2E9C-101B-9397-08002B2CF9AE}" pid="3"
name="Telephone number">
<vt:lpwstr>555-555-5555</vt:lpwstr>
</property>
</Properties>
</pkg:xmlData>
</pkg:part>
假设您在样式表中使用前缀“prop”声明名称空间,如下所示:
xmlns:prop="http://schemas.openxmlformats.org/officeDocument/2006/extended-properties"
如果您保存为单个XML文件,则可以使用以下XPath找到它们:
pkg:package/pkg:part/pkg:xmlData/prop:Properties
您可以像这样创建模板匹配:
<xsl:template match="prop:Properties">
<xsl:copy>
<xsl:apply-templates select ="@*|node()" />
</xsl:copy>
</xsl:template>