docx 上的 XSLT 用于合并相邻元素
我有一组 MS Word docx 格式的采访记录,我想将其转换为我自己的自定义 xml 模式:
我的 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 中,我希望在所有其他情况下将相邻的 w:r 元素合并到单个元素中。
任何帮助将不胜感激。
谢谢斯瓦米
I have a set of interview transcripts in MS Word docx format, which I want to convert to my own custom xml schema:
A paragraph in my word doc looks like this:
Jon: This is my interview. Now I am shouting Now I am speaking normally again.
and in my custom schema should look like this:
<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>
In the docx xml, I want adjacent w:r elements to be merged into a single element in all other cases.
Any help would be much appreciated.
Thanks
Swami
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您的示例与您的问题并不真正匹配,但要回答“如何合并相邻元素 w/xslt”的问题,请使用您的示例 w:r,并假设“w”命名空间前缀已在范围中声明:
您还可以使用 xslt2 分组操作执行此操作,如果您的情况比这个简单的示例更复杂,您可能需要研究一下。
Your example doesn't really match your question, but to answer the question "how to merge adjacent elements w/xslt", using your example w:r, and assuming the "w" namespace prefix is already declared in scope:
You can also do this w/xslt2 grouping operations, which you might want to look into if your case is more complex than this simple example.
完整代码在这里。感谢 MarkLogic 博客!
http://www.xqzone.com/blog/smallchanges/2007-12-18
Full code here. Thanks to MarkLogic Blog!
http://www.xqzone.com/blog/smallchanges/2007-12-18