Solved

can  i change dateformat in XSL

Posted on 2001-07-10
6
289 Views
Last Modified: 2008-03-17
I have an XSL stylesheet which gets its data from an XML document.

One of the fields to be displayed is a date field. The xml data has the date in format dd-mm-yyyy. Can I do anything so that the XSL changes this format to dd-MMM-yy ?

So 01-01-2001 should display as 01-Jan-2001 !

Thanx!
Enkay
0
Comment
Question by:enkay022798
  • 3
  • 2
6 Comments
 
LVL 2

Accepted Solution

by:
djokov earned 50 total points
Comment Utility
In general, YES, but exactly how to do that depends on your xsl code. post it here to see what could be done.
it will be something like:

<xsl:template name="ChangeMonth">
<xsl:param name="Month"/>  <!-- here you will pass month 1-12 -->
<xsl:choose>
<xsl:when test="$Month = '1'">
<xsl:value-of select="Jan"/>
</xsl:when>
<xsl:when test="$Month = '2'">
<xsl:value-of select="Feb"/>
</xsl:when>
...
<xsl:when test="$Month = '12'">
<xsl:value-of select="Dec"/>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="Unrecognized Month!!!"/>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
0
 
LVL 2

Author Comment

by:enkay022798
Comment Utility
I have been experimenting and yes, djokov, what you suggested will work fine.

Nevertheless, I was wondering if I could simplify this !

I tried to write a function which will do this using

<xsl:script><![CDATA[ tags. When I put this into my XSL, I get returned nothing !!! It doesnt matter wha I put in the function.

<?xml version="1.0"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:rs="urn:schemas-microsoft-com:rowset" xmlns:z="#RowsetSchema"
version="1.0">

<xsl:script language="VBScript"><![CDATA[
function GetMeThis()
     GetMeThis = "date"
end function
]]>
</xsl:script>

<xsl:template match="/">
<xsl:eval>GetMeThis()</xsl:eval>
</xsl:template>
</xsl:stylesheet>

I have ripped off the other xsl tags as of now but no matter what ...
This gets me nothing !!!
0
 
LVL 2

Author Comment

by:enkay022798
Comment Utility
djokov,

I want to leave this Q open for a lil more time. I would like to see some more suggestions, else I will use what you have suggested and award you the points.
0
Threat Intelligence Starter Resources

Integrating threat intelligence can be challenging, and not all companies are ready. These resources can help you build awareness and prepare for defense.

 
LVL 2

Expert Comment

by:djokov
Comment Utility
Yes, ok, but if it should be plain xslt, i don't think there is other way... however, let us see what other guys will offer.

cheers.
0
 
LVL 6

Expert Comment

by:wbradney
Comment Utility
enkay,

If you're going to need to change the format in the future, or maybe have different formats for different people, you might consider using extensions (this is a string replace example, but you'll get the idea):

<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
                   xmlns:java="http://xml.apache.org/xslt/java"
                   exclude-result-prefixes="java"
               version="1.0">
    <xsl:output method="xml" indent="yes"/>
    <xsl:strip-space elements="*"/>
    <xsl:template match="/">
         <xsl:apply-templates/>
    </xsl:template>
    <xsl:template match="test[@att]">
         <xsl:variable name="str" select="@att"/>
         <xsl:variable name="find" select="_string_"/>
         <xsl:variable name="sub" select="_other_"/>
         <xsl:variable name="repl" select="java:Replacer.replace(string($str), string($find), string($sub))"/>
         <test>
              <xsl:attribute name="att"><xsl:value-of select="$repl"/></xsl:attribute>
         </test>
    </xsl:template>
</xsl:stylesheet>

And then you'd write a class Replacer with a method:

public static String replace(String, String, String)

that does whatever you like (in your case date formatting).

Regards,
WMB
0
 
LVL 2

Author Comment

by:enkay022798
Comment Utility
Thank you everyone !
0

Featured Post

How your wiki can always stay up-to-date

Quip doubles as a “living” wiki and a project management tool that evolves with your organization. As you finish projects in Quip, the work remains, easily accessible to all team members, new and old.
- Increase transparency
- Onboard new hires faster
- Access from mobile/offline

Join & Write a Comment

Suggested Solutions

Title # Comments Views Activity
XSL Grouping 7 36
Excel VBA and XML - traversing the nodes 2 56
VB.NET and XML parsing 6 54
XML filtering Windows Event Viewer 10 36
The Client Need Led Us to RSS I recently had an investment company ask me how they might notify their constituents about their newsworthy publications.  Probably you would think "Facebook" or "Twitter" but this is an interesting client.  Their cons…
Browsing the questions asked to the Experts of this forum, you will be amazed to see how many times people are headaching about monster regular expressions (regex) to select that specific part of some HTML or XML file they want to extract. The examp…
Illustrator's Shape Builder tool will let you combine shapes visually and interactively. This video shows the Mac version, but the tool works the same way in Windows. To follow along with this video, you can draw your own shapes or download the file…
Access reports are powerful and flexible. Learn how to create a query and then a grouped report using the wizard. Modify the report design after the wizard is done to make it look better. There will be another video to explain how to put the final p…

763 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

16 Experts available now in Live!

Get 1:1 Help Now