For a more complete i18n-aware solution I integrated ICU4J's word and line
break features into Saxon extensions in my DITA Community i18n project:
https://github.com/dita-community/org.dita-community.i18n
While this is set up to integrate with the DITA Open Toolkit, the Saxon
extensions are generic and should be useful in any Saxon context. Note that I
haven't touched this code since before Saxon 10 was released so it might need a
little attention, so if you try it and find an issue, don't hesitate to log an
issue.
Cheers,
E.
--
Eliot Kimber
http://contrext.com
On 5/2/20, 7:45 PM, "Rick Quatro rick(_at_)rickquatro(_dot_)com"
<xsl-list-service(_at_)lists(_dot_)mulberrytech(_dot_)com> wrote:
Hi All,
I have lines in my input that I want to add <break> elements to in my
output. For example, this might be the input:
<xsl:param name="line" select="'Takeoff from Unlisted and Alternate
Airports'"/>
and I want to replace a space with a <break> so that each line doesn't
exceed, for example, 35 characters
<line>Takeoff from Unlisted and Alternate<break/>Airports</line>
I am thinking the I can tokenize the line and then recursively build the
string back up from the beginning, checking its length. Any other suggestions
on a general-purpose algorithm that I can use in XSLT 3 would be appreciated.
Thanks in advance.
Rick
Rick Quatro
Carmen Publishing Inc.
rick(_at_)frameexpert(_dot_)com
585-729-6746
www.frameexpert.com/store/ <http://www.frameexpert.com/store/>
XSL-List info and archive
<http://www.mulberrytech.com/xsl/xsl-list>EasyUnsubscribe
<http://lists.mulberrytech.com/unsub/xsl-list/1278982>
(by email <>)
--~----------------------------------------------------------------
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
EasyUnsubscribe: http://lists.mulberrytech.com/unsub/xsl-list/1167547
or by email: xsl-list-unsub(_at_)lists(_dot_)mulberrytech(_dot_)com
--~--