Altova Mailing List Archives

[xsl] nodes() before and after a string delimiter

From: "Mario Madunic" <Mario_Madunic@--------.--->
To: <xsl-list@-----.------------.--->
Date: 10/28/2009 7:25:00 PM
I have the following element (I'm using Saxon9 and XSLT2)

<p>Crazing – Hairline cracking of the resin, giving it an opaque, <q>frosty</q> appearance.</p>

I need to break it into two halves like the following based on the – (space en dash space) and only the first  – (space en dash space).

   <definition>Hairline cracking of the resin, giving it an opaque, <q>frosty</q> appearance.</definition>

I’m used to breaking strings on delimiters and not worrying about any inline elements, but his time the inline elements matter. 
Is this a for-each-group solution? Break it into two for-each-groups and in the first test for a following-sibling[. = '–'] and the second test for the following-sibling[. = '–']. 

No need to apply templates at this point a copy-of will suffice.

Any insight would be appreciated.


Marijan (Mario) Madunic
Publishing Specialist
New Flyer Industries

Please consider the environment before printing this e-mail.

CONFIDENTIALITY STATEMENT: This communication (and  any and all information or material transmitted with this communication) is confidential, may be privileged and is intended only for the use of the intended recipient. If you are not the intended recipient, any review, retransmission, circulation, distribution, reproduction, conversion to hard copy, copying or other use of this communication, information or material is strictly prohibited and may be illegal. If you received this communication in error or if it is forwarded to you without the express authorization of New Flyer, please notify us immediately by telephone or by return email and permanently delete the communication, information and material from any computer, disk drive, diskette or other storage device or media. Thank you.

XSL-List info and archive:
To unsubscribe, go to:
or e-mail: <mailto:xsl-list-unsubscribe@l...>


These Archives are provided for informational purposes only and have been generated directly from the Altova mailing list archive system and are comprised of the lists set forth on Therefore, Altova does not warrant or guarantee the accuracy, reliability, completeness, usefulness, non-infringement of intellectual property rights, or quality of any content on the Altova Mailing List Archive(s), regardless of who originates that content. You expressly understand and agree that you bear all risks associated with using or relying on that content. Altova will not be liable or responsible in any way for any content posted including, but not limited to, any errors or omissions in content, or for any losses or damage of any kind incurred as a result of the use of or reliance on any content. This disclaimer and limitation on liability is in addition to the disclaimers and limitations contained in the Website Terms of Use and elsewhere on the site.