2009-10-12 13 views
6

में एकाधिक अक्षरों को बदलें, मुझे कुछ वर्णों को प्रतिस्थापित करने में सक्षम होना चाहिए ताकि मैं उन्हें सीएसएस कक्षाओं के रूप में उपयोग कर सकूं।स्ट्रिंग (एक्सएसएलटी)

मेरे पास वर्ग (नाम), कक्षा & नाम जैसे तार हैं, जो अन्य वैध सीएसएस वर्ग नहीं हैं (जहां तक ​​मैं कह सकता हूं)।

मैं कैसे उपयोग कर सकते हैं कई chracters को बदलने के लिए समारोह की जगह,

जैसे

translate(className, ' ','') (would replace a space) 

लेकिन क्या यह कई पात्रों के लिए ऐसा करना संभव है?

does not के अनुवाद के साथ &

उदाहरण काम करने लगते हैं

एक्सएमएल

<title>Mary & the Wolf<title> 

XSLT

<xsl:value-of select="translate(title, ' &','')"/></xsl:attribute> 

तो मैं उत्पादन होना चाहते हैं:

MarytheWolf 

लेकिन फिलहाल मुझे & चरित्र के साथ एक त्रुटि मिलती है।

का अनुवाद ('एबीसीडी', 'cbda', 'CBDA:

translate(className, ' &#?!','') // would remove any character in the string #1 

या

translate(className, ' &#?!','_____') // would replace any character 
             // in the string #1 with '_' 

उत्तर

7

translate() चरित्र के लिहाज से काम करता है ')

' एबीसीडी 'देगा।

+0

धन्यवाद, किसी भी चीज़ के बजाय चार के साथ प्रतिस्थापित करने के लिए एक अच्छा विचार प्रतीत होता है। – CLiown

+0

एक्सएसएलटी के लिए कोड और कोड क्या है? ive ने कोशिश की और अनुवाद में लेकिन एक त्रुटि फेंकता है? – CLiown

+0

'& 'एम्परसैंड के लिए एक्सएमएल एस्केप अनुक्रम है। ऐसा नहीं है कि एक्सएसएलटी या XPath की आवश्यकता है, लेकिन एक्सएमएल स्वयं करता है। – Tomalak

1

आप जिस तरह के सबसे कर रहे हैं: