2016-11-10 89 views
1

在HTML中,你可以很容易地做到以下幾點:嵌套的Open Office XML

<span id="outsideSpan"> 
    <span id="insideSpan> 
     Some Text 
    </span> 
</span> 

跨度的innerHTML可以是任何無阻塞html元素。在開放式辦公室XML中,運行標籤之間沒有自然的「內部html」。但我們可能會認爲標籤是SIMILAR,因爲它擁有運行的「內容」。我的問題是,我可以做以下嗎?

<w:r> 
    <w:t> 
     <w:hyperlink r:id="rId4"> 
      <w:r> 
       <w:rPr> 
        <w:rStyle w:val="Hyperlink"/> 
       </w:rPr> 
       <w:t>Google</w:t> 
      </w:r> 
     </w:hyperlink> 
    </w:t> 
</w:r> 

是否會驗證任何「父w:t」元素?

背景:我在這裏的目標實際上是倒退的例子。我最終希望以編程方式更改現有的Word文檔,以便任意選擇的運行被超鏈接「包圍」。

+2

標籤,如' '在[Office Open XML](https://en.wikipedia.org/wiki/Office_Open_XML)中使用,而不在[OpenOffice.org XML](https://en.wikipedia.org/wiki/OpenOffice.org_XML)中使用。 。請修正標題並刪除openoffice.org標記。 –

回答

2

簡短的回答:不,你不能這樣做,你在你的問題發佈什麼,因爲根據的Office Open XML模式,將是無效的。

你需要以插入超鏈接做的是,你需要break up the existing run into multiple runs並在更高層次上添加一個超鏈接元素(和不低於w:t元素):

<w:p> 
    <w:pPr> 
    <w:rPr> 
     <w:lang w:val="en-US" /> 
    </w:rPr> 
    </w:pPr> 
    <w:r> 
    <w:rPr> 
     <w:lang w:val="en-US" /> 
    </w:rPr> 
    <w:t xml:space="preserve">This is a link to the </w:t> 
    </w:r> 
    <w:hyperlink r:id="rId4" 
     xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships"> 
    <w:r> 
     <w:rPr> 
     <w:rStyle w:val="Hyperlink" /> 
     <w:lang w:val="en-US" /> 
     </w:rPr> 
     <w:t>Google</w:t> 
    </w:r> 
    </w:hyperlink> 
    <w:r> 
    <w:rPr> 
     <w:lang w:val="en-US" /> 
    </w:rPr> 
    <w:t xml:space="preserve"> web site.</w:t> 
    </w:r> 
</w:p>