string - मैं एक स्ट्रिंग को एक्सएसएलटी के साथ ऊपरी- या निचले मामले में कैसे परिवर्तित कर सकता हूं?




xpath xslt (4)

.NET XSLT कार्यान्वयन स्टाइलशीट में कस्टम प्रबंधित फ़ंक्शंस लिखने की अनुमति देता है। निचले मामले के लिए () यह हो सकता है:

<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
    xmlns:msxsl="urn:schemas-microsoft-com:xslt" xmlns:utils="urn:myExtension" exclude-result-prefixes="msxsl">

  <xsl:output method="xml" indent="yes"/>

  <msxsl:script implements-prefix="utils" language="C#">
    <![CDATA[
      public string ToLower(string stringValue)
      {
        string result = String.Empty;

        if(!String.IsNullOrEmpty(stringValue))
        {
          result = stringValue.ToLower(); 
        }

        return result;
      }
    ]]>
  </msxsl:script>

  <!-- using of our custom function -->
  <lowercaseValue>
    <xsl:value-of select="utils:ToLower($myParam)"/>
  </lowercaseValue>

मान लें, यह धीमा हो सकता है, लेकिन अभी भी स्वीकार्य है।

बदलने के लिए एम्बेडेड स्क्रिप्ट समर्थन सक्षम करने के लिए मत भूलना:

// Create the XsltSettings object with script enabled.
XsltSettings xsltSettings = new XsltSettings(false, true);

XslCompiledTransform xslt = new XslCompiledTransform();

// Load stylesheet
xslt.Load(xsltPath, xsltSettings, new XmlUrlResolver());

एक्सएसएल में आप केस रूपांतरण कैसे करते हैं?

<xsl:variable name="upper">UPPER CASE</xsl:variable>
<xsl:variable name="lower" select="???"/>

ऊपरी-केस (स्ट्रिंग) और लोअर-केस (स्ट्रिंग)


एक्सएसएलटी 1.0 में upper-case() और lower-case() फ़ंक्शंस उपलब्ध नहीं हैं। यदि आप 1.0 स्टाइलशीट का उपयोग कर रहे हैं तो केस रूपांतरण की सामान्य विधि translate() :

<xsl:variable name="lowercase" select="'abcdefghijklmnopqrstuvwxyz'" />
<xsl:variable name="uppercase" select="'ABCDEFGHIJKLMNOPQRSTUVWXYZ'" />


<xsl:template match="/">
  <xsl:value-of select="translate(doc, $lowercase, $uppercase)" />
</xsl:template>

एक्सएसएलटी 2.0 में upper-case() और lower-case() फ़ंक्शन हैं। एक्सएसएलटी 1.0 के मामले में, आप translate() उपयोग कर सकते हैं:

<xsl:value-of select="translate("xslt", "abcdefghijklmnopqrstuvwxyz", "ABCDEFGHIJKLMNOPQRSTUVWXYZ")" />





case-conversion