перевод одного строкового паттерна в другой строковый паттерн с использованием XSLT - PullRequest
5 голосов
/ 07 января 2012

У меня есть исходный XML, как показано ниже

<contents>
  <content>AuthorInformation</content>
  <content>PersonInformation</content>
  <content>PersonPersonalInformation</content>
  <content>GurdianDetails</content>
</contents>

Я хотел бы преобразовать вышеуказанный XML в

<contents>
  <content>Author Information</content>
  <content>Person Information</content>
  <content>Person Personal Information</content>
  <content>Gurdian Details</content>
</contents>

везде, где в исходных данных элемента содержимого файла XML есть заглавная буква Iхотел бы поставить префикс между ними.Могу ли я получить образец XSLT 2.0, как мне этого добиться.

1 Ответ

4 голосов
/ 07 января 2012

Используйте шаблон, подобный этому:

<xsl:template match="text()">
    <xsl:value-of select="replace(., '([a-z])([A-Z])', '$1 $2')"/>
</xsl:template>

Это правило выполняет правило для всего текстового содержимого на входе.Вы можете легко сделать это более конкретным (если есть другие элементы, которые вы не хотите переводить).Функция replace является ключевой точкой.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...