Попробуйте это так:
XSLT 1.0
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"/>
<xsl:strip-space elements="*"/>
<!-- identity transform -->
<xsl:template match="@*|node()">
<xsl:copy>
<xsl:apply-templates select="@*|node()"/>
</xsl:copy>
</xsl:template>
<xsl:template match="/root">
<xsl:copy>
<newparent>
<xsl:apply-templates select="a|b|c"/>
</newparent>
<xsl:apply-templates select="*[not(self::a or self::b or self::c)]"/>
</xsl:copy>
</xsl:template>
<xsl:template match="*[not(@* or node())]"/>
</xsl:stylesheet>
in
похмелье от корней F# OCaml, и оно указывает , связал переменные, которые тонко отличаются от переменной объемы .
Думают о привязке переменной следующим образом; у Вас есть выражение:
first + " " + second
Как есть first
и second
развязаны - у них нет фиксированных значений - так, чтобы выражение не имело никакого конкретного значения в настоящее время. При помощи [1 118]
let (...) in
синтаксис Вы указываете, как те переменные связываются в том выражении , таким образом, Ваш пример будет использовать подстановку переменных для сокращения той функции вниз до [1 119]
let doStuff x =
x + " " + x
<час> В этом примере, обе формы идентичны, но воображают следующее:
let (x = 2 and y = x + 2) in
y + x
Это не будет работать то же [1 121]
let (x = 2 and y = x + 2)
y + x
, поскольку в бывшем случае x
только связывается после in
ключевое слово.
В более позднем случае нормальная переменная обзор правила вступают в силу, таким образом, переменные связываются, как только они объявляются.
Hope, которая разрешает вещи. В целом необходимо всегда использовать версию без [1 115] in
и указывать #light
в начале исходных файлов F#
Вот другой связанный поток здесь на том, Так, чтобы могло быть также полезным:
Заключить в кавычки от здесь .
то, Когда в легкой опции синтаксиса включают, является дополнительным. Маркер после '=' определения, которому 'позволяют', начинает новый блок, где предварительный синтаксический анализатор вставляет неявное разделение 'в' маркер между каждой привязкой, которой 'позволяют', которая начинается в том же столбце как тот маркер.
Без легкой опции синтаксиса 'в' очень часто требуется. 'В' является дополнительным, когда свет syntac опция используется.
, Таким образом, я предполагаю, что Вы используете легкий синтаксис.