Возможно ли преобразовать XSLT-код с другим кодом XSLT (meta XSLT)?

У сканера есть метод, называемый hasNext ():

    Scanner scanner = new Scanner(System.in);

    while(scanner.hasNext())
    {
        System.out.println(scanner.nextInt());
    }
2
задан kjhughes 13 July 2018 в 12:59
поделиться

2 ответа

Абсолютно. Мета-XSLT-трансформации удивительно сильны.

Просто добавление комментариев - это относительно простой вопрос, который может быть выполнен с преобразованием идентичности плюс некоторые специализированные шаблоны, которые вставляют комментарии до, после или вокруг сайта по вашему выбору.

Например:

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

  <!-- identity transformation -->
  <xsl:template match="@*|node()">
    <xsl:copy>
      <xsl:apply-templates select="@*|node()"/>
    </xsl:copy>
  </xsl:template>

  <!-- override for inserting a comment -->    
  <xsl:template match="div[@id='target']">
    <xsl:copy>
      <xsl:apply-templates select="@*|node()"/>
    </xsl:copy>
    <xsl:comment>The above div element is comment-worthy.</xsl:comment>
  </xsl:template>
</xsl:stylesheet>

Более сложные мета-преобразования XSLT также возможны:

2
ответ дан kjhughes 17 August 2018 в 12:54
поделиться

XSLT - это XML, поэтому вы можете использовать его как вход, и вы также можете создать его как результат преобразования XSLT. Создание новых элементов XSLT в результате может потребовать использования https://www.w3.org/TR/xslt-30/#element-namespace-alias , но вставка комментариев может быть выполнена с помощью xsl:comment.

1
ответ дан Martin Honnen 17 August 2018 в 12:54
поделиться
Другие вопросы по тегам:

Похожие вопросы: