新书推介:《语义网技术体系》
作者:瞿裕忠,胡伟,程龚
   >>中国XML论坛<<     W3CHINA.ORG讨论区     计算机科学论坛     SOAChina论坛     Blog     开放翻译计划     新浪微博  
 
  • 首页
  • 登录
  • 注册
  • 软件下载
  • 资料下载
  • 核心成员
  • 帮助
  •   Add to Google

    >> 关于 XML 的一般性技术讨论,提供 XML入门资料 和 XML教程
    [返回] 中文XML论坛 - 专业的XML技术讨论区XML.ORG.CN讨论区 - XML技术『 XML基础 』 → [求助]怎么样在XML文件中存放图片?请大虾指点指点!! 查看新帖用户列表

      发表一个新主题  发表一个新投票  回复主题  (订阅本版) 您是本帖的第 12033 个阅读者浏览上一篇主题  刷新本主题   树形显示贴子 浏览下一篇主题
     * 贴子主题: [求助]怎么样在XML文件中存放图片?请大虾指点指点!! 举报  打印  推荐  IE收藏夹 
       本主题类别:     
     lqs820130 帅哥哟,离线,有人找我吗?
      
      
      等级:大一(高数修炼中)
      文章:22
      积分:130
      门派:XML.ORG.CN
      注册:2004/3/26

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给lqs820130发送一个短消息 把lqs820130加入好友 查看lqs820130的个人资料 搜索lqs820130在『 XML基础 』的所有贴子 引用回复这个贴子 回复这个贴子 查看lqs820130的博客楼主
    发贴心情 [求助]怎么样在XML文件中存放图片?请大虾指点指点!!

    最近在看《XMLT从入门到精通》(中国铁路出版社)的这本书时看到一个展示图片的例子。
    一、源文件
       图片.XML:
      <?xml version="1.0" encoding="gb2312"?>
    <?xml-stylesheet type="text/xsl" href="图文.xsl"?>
    <story>
    <description>这是第一段文字</description>
    <image>image1.jpg</image>
    <description>这是第二段文字</description>
    <image>image2.jpg</image>
    <description>这是第三段文字</description>
    <image>image3.jpg</image>
    <description>这是第四段文字</description>
    <image>image4.jpg</image>
    <description>这是第五段文字</description>
    <image>image5.jpg</image>
    <description>这是第六段文字</description>
    <image>image6.jpg</image>
    </story>

    XSLT文件:
    图片.XSL:
      <?xml version="1.0" encoding="GB2312"?>
    <xsl:stylesheet
     version="1.0"
     xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
     xmlns="http://www.w3.org/TR/REC-html40">
    <xsl:output method="html" indent="yes" encoding="GB2312" />

    <xsl:variable name="images" select="/story/image" />

    <xsl:template match="story">
    <html>
      <head><title>图文</title></head>
      <body>
        <table border="2" bordercolor="black">
          <xsl:apply-templates select="description" />
        </table>
      </body>
    </html>
    </xsl:template>

    <xsl:template match="description">
      <xsl:variable name="position" select="position()" />
      <xsl:variable name="image" select="$image[$position]" />
        <xsl:choose>
           <xsl:when test="$position mod 2 =1 ">
              <tr>
                 <td><img scr="{$image}" /></td>
                 <td bgcolor="#eeeeee"><xsl:value-of select="." /></td>
              </tr>
           </xsl:when>
           <xsl:otherwise>
              <tr>
                <td bgcolor="#eeeeee"><xsl:value-of select="." /></td>
                <td><img scr="{$image}" /></td>
              </tr>
           </xsl:otherwise>
        </xsl:choose>
    </xsl:template>
    </xsl:stylesheet>

    出来了这个问题:无法解析到变量或参数 'image'的引用。变量或参数可能没有被定义,或它可能不在范围内。
    这个XML文件到底怎么改哦,麻烦高手指点一下。谢谢


       收藏   分享  
    顶(0)
      




    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2004/5/10 16:49:00
     
     forwar 帅哥哟,离线,有人找我吗?水瓶座1982-1-28
      
      
      威望:4
      等级:大三暑假(TOFEL考了650分!)
      文章:171
      积分:869
      门派:XML.ORG.CN
      注册:2004/3/2

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给forwar发送一个短消息 把forwar加入好友 查看forwar的个人资料 搜索forwar在『 XML基础 』的所有贴子 引用回复这个贴子 回复这个贴子 查看forwar的博客2
    发贴心情 
    1.文件名“图文.xsl”是中文的,会不会出问题?
    2.有没有出现:“无法解析到变量或参数 'story'的引用。变量或参数可能没有被定义,或它可能不在范围内” 这种情况?如果没有说明可以解析story,那么说明xsl文件已经可以被xml文件调用,但是'image'有问题,
    <xsl:variable name="images" select="/story/image" />    name="images" 而xml里是<image>问题会不会出在这上面?
    3.图片是不是放在/story/image/下?

    这是我感觉出问题的地方,不知对不对,如果说的不对也不要b4我啊!大家探讨一下。

    ----------------------------------------------
    >>>>>>>>    ^o^   <<<<<<<<

    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2004/5/10 17:56:00
     
     jwings 帅哥哟,离线,有人找我吗?
      
      
      等级:大二(研究汇编)
      文章:30
      积分:217
      注册:2003/12/31

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给jwings发送一个短消息 把jwings加入好友 查看jwings的个人资料 搜索jwings在『 XML基础 』的所有贴子 引用回复这个贴子 回复这个贴子 查看jwings的博客3
    发贴心情 
    如下是我修改你原文件的文件,错误只是没有统一,要么使用images,要么使用image,特别是xsl里面$image[$position],一定要小心
    photo.xml
    <?xml version="1.0" encoding="gb2312"?>
    <?xml-stylesheet type="text/xsl" href="photo.xsl"?>
    <story>
     <description>这是第一段文字</description>
     <images>images1.jpg</images>
     <description>这是第二段文字</description>
     <images>images2.jpg</images>
     <description>这是第三段文字</description>
     <images>images3.jpg</images>
     <description>这是第四段文字</description>
     <images>images4.jpg</images>
     <description>这是第五段文字</description>
     <images>images5.jpg</images>
     <description>这是第六段文字</description>
     <images>images6.jpg</images>
    </story>
    photo.xsl
    <?xml version="1.0" encoding="GB2312"?>
    <xsl:stylesheet
    version="1.0"
    xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
    xmlns="http://www.w3.org/TR/REC-html40">
    <xsl:output method="html" indent="yes" encoding="GB2312" />

    <xsl:variable name="images" select="/story/images" />

    <xsl:template match="story">
    <html>
      <head><title>图文</title></head>
      <body>
        <table border="2" bordercolor="black">
          <xsl:apply-templates select="description" />
        </table>
      </body>
    </html>
    </xsl:template>

    <xsl:template match="description">
      <xsl:variable name="position" select="position()" />
      <xsl:variable name="images" select="$images[$position]" />
        <xsl:choose>
           <xsl:when test="$position mod 2 =1 ">
              <tr>
                 <td><img scr="{$images}" /></td>
                 <td bgcolor="#eeeeee"><xsl:value-of select="." /></td>
              </tr>
           </xsl:when>
           <xsl:otherwise>
              <tr>
                <td bgcolor="#eeeeee"><xsl:value-of select="." /></td>
                <td><img scr="{$images}" /></td>
              </tr>
           </xsl:otherwise>
        </xsl:choose>
    </xsl:template>
    </xsl:stylesheet>
    可以显示,只要有图片的话。^_^

    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2004/5/10 23:12:00
     
     lqs820130 帅哥哟,离线,有人找我吗?
      
      
      等级:大一(高数修炼中)
      文章:22
      积分:130
      门派:XML.ORG.CN
      注册:2004/3/26

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给lqs820130发送一个短消息 把lqs820130加入好友 查看lqs820130的个人资料 搜索lqs820130在『 XML基础 』的所有贴子 引用回复这个贴子 回复这个贴子 查看lqs820130的博客4
    发贴心情 
    按照jwings大哥帮忙改的,页面总算可以显示了,但是图片部分的图片还是没给显示出来,后来我在论坛中找到一个关于XML做的菜单的例子找到了需要更改的方法,只需要改动XSL文件,改后如下:
    <?xml version="1.0" encoding="GB2312"?>
    <xsl:stylesheet
    version="1.0"
    xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
    xmlns="http://www.w3.org/TR/REC-html40">
    <xsl:output method="html" indent="yes" encoding="GB2312" />

    <xsl:variable name="images" select="/story/images" />

    <xsl:template match="story">
    <html>
      <head><title>图文</title></head>
      <body>
        <table border="2" bordercolor="black">
          <xsl:apply-templates select="description" />
        </table>
      </body>
    </html>
    </xsl:template>

    <xsl:template match="description">
      <xsl:variable name="position" select="position()" />
      <xsl:variable name="images" select="$images[$position]" />
        <xsl:choose>
           <xsl:when test="$position mod 2 =1 ">
              <tr>
                 <td valign="middle"><img border="0" width="300" height="240">
                <xsl:attribute name="SRC">
                  <xsl:value-of select="$images"/>
                </xsl:attribute></img></td>
                 <td bgcolor="#eeeeee"><xsl:value-of select="." /></td>
              </tr>
           </xsl:when>
           <xsl:otherwise>
              <tr>
                <td bgcolor="#eeeeee"><xsl:value-of select="." /></td>
                <td valign="middle"><img border="0" width="300" height="240">
                <xsl:attribute name="SRC">
                  <xsl:value-of select="$images"/>
                </xsl:attribute></img></td>
              </tr>
           </xsl:otherwise>
        </xsl:choose>
    </xsl:template>
    </xsl:stylesheet>

    发上来仅仅给其他还不会整图片的新人一点点帮助,更jwings大哥改的那个XSL只在
    "><img border="0" width="300" height="240">
                <xsl:attribute name="SRC">
                  <xsl:value-of select="$images"/>
                </xsl:attribute></img>
    这一块不同,同样的在页面中添加视频也一样的~

    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2004/5/13 15:31:00
     
     jwings 帅哥哟,离线,有人找我吗?
      
      
      等级:大二(研究汇编)
      文章:30
      积分:217
      注册:2003/12/31

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给jwings发送一个短消息 把jwings加入好友 查看jwings的个人资料 搜索jwings在『 XML基础 』的所有贴子 引用回复这个贴子 回复这个贴子 查看jwings的博客5
    发贴心情 
    呵呵,我只是菜鸟一只,怪不好意思的。大家共同努力努力
    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2004/5/13 18:01:00
     
     caitijian 美女呀,离线,快来找我吧!
      
      
      等级:大一新生
      文章:3
      积分:65
      门派:XML.ORG.CN
      注册:2006/2/16

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给caitijian发送一个短消息 把caitijian加入好友 查看caitijian的个人资料 搜索caitijian在『 XML基础 』的所有贴子 引用回复这个贴子 回复这个贴子 查看caitijian的博客6
    发贴心情 
    <tr>
                 <td><img scr="{$images}" /></td>
                 <td bgcolor="#eeeeee"><xsl:value-of select="." /></td>
              </tr>
    将以上的代码修改为:
    <tr>
                 <td><img SRC="{$images}" /></td>
                 <td bgcolor="#eeeeee"><xsl:value-of select="." /></td>
              </tr>
    才能显示,注意不是scr而是大写的SRC.
    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2006/2/16 15:06:00
     
     gjcn 帅哥哟,离线,有人找我吗?
      
      
      等级:大一(高数修炼中)
      文章:8
      积分:120
      门派:XML.ORG.CN
      注册:2006/1/12

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给gjcn发送一个短消息 把gjcn加入好友 查看gjcn的个人资料 搜索gjcn在『 XML基础 』的所有贴子 引用回复这个贴子 回复这个贴子 查看gjcn的博客7
    发贴心情 
    大家看看還需要什麼或者還要問什麼?
    我看我有沒有或知道的,謝謝!
    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2006/2/18 12:27:00
     
     GoogleAdSense
      
      
      等级:大一新生
      文章:1
      积分:50
      门派:无门无派
      院校:未填写
      注册:2007-01-01
    给Google AdSense发送一个短消息 把Google AdSense加入好友 查看Google AdSense的个人资料 搜索Google AdSense在『 XML基础 』的所有贴子 访问Google AdSense的主页 引用回复这个贴子 回复这个贴子 查看Google AdSense的博客广告
    2024/5/2 9:39:31

    本主题贴数7,分页: [1]

    管理选项修改tag | 锁定 | 解锁 | 提升 | 删除 | 移动 | 固顶 | 总固顶 | 奖励 | 惩罚 | 发布公告
    W3C Contributing Supporter! W 3 C h i n a ( since 2003 ) 旗 下 站 点
    苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
    109.375ms