Как вставить имена внешних файлов в качестве переменной в цикле в XSLT? - PullRequest
0 голосов
/ 10 октября 2018

У меня есть скрипт оболочки, который перемещается в каждом подкаталоге (на 2 уровня глубже) в цикле, а затем вызывает transform.xsl, который вносит изменения в ie1.xml.В каждом подкаталоге есть файл ie1.xml, который называется «content».

IFS=$'/\n\n' dirs3=( $(ls -d */) )
for i in "${dirs3[@]}"
 do
   echo $i
   cd $i
   cd content
xsltproc -o ie1.xml ../../transform.xsl ie1.xml  
   cd ../../
 done

Это мой xsl-скрипт:

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:dcterms="http://purl.org/dc/terms/">

<xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes" />

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

<xsl:template match="dc:record">
    <xsl:copy copy-namespaces="no">
        <xsl:apply-templates select="@* | *" />
        <xsl:element name="dc:relation">filename</xsl:element>
    </xsl:copy>
</xsl:template>

</xsl:stylesheet>

Я хочу вставить имя файла, который расположен на 2 уровня глубже, в следующий элемент в xsl <xsl:element name="dc:relation">filename</xsl:element>.Имена файлов должны быть вставлены в цикл.

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