2011-01-03 19 views
6

उम्मीद है कि एक त्वरित सवाल है, मैं इसे अच्छी तरह से गठित करने के लिए कैसे प्राप्त कर सकता हूं, और इसलिए चल रहा हूं?एक्सएसएलटी फॉर्म इनपुट मूल्य विशेषता में सिंगल और डबल कोट्स?

<input type="rad" name="RadGroup" value="<xsl:value-of select="productOptionInfo"/>" /> 

मैं मूल रूप से विशेषता मान के अंदर एक मान रखना चाहता हूं, लेकिन दोनों को डबल कोट्स की आवश्यकता है !?

कोई भी विचार?

बहुत धन्यवाद

+0

अच्छा सवाल, +1। स्पष्टीकरण के लिए मेरा उत्तर देखें कि वर्तमान में चयनित उत्तर गलत क्यों है और दो सही एक्सएसएलटी 1.0 समाधान और दूसरे के लिए, एक्सएसएलटी 2.0 समाधान। :) –

उत्तर

10

XSLT में, वहाँ विशेषताओं के भीतर मूल्यों का उपयोग के लिए एक शॉर्टकट है:

<input type="rad" name="RadGroup" value="{productOptionInfo}" /> 

वहाँ एक और विकल्प है, जो इसे उपयोग करने के लिए है xsl:attribute:

<input type="rad" name="RadGroup"> 
    <xsl:attribute name="value"> 
     <xsl:value-of select="productOptionInfo"/> 
    </xsl:attribute> 
</input> 
+0

ओह ठीक है, मैंने इसे और अधिक स्पष्ट बना दिया है, धन्यवाद :) – Mac

+0

@Mac - मैंने कुछ और विकल्प जोड़े :) – Oded

+0

@Downvoter - टिप्पणी करने की देखभाल? – Oded

0

आप कर सकते हैं अंदर एकल कोट्स और डबल कोट्स का उपयोग करें, या इसके विपरीत।

इसके अलावा, एक्सएमएल कल्पना का कहना है:

विशेषता मान दोनों सिंगल और डबल उद्धरण, apostrophe या एकल उद्धरण कैरेक्टर (') को रोकने के लिए के रूप में "&apos;" प्रस्तुत किया जा सकता अनुमति देने के लिए, और डबल उद्धरण कैरेक्टर (") &quot;" के रूप में "

3

उपयोग घुंघराले-ब्रैकेट अंकन:।

<input type="rad" name="RadGroup" value="{productOptionInfo}" /> 
+0

धन्यवाद कि यह काम कर रहा है, आप और ओडेड दोनों ने मुझे एक ही समय में सही जवाब दिया! – Mac

6

यह गलत है:

<input type="rad" name="RadGroup" 
     value="<xsl:value-of select='productOptionInfo'/>" /> 

और यह भी गलत है,:

<input type="rad" name="RadGroup" 
     value='<xsl:value-of select="productOptionInfo"/>' /> 

एक्सएमएल में यह एक सिंटैक्स त्रुटि है एक विशेषता के मूल्य के रूप में (नहीं छोड़ा जाएगा) मार्कअप के लिए । डब्ल्यू 3 एक्सएमएल स्पेक देखें - here और here

दो सही इस हैं (बुलाया एवीटी या attribute value templates) करने के लिए तरीके:

<input type="rad" name="RadGroup" value="{productOptionInfo}"/> 

और

<xsl:attribute name="input"> 
    <xsl:value-of select="productOptionInfo"/> 
</xsl:attribute> 

XSLT 2.0 एक में लिखने की अनुमति दी है :

<xsl:attribute name="input" select="productOptionInfo"/> 

उपरोक्त पहला तरीका सबसे छोटा और सबसे पठनीय है जब तत्व का नाम स्थैतिक रूप से ज्ञात है (अग्रिम में)।

दूसरा तरीका तब उपयोग किया जाना चाहिए जब तत्व का नाम स्थैतिक रूप से ज्ञात नहीं है और <xsl:element> निर्देश के साथ उत्पन्न होना चाहिए।

+0

मैं देखता हूं, ठीक है कि इसे छोड़ने के लिए धन्यवाद Dimitre :) – Mac

संबंधित मुद्दे