Я пытаюсь использовать один XSLT-файл для преобразования 2 (или более) различных типов XML файлов.
Я надеялся, что найдется какой-нибудь способ проверить тип файла XML, проверив его значение "id", а затем запустив соответствующее преобразование.
Например,
XML файл 1:
<?xml version='1.0' ?>
<file1 id="123">
<key>
<uuid>123456</uuid>
</key>
</file1>
XML файл 2:
<?xml version='1.0' ?>
<file2 id="456">
<house>
<doors>1</doors>
<windows>4</windows>
</house>
</file2>
XSLT-файл:
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<html>
<body>
<xsl:choose>
<xsl:when test="@id = 123">
// do something
</xsl:when>
<xsl:when test="@id = 456">
// do something else
</xsl:when>
<xsl:otherwise>
// exception message
</xsl:otherwise>
</xsl:choose>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
Все файлы XML будут иметь одинаковые "id" в своих root, но я не могу понять, как запросить root для " id "значение?