以文本方式查看主题

-  中文XML论坛 - 专业的XML技术讨论区  (http://bbs.xml.org.cn/index.asp)
--  『 XSL/XSLT/XSL-FO/CSS 』  (http://bbs.xml.org.cn/list.asp?boardid=8)
----  请教XSL编写问题,一个element如何应用另一个平行的element中attribute?  (http://bbs.xml.org.cn/dispbbs.asp?boardid=8&rootid=&id=83490)


--  作者:javacup2
--  发布时间:2/6/2010 1:59:00 PM

--  请教XSL编写问题,一个element如何应用另一个平行的element中attribute?
我需要在Items中引用ItemDefinitions中属性,以便输出图片的宽度等信息。谢谢!
<map>
  <background file="floor1.jpg" x_offset="-554" y_offset="-200" cols="16" rows="16"/>
  <ItemDefinitions>
          <ItemDefinition id="wall_post5_a.png" file="wall_post5_a.png" x_offset="-44" y_offset="1" rows="1" cols="2" walkable="false" overlap="true" width="75" height="72" />
          <ItemDefinition id="wall_post5_b.png" file="wall_post5_b.png" x_offset="-38" y_offset="1" rows="2" cols="1" walkable="false" overlap="true" width="75" height="72" />
          <ItemDefinition id="weird_plant.png" file="weird_plant.png" x_offset="-22" y_offset="3" rows="3" cols="3" walkable="false" overlap="true" width="44" height="109" />
          <ItemDefinition id="well.png" file="well.png" x_offset="-46" y_offset="10" rows="3" cols="3" walkable="false" overlap="true" width="94" height="105" />
          <ItemDefinition id="window_a.png" file="window_a.png" x_offset="-232" y_offset="-19" rows="11" cols="10" walkable="false" overlap="true" width="464" height="428" />
          <ItemDefinition id="window_b.png" file="window_b.png" x_offset="-218" y_offset="-19" rows="11" cols="10" walkable="false" overlap="true" width="464" height="428" />
  </ItemDefinitions>
  <Items>
    <Item source="portal.png" col="8" row="15" onStop="data/world.xml" />
    <Item source="npc2.png" col="7" row="2" onClick="furniture" />
    <Item source="window_a.png" col="0" row="1"/>
     <Item source="table2.png" col="9" row="4"/>
    <Item source="painting3_b.png" col="7" row="0"/>
    <Item source="chair2_b.png" col="9" row="3"/>
    <Item source="chair2_a.png" col="8" row="5"/>
  </Items>
  <Tiles/>
</map>
--  作者:Qr
--  发布时间:2/7/2010 5:44:00 PM

--  
需要有一个KEY进行关联,否则无法实现。
--  作者:javacup2
--  发布时间:2/9/2010 2:07:00 PM

--  我找到答案了
需要用到方括号[]来筛选。大约是这样:
     <xsl:for-each select="//Item">
      <xsl:variable name="row" select="@row"/>
      <xsl:variable name="col" select="@col"/>
      <xsl:variable name="itemsource" select="@source"/>
      <xsl:for-each select="//ItemDefinition[@id=$itemsource]">

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