Так что в этом отвратительном экструдированном наборном продукте я иногда вижу ссылки и адреса электронной почты, которые были разделены на части. Пример:
<p>Here is some random text with an email address
<Link>example</Link><Link>@example.com</Link> and here
is more random text with a url
<Link>http://www.</Link><Link>example.com</Link> near the end of the sentence.</p>
Желаемый результат:
<p>Here is some random text with an email address
<email>[email protected]</email> and here is more random text
with a url <ext-link ext-link-type="uri" xlink:href="http://www.example.com/">
http://www.example.com/</ext-link> near the end of the sentence.</p>
Пробелы между элементами, кажется, не возникают, что является одним из благословений.
Я могу сказать, что мне нужно использовать xsl:for-each-group в шаблоне p, но я не совсем понимаю, как поместить объединенный текст из группы через функцию contains(), чтобы отличить электронные письма от URL-адресов. Помощь?