У меня есть несколько тысяч xsl-файлов, и мне нужно их преобразовать, чтобы индексировать их в Solr. Я сделал это, но мне нужен каждый файл, чтобы иметь идентификатор поля, такой же, как имя файла. файлы выглядеть следующим образом:Преобразование xsl в xml, добавляющее не существующее поле?
<TEXT>
<TITLE>A Title</TITLE>
<DATELINE> A Dateline </DATELINE>
<BODY> text </BODY>
</TEXT>
Например: имена мои файлы, как "0001.xsl", "0002.xsl" .. и т.д.. мне нужно иметь что-то вроде:
<?xml version="1.0" encoding="UTF-8"?>
<add>
<doc>
<field name="ID">0001</field>
<field name="TITLE">-a tile-</field>
<field name="DATELINE">-a dateline-</field>
<field name="BODY"> -text-</field>
</field>
</doc>
</add>
Это таблица стилей:
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<!-- use this for debugging only -->
<!-- <xsl:output method="xml" indent="yes"/> -->
<xsl:template match="*">
<xsl:element name="field">
<xsl:attribute name="name">
<xsl:value-of select="name()"/>
</xsl:attribute>
<xsl:value-of select="."/>
</xsl:element>
</xsl:template>
<xsl:template match="/">
<add>
<doc>
<xsl:apply-templates select="//TEXT/*"/>
</doc>
</add>
</xsl:template>
</xsl:stylesheet>
Как именно я могу это сделать? Нужно ли мне менять стили или я могу использовать Java для добавления определенного поля после того, как я прочитал имя файла? Я использую Java для преобразования файлов и их индексирования.
вы можете передать имя файла в качестве параметра в таблице стилей? Или переключиться на процессор XSLT 2.0? –