xml - XSLT if - attribute equals string -


मैं एक xsl: if का उपयोग कर रहा हूं एक बड़ा एक्सएसएल: टेम्पलेट ब्लॉक, और मैं मौजूदा xsl: टेम्पलेट मिलान वाले नोड की एक विशेषता की समानता का परीक्षण करना चाहूंगा।

निम्नलिखित कार्य नहीं कर रहा है: < / P>

  & lt; xsl: टेम्पलेट मैच = "sometag [@ type = 'sometype']" & gt; == Sometag == & lt; xsl: if test = "@ कुछ! = 'छिपा हुआ'" & gt; कुछ और  

यह परीक्षण हमेशा गलत मानता है, हो सकता है कि मेरे पास अच्छी वाक्य रचना न हो?

यह XML:

  & Lt; sometag प्रकार = "sometype" कुछ = "दृश्यमान" /> & Lt; sometag प्रकार = "sometype" कुछ = "छिपा हुआ" / & gt; & Lt; sometag प्रकार = "सोमटाइप" / & gt;  

देना चाहिए

  == Sometag == कुछ ... == Sometag == == Sometag == कुछ ...  

दूसरा टैग "कुछ" भाग मुद्रित नहीं होना चाहिए।

< / ब्लॉकक्ॉट>

मुझे पूरा यकीन नहीं है कि आप क्या हासिल करने की कोशिश कर रहे हैं, लेकिन मैं इसे कोशिश करूँगा।

आपके sometag तत्वों में से कोई एक नहीं है कुछ विशेषता बिल्कुल भी ऐसा नहीं होने वाला यह कोड @ कुछ! = 'छिपी' से बिल्कुल अलग है। इसलिए, स्ट्रिंग "कुछ" आउटपुट नहीं है, अगर कुछ विशेषता मौजूद नहीं है।

इस वजह से आपको यह जांचना है कि क्या है a कुछ विशेषता आपके xsl: if स्थिति से पहले मूल्यांकन किया जाता है।

इनपुट

  & Lt;? Xml संस्करण = "1.0" एन्कोडिंग = "यूटीएफ -8"? & Gt; & LT; जड़ & gt; & Lt; sometag प्रकार = "sometype" कुछ = "दृश्यमान" / & gt; & Lt; sometag प्रकार = "sometype" कुछ = "छिपा हुआ" / & gt; & Lt; sometag प्रकार = "सोमटाइप" / & gt; & Lt; / जड़ & gt;  

स्टाइलशीट

  & lt;? Xml संस्करण = "1.0" एन्कोडिंग = "यूटीएफ -8"? & Gt; & Lt; xsl: स्टाइलशीट संस्करण = "2.0" xmlns: xsl = "http://www.w3.org/1999/XSL/transform" & gt; & Lt; xsl: आउटपुट विधि = "टेक्स्ट" / & gt; & Lt; xsl: स्ट्रिप-स्पेस तत्व = "*" / & gt; & Lt; xsl: टेम्पलेट मैच = "/ रूट" & gt; & LT; XSL: लागू-टेम्पलेट्स / & gt; & Lt; / XSL: टेम्पलेट & gt; & Lt; xsl: टेम्पलेट मैच = "sometag [@ type = 'sometype']" & gt; & LT; XSL: पाठ & gt; == Sometag == & lt; / XSL: पाठ & gt; & LT; XSL: चुनें & gt; & Lt; xsl: जब परीक्षण = "@ कुछ" & gt; & Lt; xsl: if test = "@ कुछ! = 'छिपा हुआ'" & gt; & LT; XSL: पाठ & gt; कुछ & lt; / XSL: पाठ & gt; & Lt; / XSL: यदि & gt; & Lt; / XSL: जब & gt; & LT; XSL: अन्यथा & gt; & LT; XSL: पाठ & gt; कुछ & lt; / XSL: पाठ & gt; & Lt; / XSL: अन्यथा & gt; & Lt; / XSL: चुनें & gt; & Lt; / XSL: टेम्पलेट & gt; & Lt; / XSL: स्टाइलशीट & gt;  

संपादित करें @ टिम सी ने एक छोटा संस्करण का सुझाव दिया है:

  & lt; xsl: टेम्पलेट मैच = "sometag [@ = 'sometype'] '& gt लिखें; & LT; XSL: पाठ & gt; == Sometag == & lt; / XSL: पाठ & gt; & Lt; xsl: if test = "@ कुछ! = 'छिपा हुआ' या नहीं (@ कुछ)" & gt; & LT; XSL: पाठ & gt; कुछ & lt; / XSL: पाठ & gt; & Lt; / XSL: यदि & gt; & Lt; / XSL: टेम्पलेट & gt;  

आउटपुट

  == Sometag == कुछ == सत्रग्राम ==== सत्रगण == कुछ  

Comments