2011-08-29 73 views
0

我有一組在MS Word的docx格式的訪談記錄,我要轉換爲自己的自定義XML模式:XSLT上的docx用於合併相鄰元素

在我的Word文檔的段落是這樣的:

Jon:這是我的採訪。 現在我正在大喊現在我又正常說話了。

,並在我的自定義模式應該是這樣的:

<para speaker="jon"> 
    <content>This is my interview.</content> 
    <content emphasis="true">Now I am shouting!</content> 
    <content>Now I am speaking normally again.</content> 
</para> 

在DOCX XML,我想相鄰寬:r個元素在所有其他情況下被合併成一個單一的元素。

任何幫助將不勝感激。

感謝

斯瓦米

回答

0

您的例子並不真正符合您的問題,但回答這個問題:「如何合併相鄰元素瓦特/ XSLT」,使用例如寬:R,並假設「W」命名空間前綴範圍已經聲明:

<xsl:template match="w:r[1]"> 
    <w:r> 
    <xsl:copy-of select="@*|node()" /> 
    <xsl:copy-of select="following-sibling::w:r/node()" /> 
    <!-- assuming you don't care about attributes on adjacent w:r elements --> 
    </w:r> 
</xsl:template> 

<xsl:template match="w:r" /> 

你也可以做到這一點瓦特/ xslt2分組操作,您可能想看看如果你的情況比這個簡單的例子更加複雜。