以文本方式查看主题

-  中文XML论坛 - 专业的XML技术讨论区  (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=65214)


--  作者:petergoodman
--  发布时间:8/1/2008 3:37:00 AM

--  怎么判断一个属性节点首次出现
用什么语句可以表达出 第2个<a>元素下的属性名为'y '的节点在 这个<a>里首次出现?这个<a>元素前面还有一个<a>,里面有个类似的属性节点。
<a>
    <c name="z">...     </c>
   <c name='"y">        </c>
</a>
<a>
    <c name="x"> ...    </c>
   <c  name="y">    ...    </c>
</a>
--  作者:Qr
--  发布时间:8/1/2008 9:06:00 AM

--  
晕,<a>下只有属性值为y的属性name,哪来的属性名为'y '的节点?
另外你的“首次”是什么意思,'y'在<a>中是不是首次出现和前一个<a>有什么关系?
不是中文系毕业的,读不懂你的问题到底什么意思。
--  作者:东方小牛
--  发布时间:8/1/2008 9:09:00 AM

--  
楼上的回答笑死我”不是中文系毕业的“
其实我也没读懂楼主说的啥意思
--  作者:Qr
--  发布时间:8/1/2008 9:18:00 AM

--  
开玩笑的,没别的意思。我的确读不懂LZ的意思。
--  作者:petergoodman
--  发布时间:8/1/2008 6:35:00 PM

--  
值为"y"的name的属性第一次出现,如果是首次出现,添加一个不定冠词 'a',其余添加定冠词'the'.可以把每个<a>看作一个句子,属性值看作里面出现的名词。
--  作者:Qr
--  发布时间:8/1/2008 8:14:00 PM

--  
<xsl:apply-templates select="//a[c/@name='y']"/>

<xsl:template match="a">
 <xsl:choose>
 <xsl:when test="position()=1">
  do something
 </xsl:when>
 <xsl:otherwise>
  do something
 </xsl:otherwise>
</xsl:template>


--  作者:petergoodman
--  发布时间:8/1/2008 8:29:00 PM

--  
谢谢斑竹,但是我不能为一个y'值写一段代码.好像xpath不能对属性值进行比较.还有<c>元素不一定是<a>的子元素,它是后代元素。这个问题困扰我很久了。
--  作者:Qr
--  发布时间:8/1/2008 9:10:00 PM

--  
以下是引用petergoodman在2008-8-1 20:29:00的发言:
好像xpath不能对属性值进行比较.
[/quote]
谁说不能?哪个说不能我拿鼠标砸他...有点暴力,少儿不宜,呵呵!

[quote]以下是引用petergoodman在2008-8-1 20:29:00的发言:
还有<c>元素不一定是<a>的子元素,它是后代元素。这个问题困扰我很久了。



/A/descendant::*
A的所有后代元素
除A元素以外的所有其它元素
W 3 C h i n a ( since 2003 ) 旗 下 站 点
苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
50.781ms