Я хочу использовать конкретные элементы для пробелов вкладки.

  • ПРИМЕЧАНИЕ. Символ сквозного вложенного в стиле ({<char type="endNestedStyleHere"/>) должен быть помещен в конце заголовка шоу, который отмечен пространством, за которым следует одно из следующих кодов: MVLSC, 16VLSC, MSC, 16VL, ML , MC, PGC, 16VL.

Вход:

<table>
  <tr>
      <td>    noon   Nothing But Trailers MVLSC.</td>
  </tr>
  <tr>
      <td>   7.10   Between Worlds 16VLSC 2018 Thriller.</td>
  </tr>
</table>

Результат должен быть:

<p type="Entry"><t/>noon<t/>Nothing But Trailers<char type="endNestedStyleHere"/> MVLSC.</p>

<p type="Entry"><t/>7.10<t/>Between Worlds<char type="endNestedStyleHere"/> 16VLSC 2018 Thriller.</p>

Попробовал код:

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

<xsl:template match="td/text()">
    <xsl:if test="matches(.,'\t')">
        <t/>
    </xsl:if>
</xsl:template>
0
xsltlife 30 Сен 2019 в 07:55

1 ответ

Лучший ответ

Как насчет:

<xsl:template match="td">
    <p type="Entry">
        <xsl:analyze-string select="." regex="\t">
            <xsl:matching-substring>
                <t/>
            </xsl:matching-substring>
            <xsl:non-matching-substring>
                <xsl:analyze-string select="." regex=" (MVLSC|16VLSC|MSC|16VL|ML|MC|PGC)">
                    <xsl:matching-substring>
                        <char type="endNestedStyleHere"/>
                        <xsl:value-of select="." />
                    </xsl:matching-substring>
                    <xsl:non-matching-substring>
                        <xsl:value-of select="." />
                    </xsl:non-matching-substring>
                </xsl:analyze-string>                    
            </xsl:non-matching-substring>
        </xsl:analyze-string>                    
    </p>
</xsl:template>
1
michael.hor257k 30 Сен 2019 в 07:36