Начинается с номера в xslt - PullRequest
       3

Начинается с номера в xslt

0 голосов
/ 27 сентября 2019

Записи начинаются с цифры или слова «полдень».Они станут элементами.

Символ конца вложенного стиля () должен быть помещен в конец заголовка шоу, который отмечен пробелом, за которым следует один из следующих кодов: MVLSC, 16VLSC, MSC, 16VL, ML, MC, PGC, 16VL

Ввод:

<table>
    <tr>
       <td> 7.10    Between Worlds 16VLSC 2018 Thriller. Haunted by memories of his deceased family, a truck.</td>
    </tr>
    <tr>
       <td>A look at the latest movie trailers, coming soon to cinemas.</td>
    </tr>
</table>

Выход:

<p type="Entry"><tab/>7.10<tab/>Between Worlds<char type="endNestedStyleHere"/> 16VLSC 2018 Thriller. Haunted by memories of his deceased family, a truck.</p>

Пробный код:

<xsl:template match="td[starts-with(.,'1234567890')]">
    <p>
      <xsl:apply-templates/>
    </p>
</xsl:template>

Я использую XSLT 2.0.Спасибо

1 Ответ

0 голосов
/ 27 сентября 2019

Вы можете использовать matches в XSLT 2.0

<xsl:template match="td[matches(., '^[0-9].*')]">
    <p>
      <xsl:apply-templates/>
    </p>
</xsl:template>

Или, возможно, вам тоже нужно проверить пробелы, если перед числом может быть пробел ...

<xsl:template match="td[matches(., '^\s*[0-9].*')]">
    <p>
      <xsl:apply-templates/>
    </p>
</xsl:template>

Обратите внимание, что если вы действительно хотите решение XSLT 1.0, вы можете сделать это ...

<xsl:template match="td[contains('0123456789', substring(normalize-space(), 1, 1))]">
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...