2009-09-11 20 views
38

में एक बच्चे नोड से अभिभावक नोड की विशेषता को कैसे पढ़ा जाए, बस एक्सएसएलटी में एक बच्चे नोड से अभिभावक नोड की विशेषता को पढ़ने के बारे में जानना चाहते हैं। कोड:एक्सएसएलटी

<A> 
    <b attr1="xx"> 
    <c> 
    </c> 
    </b> 
</A> 

XSLT:

<xsl:template match="c"> 
    <xsl:value-of select="attribute of b node"> 
</xsl:template> 

उत्तर

82

आप ".." का उपयोग "ऊपर" एक स्तर जा सकते हैं। तो:

<xsl:value-of select="../@attr1"/> 
+1

हाँ अभी कोड किया गया // // attr1 और यह मेरे लिए काम किया ... वैसे भी आपकी मदद के लिए धन्यवाद। – Wondering

+22

@Wondering - अभिव्यक्ति "// @ attr1" संपूर्ण दस्तावेज़ को स्कैन करेगी (और जब यह पहला मैच पाता है तब भी नहीं रुक जाएगा)। यह बहुत अक्षम है और गलत @ attr1 को पकड़ सकता है (यदि आपके पास अन्य स्थानों में यह विशेषता है)। @ एडम बैटकिन का समाधान अधिक कुशल है और गलती से गलत मूल्य का चयन करने की संभावना कम है। –

+0

@ मैड्स: आपके इनपुट और जानकारी के लिए धन्यवाद, इसे लागू करेगा – Wondering