首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用xslt移动XML文件中的元素

用xslt移动XML文件中的元素
EN

Stack Overflow用户
提问于 2014-11-22 22:15:24
回答 1查看 66关注 0票数 0

我有一个像这样的XML文件,

代码语言:javascript
复制
 <XML>
   <article article-type="research">
   <article-meta>
   <abstract>
      <p> lorisum......</p>
   </abstract>
   <abstract abstract-type="summary">
      <p>lorisum summary</p>
   </abstract>
   </article-meta>

   <body>
    <sec>
     <p>
      ......
     </p>
    </sec>
    <sec sec-type="clinical">
     <p> clinical test</p>
    </sec>
    </body>
    </article>
    <XML>

问题是如何将临床sec移到xslt的未类型化摘要中?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-11-22 22:32:25

你可以像这样移动临床秒:

代码语言:javascript
复制
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
  <xsl:output omit-xml-declaration="yes" indent="yes"/>
  <xsl:template match="/">
    <xsl:copy>
      <xsl:apply-templates/>
    </xsl:copy>
  </xsl:template>
  <xsl:template match="@*|node()">
    <xsl:copy>
      <xsl:apply-templates select="@*|node()"/>
    </xsl:copy>
  </xsl:template>
  <xsl:template match="abstract[not(@abstract-type)]">
    <xsl:copy>
      <xsl:apply-templates select="@*|node()"/>
      <xsl:copy-of select="//sec[@sec-type='clinical']"/>
    </xsl:copy>
  </xsl:template>
  <xsl:template match="sec[@sec-type='clinical']"/>
</xsl:stylesheet>

输出:

代码语言:javascript
复制
<XML>
  <article article-type="research">
    <article-meta>
        <abstract>
            <p> lorisum......</p>
            <sec sec-type="clinical">
                <p> clinical test</p>
            </sec>
        </abstract>
        <abstract abstract-type="summary">
            <p>lorisum summary</p>
        </abstract>
    </article-meta>
    <body>
        <sec>
            <p>
                ......
            </p>
        </sec>
    </body>
  </article>
</XML>

模板只复制原始输入XML中的所有内容。匹配sec[@sec-type='clinical']的模板是空的,因此本节将从此副本中删除。与抽象匹配的模板没有抽象类型属性abstract[not(@abstract-type)] -复制抽象并添加sec[@sec-type='clinical']副本。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27083159

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档