我有一套MS Word docx格式的面试成绩单,我想将其转换为我自己的自定义xml架构:
我的文字doc中的一段似乎是这样的:
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中,我希望在所有其他情况下将相邻的w:r元素合并为单个元素。
非常感谢任何帮助。
由于
斯瓦米萨
答案 0 :(得分:1)
您的示例与您的问题不符,但要回答“如何合并相邻元素w / xslt”这一问题,请使用示例w: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" />
您也可以执行此w / xslt2分组操作,如果您的案例比此简单示例更复杂,您可能需要查看这些操作。
答案 1 :(得分:1)
此处为完整代码。感谢MarkLogic Blog!