以文本方式查看主题

-  计算机科学论坛  (http://bbs.xml.org.cn/index.asp)
--  『 XSL/XSLT/XSL-FO/CSS 』  (http://bbs.xml.org.cn/list.asp?boardid=8)
----  怎么不能输出全部的内容呢? 大家帮忙看看了!!!!  (http://bbs.xml.org.cn/dispbbs.asp?boardid=8&rootid=&id=48762)


--  作者:jiaoyu
--  发布时间:6/20/2007 5:03:00 PM

--  怎么不能输出全部的内容呢? 大家帮忙看看了!!!!
xml文件为:

<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="CDriver.xsl"?>
<BISObject>
 <PropList>
  <Prop>
     <OBJ_ID> CDriver.OBJ_ID </OBJ_ID>
     <OBJ_NAME> OBJ_ID </OBJ_NAME>
     <UI_TYPE> 100 </UI_TYPE>
  </Prop>
  <Prop>
     <OBJ_ID>  CDriver.OBJ_NAME </OBJ_ID>
     <OBJ_NAME> OBJ_NAME </OBJ_NAME>
     <UI_TYPE> 100 </UI_TYPE>
  </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="/"> 


<xsl:for-each select="//PropList/Prop/OBJ_ID">

<xsl:value-of select="//PropList/Prop/OBJ_ID" />

<input type="text"></input>
<br/>


</xsl:for-each>
<xsl:for-each select="//PropList/Prop/OBJ_NAME">

<xsl:value-of select="//PropList/Prop/OBJ_NAME" />

<input type="text"></input>
<br/>
</xsl:for-each>
<xsl:for-each select="//PropList/Prop/UI_TYPE">
<xsl:value-of select="//PropList/Prop/UI_TYPE" />

<input type="text"></input>
<br/>

</xsl:for-each>

</xsl:template>      
</xsl:stylesheet>  


--  作者:Qr
--  发布时间:6/20/2007 5:14:00 PM

--  
这是按你的思路改的:
<xsl:for-each select="//PropList/Prop/OBJ_ID">

<xsl:value-of select="." />

<input type="text"></input>
<br/>


</xsl:for-each>
<xsl:for-each select="//PropList/Prop/OBJ_NAME">

<xsl:value-of select="." />

<input type="text"></input>
<br/>
</xsl:for-each>
<xsl:for-each select="//PropList/Prop/UI_TYPE">
<xsl:value-of select="." />

<input type="text"></input>
<br/>

</xsl:for-each>

简化一下你的代码:
<xsl:for-each select="//PropList/Prop">

<xsl:value-of select="OBJ_ID" />

<input type="text"></input>
<br/>

<xsl:value-of select="OBJ_NAME" />

<input type="text"></input>
<br/>

<xsl:value-of select="UI_TYPE" />

<input type="text"></input>
<br/>

</xsl:for-each>

如果你的目的是想把文本输出到文本框,可以这么写:
<xsl:for-each select="//PropList/Prop">

<input type="text" value="{OBJ_ID}"></input>
<br/>


<input type="text" value="{OBJ_NAME}"></input>
<br/>

<input type="text" value="{UI_TYPE}"></input>
<br/>

</xsl:for-each>


--  作者:jiaoyu
--  发布时间:6/20/2007 5:31:00 PM

--  我怎么才可以调整他们对齐呢?
谢谢!!!
   可是这样写出来后,我怎么才可以让他们对齐显示呢?
   现在的格式不是很漂亮!!!!!!!!
--  作者:jiaoyu
--  发布时间:6/21/2007 9:44:00 AM

--  还有问题,如果跟据节点中的值不同,怎么输出不同的内容呢?
是这样,比如
    <Prop>
     <OBJ_ID> CDriver.OBJ_ID </OBJ_ID>
     <OBJ_NAME> OBJ_ID </OBJ_NAME>
     <UI_TYPE> 100 </UI_TYPE>
  </Prop>
       UI_TYPE 中的  100:表示一个文本输入框,140:表示下拉列表. 等等!!!

  我怎么才能在HTML中按照XML的提示输出不同的输入框呢?


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