मैं सामान्य रूप में XSLT को नया हूँ तो मेरे साथ सहन कृपया ...एक्सएसएलटी: यदि टैग मौजूद है, तो टेम्पलेट लागू करें; यदि नहीं, तो स्थिर मान चुनें
मन में है कि साथ, मुझे क्या करना कोशिश कर रहा हूँ एक्सएमएल में एक निश्चित टैग के लिए जाँच है। यदि यह है तो मैं एक टेम्पलेट लागू करना चाहता हूं। यदि नहीं, तो मैं इसे जोड़ना चाहता हूं (एक खाली मूल्य के रूप में)। मूल रूप से इसे अंतिम आउटपुट में हमेशा मजबूर करना पड़ता है। यह मैं कैसे करूंगा?
मैं कुछ इस तरह था ...
<xsl:choose>
<xsl:when test="@href">
<xsl:apply-templates select="country" />
</xsl:when>
<xsl:otherwise>
</xsl:otherwise>
</xsl:choose>
कोड के शीर्ष poriton मैं क्या लगता है कि मैं गलत है। otherwise
टैग में कुछ चाहिए और मेरा when
भाग गलत है मुझे लगता है।
<xsl:template match="country">
<xsl:if test=". != '' or count(./@*) != 0">
<xsl:copy-of select="."/>
</xsl:if>
</xsl:template>
क्या कोई मदद कर सकता है? पहले ही, आपका बहुत धन्यवाद।
संपादित करें:
अंत मैं बहुत कम से कम एक <country />
टैग पर जरूरत XML में होने के लिए हाँ। लेकिन यह संभव है कि यह सभी पर मौजूद न हो। यदि यह अस्तित्व में नहीं है, तो मुझे इसे अंदर रखना होगा। उदाहरण के लिए अच्छा इनपुट <country>US</country>
दो इनपुट नमूने पोस्ट करने पर विचार करें (डेटा मौजूद होने के साथ, दूसरा डेटा गायब होने के साथ), फिर हमें वह आउटपुट दिखाएं जिसे आप दोनों के लिए बनाना चाहते हैं।फिर हम उचित एक्सएसएलटी के साथ मदद कर सकते हैं। मुझे डर है कि आपका वर्तमान विवरण "एक निश्चित टैग की जांच करना" बहुत सटीक नहीं है और यह कहना मुश्किल है कि ' आपकी आवश्यकताओं को पूरा करता है। यह जांच करेगा कि संदर्भ नोड में 'href' विशेषता है जबकि "टैग" ध्वनियों की जांच करना है, जिन्हें आप कुछ तत्व नोड के लिए जांचना चाहते हैं। आपके 'अन्यथा' में आप शायद ' foo ' परिणाम el –
'' गलत है, मुझे विश्वास है कि –
अच्छा प्रश्न, +1। वर्तमान में स्वीकार किए गए एक से भी कम और सरल समाधान के लिए मेरा उत्तर देखें। मेरे समाधान में बिल्कुल कोई एक्सएसएलटी सशर्त निर्देश नहीं हैं! –