XSLT читает внешние файлы XML - PullRequest
       0

XSLT читает внешние файлы XML

0 голосов
/ 12 сентября 2018

У меня есть файл XML, содержащий пути к другим файлам XML, например:

<PATH>InsertPathHere</PATH>
<PATH>InsertPathHere</PATH>

Есть ли способ «открыть» файлы XML и использовать их данные с помощью XSLT?Я хочу взять данные в отдельных файлах и использовать их с XSLT.

1 Ответ

0 голосов
/ 12 сентября 2018

Для XML-файла, например

<?xml version='1.0' encoding='utf-8'?>
<root>
  <PATH>InsertPath1Here.xml</PATH>
  <PATH>InsertPath2Here.xml</PATH>
</root>

и вторичные файлы XML, такие как InsertPath1Here.xml

<data>
    <value name="Value1">ABC</value>
</data>

и InsertPath2Here.xml

<data>
    <value name="Value2">DEF</value>
</data>

вы можете использовать XSLT-файл следующим образом:

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" omit-xml-declaration="yes" indent="yes"/>

  <xsl:template match="/root">
    <xsl:for-each select="document(PATH)">
        <xsl:copy-of select="data" />
    </xsl:for-each>
  </xsl:template>

</xsl:stylesheet>

, который создает (правильный) вывод:

<data>
    <value name="Value1">ABC</value>
</data>
<data>
    <value name="Value2">DEF</value>
</data>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...