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

    >> 本版讨论XSL,XSLT,XSL-FO,CSS等技术
    [返回] 中文XML论坛 - 专业的XML技术讨论区XML.ORG.CN讨论区 - XML技术『 XSL/XSLT/XSL-FO/CSS 』 → 表单问题 查看新帖用户列表

      发表一个新主题  发表一个新投票  回复主题  (订阅本版) 您是本帖的第 4123 个阅读者浏览上一篇主题  刷新本主题   树形显示贴子 浏览下一篇主题
     * 贴子主题: 表单问题 举报  打印  推荐  IE收藏夹 
       本主题类别:     
     jiaoyu 美女呀,离线,快来找我吧!
      
      
      等级:大二期末(汇编考了97分!)
      文章:80
      积分:374
      门派:XML.ORG.CN
      注册:2007/6/8

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给jiaoyu发送一个短消息 把jiaoyu加入好友 查看jiaoyu的个人资料 搜索jiaoyu在『 XSL/XSLT/XSL-FO/CSS 』的所有贴子 引用回复这个贴子 回复这个贴子 查看jiaoyu的博客楼主
    发贴心情 表单问题

    大家好.那个高手帮我看看这个问题.

    xml文档:

    <?xml version="1.0"?>
    <?xml-stylesheet type="text/xsl" href ="form1.xsl"?>
    <survey>
      <q-section>
         <query id="1" index="role" controlType="listbox">
            <text>哪个是你最爱吃的水果?</text>
            <value>2</value>
         </query>   
         <query id="2" index="uses" controlType="checkbox">
             <text>你最想做的事情是什么?</text>
             <value>1</value>
             <value>3</value>
          </query>   
          <query id="3" index="software" controlType="checkbox">
             <text>你最喜欢的动物是什么?</text>
          </query>
      </q-section>
      <a-section>
             <list index="role">
                <option id="1" name="苹果" />
                <option id="2" name="香蕉" />
                <option id="3" name="桔子" />
                <option id="4" name="樱桃" />
                <option id="5" name="核桃" />
                <option id="6" name="其它" />
             </list>
             <list index="uses">
                <option id="1" name="环游世界" />
                <option id="2" name="登山" />
                <option id="3" name="跳水" />
                <option id="4" name="其它" />
             </list>
             <list index="software">
                <option id="1" name="小狗" />
                <option id="2" name="小猫" />
                <option id="3" name="兔子" />
                <option id="4" name="其它" />
             </list>
       </a-section>
           </survey>

    xslt样式表:

    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
      <xsl:key name="lists" match="//list" use="attribute::index" />
      <xsl:output method="html" encoding="utf-8" doctype-public="-//W3C//DTD HTML 4.0 Transitional//EN" />
      <!-- xsl:output 是最高级元素,所以它具有全局作用域-->
      <!--xml分析程序被要求来支持2种编码方式,UTF-8,UTF-16,它们都是Unicode格式-->
      <!--indent是否缩进,值为YES时,就是要缩进-->
      <!--media-type指定结果树的媒体类型,如果输出方式是HTML,则要指出HTML的格式,如果是XML,则设version="1.0"-->
      
      <xsl:template match="/">
        <html>
        <head>
        <title>Form Controls</title>
        
        </head>
        <body>
        <form>
          <xsl:apply-templates select="survey/q-section/query" />
        </form>  
        </body>
      </html>  
    </xsl:template>
    <xsl:template match="query">
    <p>
    <xsl:value-of select="child::text/text()" />  <!--选择当前节点text的子元素的text文本-->
    <xsl:apply-templates select="key('lists',@index)">
    <xsl:with-param name="selected-values" select="value" />
    <xsl:with-param name="controlType" select="@controlType" />
    <xsl:with-param name="question_id" select="concat('question_',@id)" />
    <!--concat用于返回所有变元的拼接,将把字符串名question_添加到id属性求值所得字符串的起始处-->
    </xsl:apply-templates>
    </p>
    </xsl:template>
    <xsl:template match="list">
    <xsl:param name="selected-values" />
    <xsl:param name="controlType">listbox</xsl:param>
    <xsl:param name="question_id" />
    <xsl:if test="$controlType='checkbox'">
    <xsl:for-each select="option">
    <br />
    <input type="checkbox">  <!-- 给选择题前面加上小框-->
    <xsl:attribute name="name">
    <xsl:value-of select="$question_id" />
    </xsl:attribute>
    <xsl:if test="$selected-values/text() = attribute::id">
    <xsl:attribute name="check" />
    </xsl:if>
    </input>
    <xsl:value-of select="@name" />
    </xsl:for-each>
    </xsl:if>
    <xsl:if test="$controlType='listbox'">
    <p>
    <select>
       <xsl:attribute name="name">
       <xsl:value-of select="$question_id" />
       </xsl:attribute>
       <xsl:for-each select="option">
       <option>
       <xsl:if test="$selected-values/text() = attribute::id">
       <xsl:attribute name="selected" />
       </xsl:if>
       <xsl:attribute name="value">
       <xsl:value-of select="@id" />
       </xsl:attribute>
       <xsl:value-of select="@name" />
       </option>
       </xsl:for-each>
       </select>
       </p>
       </xsl:if>
       </xsl:template>
       </xsl:stylesheet>
    这两文件是怎么联系起来的,帮我解释解释了.都快急疯了!!!!!!!!!!!


       收藏   分享  
    顶(0)
      




    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2007/6/8 11:34:00
     
     Qr 帅哥哟,离线,有人找我吗?
      
      
      威望:9
      等级:博士二年级(版主)
      文章:4392
      积分:29981
      门派:XML.ORG.CN
      注册:2004/5/15

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给Qr发送一个短消息 把Qr加入好友 查看Qr的个人资料 搜索Qr在『 XSL/XSLT/XSL-FO/CSS 』的所有贴子 访问Qr的主页 引用回复这个贴子 回复这个贴子 查看Qr的博客2
    发贴心情 
    以下是引用jiaoyu在2007-6-8 11:34:00的发言:
    这两文件是怎么联系起来的,


    什么意思?
    <?xml version="1.0"?>
    <?xml-stylesheet type="text/xsl" href ="form1.xsl"?><!--这行处理指令不是已经将二者关联起来了吗?-->
    在IE中浏览XML就看到结果了,不过XSL似乎少了<?xml version="1.0"?>。

    ----------------------------------------------
    没人帮忙,那就靠自己,自己才是最好的老师!本人拒绝回答通过站内短消息提出的问题!

    blog:http://Qr.blogger.org.cn

    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2007/6/8 13:18:00
     
     jiaoyu 美女呀,离线,快来找我吧!
      
      
      等级:大二期末(汇编考了97分!)
      文章:80
      积分:374
      门派:XML.ORG.CN
      注册:2007/6/8

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给jiaoyu发送一个短消息 把jiaoyu加入好友 查看jiaoyu的个人资料 搜索jiaoyu在『 XSL/XSLT/XSL-FO/CSS 』的所有贴子 引用回复这个贴子 回复这个贴子 查看jiaoyu的博客3
    发贴心情 
    对,谢谢您的回答!!!

    可能是我表达的不够清楚.
    <form>
          <xsl:apply-templates select="survey/q-section/query" />
    </form>

    这段的意思是什么?

    他怎么在IE里面有了select的功能呢?

    能帮我分析一下XSL,我不是很清楚他们之间的转换.

    谢谢!!!!!!!!!!

    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2007/6/8 13:36:00
     
     jiaoyu 美女呀,离线,快来找我吧!
      
      
      等级:大二期末(汇编考了97分!)
      文章:80
      积分:374
      门派:XML.ORG.CN
      注册:2007/6/8

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给jiaoyu发送一个短消息 把jiaoyu加入好友 查看jiaoyu的个人资料 搜索jiaoyu在『 XSL/XSLT/XSL-FO/CSS 』的所有贴子 引用回复这个贴子 回复这个贴子 查看jiaoyu的博客4
    发贴心情 
    您好!!

    您可以用QQ和我聊聊吗?我将不盛感激!!!

    我的号是84674824

    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2007/6/8 13:40:00
     
     Qr 帅哥哟,离线,有人找我吗?
      
      
      威望:9
      等级:博士二年级(版主)
      文章:4392
      积分:29981
      门派:XML.ORG.CN
      注册:2004/5/15

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给Qr发送一个短消息 把Qr加入好友 查看Qr的个人资料 搜索Qr在『 XSL/XSLT/XSL-FO/CSS 』的所有贴子 访问Qr的主页 引用回复这个贴子 回复这个贴子 查看Qr的博客5
    发贴心情 
    <xsl:apply-templates> 元素
    --------------------------------------------------------------------------------
    定义与用法
    <xsl:apply-templates>元素将模版运用到当前元素或者是当前元素的子节点。
    如果我们在<xsl:apply-templates>元素中增加一个select 属性,它将只对与属性匹配的子元素
    有效。我们可以用select 属性来指定要处理的子节点。
    --------------------------------------------------------------------------------
    语法
    <xsl:apply-templates select="expression" mode="name">
    <!-- Content:(xsl:sort|xsl:with-param)* -->
    </xsl:apply-templates>
    属性
    属性       值              说明
    select   expression    select 表达式是可选的用于指定要处理的节点。一个星号*选择
    了全部的节点集。如果属性省略了,那么所有的子节点都将被选
    择。
    mode    name         mode 也是可选的,如果对一个相同的元素有很多定义,那么用
    mode 可以区分他们。

    ----------------------------------------------
    没人帮忙,那就靠自己,自己才是最好的老师!本人拒绝回答通过站内短消息提出的问题!

    blog:http://Qr.blogger.org.cn

    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2007/6/8 15:39:00
     
     jiaoyu 美女呀,离线,快来找我吧!
      
      
      等级:大二期末(汇编考了97分!)
      文章:80
      积分:374
      门派:XML.ORG.CN
      注册:2007/6/8

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给jiaoyu发送一个短消息 把jiaoyu加入好友 查看jiaoyu的个人资料 搜索jiaoyu在『 XSL/XSLT/XSL-FO/CSS 』的所有贴子 引用回复这个贴子 回复这个贴子 查看jiaoyu的博客6
    发贴心情 
    谢谢!!
         问题我已经搞定了!!非常感谢!!
    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2007/6/11 9:34:00
     
     GoogleAdSense
      
      
      等级:大一新生
      文章:1
      积分:50
      门派:无门无派
      院校:未填写
      注册:2007-01-01
    给Google AdSense发送一个短消息 把Google AdSense加入好友 查看Google AdSense的个人资料 搜索Google AdSense在『 XSL/XSLT/XSL-FO/CSS 』的所有贴子 访问Google AdSense的主页 引用回复这个贴子 回复这个贴子 查看Google AdSense的博客广告
    2025/9/24 13:17:59

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

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