Yalnızca çocuk düğümünü test edebildiğim bir durumdayım, ancak bu alt düğünün büyükannesine etiketleri uygulamak zorundayım.xslt kullanarak bir düğümün büyükbağlığı nasıl seçilir
kullanıyorum denedim:
<xsl:call-template name="grandparent" select="parent::parent::node()"/>
ve:
<xsl:call-template name="grandparent" select="ancestor::node [@nameofgrandparentnode]"/>
Ama ne işleri.
Büyükbaba düğümünün düzeyi sabit değil, bu yüzden [@ level = #] değerini kullanamayacağımı düşünüyorum. Nasıl seçileceğine dair herhangi bir fikir çok takdir edilecektir.
DÜZENLEME: -:
xslt select grandparent node depending on an attribute value of its grandchild node
aşağıdan önerileri kullanarak düğümü seçilmesi çalışmış Bu bölüm yeni soru olarak gönderildi. Teşekkürler! Ancak, büyükbaba veya torun düğümünün özniteliği ile de test etmem gerekiyor.
denedim:
<xsl:template name"one" match="grandparentnode">
<Tag1>
<xsl:apply-templates select="parentNode" />
</Tag1>
</xsl:template>
<xsl:template name="two" match="grandparentnode[*/*/@grandchildattr='attrValue']">
<Tag2>
<xsl:apply-templates select="parentNode" />
</Tag2>
</xsl:template>
Ancak şablonu "iki" her zaman "olarak adlandırılan alır ve" her zaman
eklenir. Öznitelik değeri 'attrValue' değerine eşit olmayan torun düğümleri için bile.Burada bir şey mi özlüyorum?
İyi soru (+1). "" talimatında kullanabileceğiniz bir dizi XPath ifadesi için cevabımı inceleyin. –
@highlightall Düzenlenen kısım net değil. Lütfen, tam olarak (ancak olabildiğince kısa) XML belgesini ve eksiksiz XSLT stil sayfasını (tekrar mümkün olduğunca kısa) sorununuzu tekrarlayın. Tercihen, bunu yeni bir soruyla sorun. –
@highlightall: Ayrıca, '' attrValue '' öznitelik değerine eşit olmayan torun düğümleri için bile bu desenle doğru olamaz. Grandparentnode [*/*/@ grandchildattr = 'attrValue'] ' –