以文本方式查看主题

-  中文XML论坛 - 专业的XML技术讨论区  (http://bbs.xml.org.cn/index.asp)
--  『 XSL/XSLT/XSL-FO/CSS 』  (http://bbs.xml.org.cn/list.asp?boardid=8)
----  急切的请求大家帮忙了!!!XSLT显示的内容不正确呀!!!  (http://bbs.xml.org.cn/dispbbs.asp?boardid=8&rootid=&id=49192)


--  作者:jiaoyu
--  发布时间:6/29/2007 12:01:00 PM

--  急切的请求大家帮忙了!!!XSLT显示的内容不正确呀!!!
xml文件:
  <?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="CDriver1.xsl"?>
<BISObject>
 <PropList>
    <Prop>
  <OBJ_ID> CDriver.OBJ_ID </OBJ_ID>
  <OBJ_NAME> OBJ_ID </OBJ_NAME>
  <UI_TYPE> 113 </UI_TYPE>
  <PROP_NULL_ALLOWANCE> 1</ ROP_NULL_ALLOWANCE>
           <CandidatedValue>
   <C_DISP_VALUE>空闲</C_DISP_VALUE>
          </CandidatedValue>
          <CandidatedValue>
                  <C_DISP_VALUE>工作</C_DISP_VALUE>
           </CandidatedValue>
           <CandidatedValue>
                  <C_DISP_VALUE>异常</C_DISP_VALUE>
            </CandidatedValue>
  </Prop>
  <Prop>
       <OBJ_ID>  CDriver.OBJ_NAME </OBJ_ID>
       <OBJ_NAME> OBJ_NAME </OBJ_NAME>
       <UI_TYPE> 100 </UI_TYPE>
  <PROP_NULL_ALLOWANCE> 0 PROP_NULL_ALLOWANCE>
  </Prop>
  <Prop>
       <OBJ_ID> CDriver.DRIVER_LISENCE </OBJ_ID>
       <OBJ_NAME> DRIVER_LISENCE </OBJ_NAME>
       <UI_TYPE> 110 </UI_TYPE>
   <PROP_NULL_ALLOWANCE> 1 </PROP_NULL_ALLOWANCE>
        <CandidatedValue>
   <C_DISP_VALUE>空闲</C_DISP_VALUE>
        </CandidatedValue>
        <CandidatedValue>
   <C_DISP_VALUE>工作</C_DISP_VALUE>
        </CandidatedValue>
        <CandidatedValue>
                  <C_DISP_VALUE>异常</C_DISP_VALUE>
        </CandidatedValue>
  </Prop>
  <Prop>
       <OBJ_ID> CDriver.SEX </OBJ_ID>
       <OBJ_NAME> SEX </OBJ_NAME>
       <UI_TYPE> 113 </UI_TYPE>
   <PROP_NULL_ALLOWANCE> 1 </PROP_NULL_ALLOWANCE>
          <CandidatedValue>
   <C_DISP_VALUE>男</C_DISP_VALUE>
         </CandidatedValue>
         <CandidatedValue>
   <C_DISP_VALUE>女</C_DISP_VALUE>
         </CandidatedValue>
     
  </Prop>
  <Prop>
       <OBJ_ID> CDriver.NATIVE  </OBJ_ID>
       <OBJ_NAME> NATIVE </OBJ_NAME>
       <UI_TYPE> 100 </UI_TYPE>
   <PROP_NULL_ALLOWANCE> 1 </PROP_NULL_ALLOWANCE>
  </Prop>
  <Prop>
       <OBJ_ID> CDriver.BIRTHDAY </OBJ_ID>
       <OBJ_NAME> BIRTHDAY </OBJ_NAME>
       <UI_TYPE> 100 </UI_TYPE>
                 <PROP_NULL_ALLOWANCE> 1 </PROP_NULL_ALLOWANCE>
  </Prop>
  <Prop>
       <OBJ_ID> CDriver.ID_NUMBER </OBJ_ID>
       <OBJ_NAME> ID_NUMBER </OBJ_NAME>
       <UI_TYPE> 100 </UI_TYPE>
  <PROP_NULL_ALLOWANCE> 1 </PROP_NULL_ALLOWANCE>
  </Prop>
  <Prop>
       <OBJ_ID> CDriver.MOBILER </OBJ_ID>
       <OBJ_NAME> MOBILER </OBJ_NAME>
       <UI_TYPE> 112 </UI_TYPE>
                  <PROP_NULL_ALLOWANCE> 1 </PROP_NULL_ALLOWANCE>
       <CandidatedValue>
   <C_DISP_VALUE>看书</C_DISP_VALUE>
    </CandidatedValue>
    <CandidatedValue>
   <C_DISP_VALUE>听音乐</C_DISP_VALUE>
    </CandidatedValue>
    <CandidatedValue>
   <C_DISP_VALUE>跳舞</C_DISP_VALUE>
    </CandidatedValue>
  </Prop>
  <Prop>
       <OBJ_ID>  CDriver.TRACKER  </OBJ_ID>
       <OBJ_NAME> TRACKER </OBJ_NAME>
       <UI_TYPE> 114 </UI_TYPE>
  <PROP_NULL_ALLOWANCE> 0 </PROP_NULL_ALLOWANCE>
  </Prop>
  <Prop>
       <OBJ_ID> CDriver.PHONE </OBJ_ID>
       <OBJ_NAME> PHONE </OBJ_NAME>
       <UI_TYPE> 143 </UI_TYPE>
   <PROP_NULL_ALLOWANCE> 1 </PROP_NULL_ALLOWANCE>
  </Prop>
  <Prop>
       <OBJ_ID> CDriver.ADDRESS </OBJ_ID>
       <OBJ_NAME> ADDRESS </OBJ_NAME>
       <UI_TYPE> 100 </UI_TYPE>
                     <PROP_NULL_ALLOWANCE> 1 </PROP_NULL_ALLOWANCE>
  </Prop>
  <Prop>
       <OBJ_ID> CDriver.LISENCE_DATE </OBJ_ID>
       <OBJ_NAME> LISENCE_DATE </OBJ_NAME>
       <UI_TYPE> 115 </UI_TYPE>
   <PROP_NULL_ALLOWANCE> 1 </PROP_NULL_ALLOWANCE>
  </Prop>
  <Prop>
       <OBJ_ID> CDriver.LISENCE_TYPE </OBJ_ID>
       <OBJ_NAME> LISENCE_TYPE </OBJ_NAME>
       <UI_TYPE> 100 </UI_TYPE>
   <PROP_NULL_ALLOWANCE> 1 </PROP_NULL_ALLOWANCE>
  </Prop><Prop>
       <OBJ_ID> CDriver.ISEMPLOYEE </OBJ_ID>
       <OBJ_NAME> ISEMPLOYEE </OBJ_NAME>
       <UI_TYPE> 100 </UI_TYPE>
                                <PROP_NULL_ALLOWANCE> 1 </PROP_NULL_ALLOWANCE>
  </Prop><Prop>
       <OBJ_ID> CDriver.TRUCK_NO </OBJ_ID>
       <OBJ_NAME> TRUCK_NO </OBJ_NAME>
       <UI_TYPE> 100 </UI_TYPE>
   <PROP_NULL_ALLOWANCE> 1 </PROP_NULL_ALLOWANCE>
  </Prop>
 </PropList>
</BISObject>

xslt文件:
 <?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

 <xsl:template match="/">
 <table width="100%">
 <tr><td align="center">
  <table>
  <form id="newObject" name="newObject">
  <tr>
   <td align="center"><font align="center"><span id="strFormTitle">CDriver</span></font></td></tr>
  <tr>
   <td>
    <table border="1" align="center">
     <xsl:for-each select="//PropList/Prop">
     <xsl:variable name="index" select="position()"/>
     <xsl:if test="($index+2) mod 3=0 and UI_TYPE!=143">
     <xsl:text disable-output-escaping="yes">
     &lt;tr&gt;
     </xsl:text>
     </xsl:if>
             <xsl:call-template name="table_draw"/>
     <xsl:if test="$index mod 3=0">
      <xsl:text disable-output-escaping="yes">
     &lt;/tr&gt;
      </xsl:text>
     </xsl:if>
     </xsl:for-each>
    </table>
   </td>
  </tr>
  <tr>
   <td align="center">
    <input type="submit" align="center" value="Ok"/>
   </td>
  </tr>
  </form>
  </table>
 </td></tr>
 </table> 
 </xsl:template>
 <xsl:template name="table_draw">
               <td>
             <xsl:if test="UI_TYPE!=143">
    <xsl:value-of select="OBJ_NAME"/> 
    </xsl:if>
               </td>
        <xsl:text disable-output-escaping="yes">
  &lt;td&gt;
   </xsl:text>
   <xsl:if test="UI_TYPE=143">
    <input type="hidden" value="" name=""/>
   </xsl:if>
   <xsl:choose>
    <xsl:when test="UI_TYPE=100"> 
     <input type="text" value="" name=""/>  
    </xsl:when>
    <xsl:when test="UI_TYPE=113">     
        <xsl:for-each select="CandidatedValue">
      <input type="radio" name="CDriver.OBJ_ID" />
      <xsl:value-of select="C_DISP_VALUE"/>
     </xsl:for-each>  
    </xsl:when>
    <xsl:when test="UI_TYPE=114">
      <input type="password" name="" />    
    </xsl:when>
    <xsl:when test="UI_TYPE=115">
      <textarea  name="" ></textarea>    
    </xsl:when>
    <xsl:when test="UI_TYPE=112"> 
       <select size="2">    
         <xsl:for-each select="CandidatedValue">
       <option>
         <xsl:value-of select="C_DISP_VALUE"/>
       </option>
      </xsl:for-each>
     </select>
    </xsl:when>
    <xsl:when test="UI_TYPE=110">
          
     <select>
      <xsl:for-each select="CandidatedValue">
       <option>
        <xsl:value-of select="C_DISP_VALUE"/>
       </option>
      </xsl:for-each>
     </select>   
    </xsl:when>
   </xsl:choose>
   
   <xsl:if test="PROP_NULL_ALLOWANCE=0">
   <text><font color="red">*</font></text>
   </xsl:if> 
   <xsl:text disable-output-escaping="yes">
  &lt;/td&gt;
   </xsl:text>  
 </xsl:template> 
</xsl:stylesheet>


  可是,现在我的radio值因为name的值设死了,所以两个字段的radio值只能选一个字段的,另外一个选不到,而且hidden值显示的地方,怎么多了一行在那里,我怎么才可以把他删除掉呢,急切等待中!!!我的QQ为84674824,如果你可以帮我解决的话,直接加我QQ好吗?


--  作者:ioyichen
--  发布时间:6/29/2007 3:55:00 PM

--  
radio 问题解决了:修改如下:1,调用表格模板时传入一个参数<xsl:call-template name="table_draw"><xsl:with-param name="val" select="position()"/></xsl:call-template>2,在table_draw模板里面增加一参数<xsl:template name="table_draw"><xsl:param name="val"/>
 3,给input 赋不同的name 值 <input type="radio"><xsl:attribute name="name">CDriver.OBJ_ID<xsl:value-of select="$val"/></xsl:attribute></input>
--  作者:jiaoyu
--  发布时间:7/2/2007 9:42:00 AM

--  谢谢!!!!!!!
谢谢您的回复.
可多余那一行怎么才可以把他删除呢?烦呀!!!!!!!!!!
W 3 C h i n a ( since 2003 ) 旗 下 站 点
苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
62.500ms