Subject: Re: [xsl] XSLT function for title capitalization? From: "David Sewell dsewell@xxxxxxxxxxxx" <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx> Date: Tue, 10 Apr 2018 15:13:39 -0000 |
Here is a function that will accomplish what you need.
<xsl:function name="c:title-case" as="xs:string"> <xsl:param name="expr"/> <xsl:variable name="tokens" select="tokenize($expr,' ')"/> <xsl:variable name="titledTokens" select="for $token in $tokens return concat(upper-case(substring($token,1,1)), lower-case(substring($token,2)))"/> <xsl:value-of select="string-join($titledTokens,' ')"/> </xsl:function>
-----Original Message----- From: David Sewell dsewell@xxxxxxxxxxxx [mailto:xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx] Sent: Monday, April 09, 2018 4:53 PM To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx Subject: [xsl] XSLT function for title capitalization?
*** WARNING *** EXTERNAL EMAIL -- This message originates from outside our organization.
Wondering if anyone has a serviceable function (preferably in XSLT 2/3 but v1 is fine if it works) that takes a string as input and returns it with title capitalization according to English-language editorial practice (for example, Chicago Manual of Style). So for example
A MEMORANDUM OF UNDERSTANDING ==> A Memorandum of Understanding
WHERE DID THE DRUIDS COME FROM? ==> Where Did the Druids Come From?
BEING FOR THE BENEFIT OF [MR.] KITE ==> Being for the Benefit of [Mr.] Kite
Use case is, as you might guess, processing a lot of titles transcribed as all caps, wanting to convert them to standard title case format.
It doesn't have to be perfect, just anything that will minimize the need for hand-editing.
David S.
-- David Sewell Manager of Digital Initiatives The University of Virginia Press Email: dsewell@xxxxxxxxxxxx Tel: +1 434 924 9973 Web: http://www.upress.virginia.edu/rotunda
-- David Sewell Manager of Digital Initiatives The University of Virginia Press Email: dsewell@xxxxxxxxxxxx Tel: +1 434 924 9973 Web: http://www.upress.virginia.edu/rotunda
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] XSLT function for title c, Flanders, Charles E | Thread | [xsl] Match to a condition in two a, sudheshna iyer sudhe |
Re: [xsl] XSLT function for title c, David Rudel fwqhgads | Date | Re: [xsl] C14N and XSLT, Michael Kay mike@xxx |
Month |