【发布时间】:2011-05-31 17:15:40
【问题描述】:
我在使用 xsl 将 xml 转换为 xml 时遇到问题。我发现问题出在哪里,但仍然不知道如何解决它。
<?xml version="1.0" encoding="UTF-8"?>
<tells uri="" xmlns="http://dl.kr.org/dig/2003/02/lang">
<impliesc>
<catom name="name1"/>
<catom name="name2"/>
</impliesc>
<impliesc>
<catom name="name3"/>
<catom name="name4"/>
</impliesc>
</tells>
我认为问题出在这一行
<tells uri="" xmlns="http://dl.kr.org/dig/2003/02/lang">
如果我删除 "uri="" xmlns="http://dl.kr.org/dig/2003/02/lang"" 并只留下
"<tells>"
一切都很完美。但是有没有办法在不移除的情况下对其进行改造?
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" version="1.0" encoding="utf-8" indent="yes"/>
<xsl:template match="/">
<xsl:element name="tells">
<xsl:for-each select="./tells/impliesc">
<xsl:element name="impliesc">
<xsl:for-each select="./tells/impliesc/catom">
<xsl:element name="catom">
<xsl:attribute name="name">
<xsl:value-of select="./tells/impliesc/individual/@name"/>
</xsl:attribute>
</xsl:element>
</xsl:for-each>
</xsl:element>
</xsl:for-each>
</xsl:element>
</xsl:template>
</xsl:stylesheet>
【问题讨论】:
-
你能展示一下你的变换吗?
-
您可以发布您的 XSLT 工作表来帮助我们找到问题。