Что означает «.? Select = *. Xml; recurse = yes» в строке xslt? - PullRequest
0 голосов
/ 30 апреля 2018

Я видел, как Майкл Кей любезно отвечал на вопросы XSL с помощью шаблона, подобного показанному ниже.

Мне интересно, где задокументирован синтаксис строки, передаваемой в collection()? Я попытался найти в спецификации XSL какой-то шаблон с подстановкой с рекурсией, но ничего не вышло.

<xsl:template name="main">
  <xsl:for-each select="collection('.?select=*.xml;recurse=yes')">
    <xsl:result-document href="out/{tokenize(document-uri(.), '/')[last()]">
      <xsl:apply-templates select="."/>
    </xsl:result-document>
  </xsl:for-each>
</xsl:template>

1 Ответ

0 голосов
/ 30 апреля 2018

По ссылке Мартина кажется, что это специальное поведение является родным для StandardCollectionURIResolver в Saxon , который интерпретирует ?select=*.xml;recurse=yes как строку запроса, где select обеспечивает глобализацию файла, а recurse обеспечивает автоматическую рекурсию каталога .

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