2011-10-12 63 views
1
<xsl:template match="o:CustomDocumentProperties"> 
     <xsl:copy> 
      <xsl:apply-templates select ="@*|node()" /> 
     </xsl:copy> 
</xsl:template> 

在Word 2003中,我能夠通過上面的xsl:template match語句獲得單詞的文檔2003的自定義屬性。如何使用XSLT清除Office Word 2007/2010自定義屬性?

如果我在辦公室Word 2007或2010上使用什麼語法?

+1

我認爲這個問題是等同於「什麼是用於Word 2007或2010中文檔自定義屬性的XML元素?」,因此它不是一個xslt或xpath問題,而是一個關於XML詞彙表的OOXML(WordML)問題。在http://www.ecma-international.org/publications/standards/Ecma-376.htm查看第3版第1部分我在WordML中看不到任何關於自定義屬性的內容。但我在這方面沒有經驗。 – LarsH

回答

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> 

假設你申報與命名空間前綴「託」在樣式表是這樣的:

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>