以文本方式查看主题

-  中文XML论坛 - 专业的XML技术讨论区  (http://bbs.xml.org.cn/index.asp)
--  『 XSL/XSLT/XSL-FO/CSS 』  (http://bbs.xml.org.cn/list.asp?boardid=8)
----  [求助]xml 转换为 xml  (http://bbs.xml.org.cn/dispbbs.asp?boardid=8&rootid=&id=7599)


--  作者:yf2000
--  发布时间:5/17/2004 3:18:00 PM

--  [求助]xml 转换为 xml
如何把一个 xml 文档转换为另外格式的 xml 文档,能给个例子吗?谢谢了!
--  作者:宇宙人
--  发布时间:5/18/2004 2:39:00 PM

--  
说的明白点,好吗?
--  作者:yf2000
--  发布时间:5/18/2004 3:08:00 PM

--  
sports.xml:

<?xml version="1.0" encoding="UTF-8"?>
<!-- Sports.xml   -->
<sports>
     <game title="cricket">
         <id>243</id>
            <paragraph>
                    I don't know this game.
             </paragraph>
     </game>
     <game title="baseball">
         <id>431</id>
         <paragraph>
                More popular in America.
          </paragraph>
      </game>
      <game title="soccer">
           <id>123</id>
           <paragraph>
                Most popular sport in the world.
           </paragraph>
       </game>
</sports>

即如何把 sports.xml 通过 xsl  转换为  game.xml:

gamesxml:

<?xml version="1.0" encoding="UTF-8"?>

<games>
    <cricket  id="243">
        <comment>
 I don't known this game.
        </comment>
    </cricket>
     <baseball  id="431">
         <comment>
 More popular in America.
          </comment>
    </baseball>
    <soccer  id="123">
        <comment>
            Most popuplar sport in the world.
        </comment>
    </soccer>

</games>


那么, ***.xsl 的内容应该是怎样的呢?


--  作者:andycpp
--  发布时间:5/19/2004 12:32:00 AM

--  
<?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" indent="yes" version="1.0" encoding="UTF-8"/>
<xsl:template match='/'>
<games>
   <xsl:for-each select="sports/game">
      <xsl:element name="{@title}">
         <xsl:attribute name="id">
            <xsl:value-of select="id"/>
         </xsl:attribute>
         <xsl:element name="comment">
            <xsl:value-of select="paragraph"/>
         </xsl:element>
      </xsl:element>
   </xsl:for-each>
</games>
</xsl:template>
</xsl:stylesheet>
--  作者:yf2000
--  发布时间:5/20/2004 3:15:00 PM

--  
<?xml version="1.0" encoding="UTF-8"?>

<!-- 是在此处添加样式表吗: games.xsl  -->
<?xml-stylesheet type="text/xsl"  href="games.xsl"?>

<!-- games.xml -->
<sports>
   <game title="cricket">
      <id>243</id>
      <paragraph>
         More popular among commonwealth nations.
      </paragraph>
   </game>
   <game title="baseball">
      <id>431</id>
      <paragraph>
         More popular in America.
      </paragraph>
   </game>
   <game title="soccer">
      <id>123</id>
      <paragraph>
         Most popular sport in the world.
      </paragraph>
   </game>
</sports>

如果是这样的话,我用xmlspy2004,仍然不能把sports.xml 通过games.xsl 转化为games.xml。
另外用IE还是不能显示,一片空白,什么也没有,也没报错!不知道什么原因?
是不是我的思路有问题,或者xml 不能通过xsl 转化为另一结构的xml?
如果要转化,有其他的思路吗:如dom ?


W 3 C h i n a ( since 2003 ) 旗 下 站 点
苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
62.500ms