У меня есть один XML-файл в качестве входных данных и один XSL-файл, который преобразует входной XML-файл в другой XML-файл.Мне нужно поместить этот выходной файл XML в определенную папку и с конкретным именем.Как я могу это сделать?Я попытался использовать result-document, но не повезло, что имя файла просто отображается в выходном файле.
вот мой XML-код (Trial.xml):
<?xml version="1.0" encoding="utf-8" ?>
<?xml-stylesheet type="text/xsl" href="trail_xslt.xsl"?>
<!DOCTYPE xml>
<Settings>
<Setting Id="66" Revision="2" Type="e-mail settings"
Name="E-mail setting" Default_Item="false">
<SettingAttributes>
<SettingAttribute Name="email push" Value="Yes" />
<SettingAttribute Name="cost warning" Value="No" />
<SettingAttribute Name="email account name style"
Value="NONE" />
<SettingAttribute
Name="linkedin integration in e-mail" Value="No" />
<SettingAttribute
Name="show truncation limit in bytes" Value="Yes" />
</SettingAttributes>
</Setting>
</Settings>
Вот мойКод XSL (Trial.xsl):
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="2.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" encoding="UTF-8" indent="yes" omit-xml-declaration="no" />
<!-- Our goal is to come up with output XML in a folder structure -->
<xsl:template match="/">
<resources>
<integer name="email_account_name_style">
<xsl:choose>
<xsl:when
test="Settings/Setting[@Type = 'e-mail settings']/SettingAttributes/SettingAttribute[@Name = 'email account name style']/@Value = 'NONE'">
0
</xsl:when>
<xsl:when
test="Settings/Setting[@Type = 'e-mail settings']/SettingAttributes/SettingAttribute[@Name = 'email account name style']/@Value = 'EMAIL'">
1
</xsl:when>
<xsl:when
test="Settings/Setting[@Type = 'e-mail settings']/SettingAttributes/SettingAttribute[@Name = 'email account name style']/@Value = 'DOMAIN'">
2
</xsl:when>
</xsl:choose>
</integer>
<integer name="push_email">
<xsl:choose>
<xsl:when
test="Settings/Setting[@Type = 'e-mail settings']/SettingAttributes/SettingAttribute[@Name = 'email push']/@Value = 'Yes'">
1
</xsl:when>
<xsl:when
test="Settings/Setting[@Type = 'e-mail settings']/SettingAttributes/SettingAttribute[@Name = 'email push']/@Value = 'No'">
0
</xsl:when>
</xsl:choose>
</integer>
<bool name="enable_cost_warning">
<xsl:choose>
<xsl:when
test="Settings/Setting[@Type = 'e-mail settings']/SettingAttributes/SettingAttribute[@Name = 'cost warning']/@Value = 'Yes' ">
true
</xsl:when>
<xsl:when
test="Settings/Setting[@Type = 'e-mail settings']/SettingAttributes/SettingAttribute[@Name = 'cost warning']/@Value = 'No' ">
false
</xsl:when>
</xsl:choose>
</bool>
<bool name="enable_linked_in_connection">
<xsl:choose>
<xsl:when
test="Settings/Setting[@Type = 'e-mail settings']/SettingAttributes/SettingAttribute[@Name = 'linkedin integration in e-mail']/@Value = 'Yes'">
true
</xsl:when>
<xsl:when
test="Settings/Setting[@Type = 'e-mail settings']/SettingAttributes/SettingAttribute[@Name = 'linkedin integration in e-mail']/@Value = 'No'">
false
</xsl:when>
</xsl:choose>
</bool>
<bool name="truncation_size_in_bytes">
<xsl:choose>
<xsl:when
test="Settings/Setting[@Type = 'e-mail settings']/SettingAttributes/SettingAttribute[@Name = 'show truncation limit in bytes']/@Value = 'Yes'">
true
</xsl:when>
<xsl:when
test="Settings/Setting[@Type = 'e-mail settings']/SettingAttributes/SettingAttribute[@Name = 'show truncation limit in bytes']/@Value = 'No'">
false
</xsl:when>
</xsl:choose>
</bool>
</resources>
</xsl:template>
</xsl:stylesheet>
Мой выходной XML-файл выглядит так (Trial.out.xml):
<?xml version="1.0" encoding="utf-8"?>
<resources>
<integer name="email_account_name_style">0</integer>
<integer name="push_email">1</integer>
<bool name="enable_cost_warning">false</bool>
<bool name="enable_linked_in_connection">false</bool>
<bool name="truncation_size_in_bytes">true</bool>
</resources>
Приведенный выше вывод генерируется как Trial.out.xml Но мне нужен этот вывод как con.xml в следующей структуре папок E: \ sour \ resource \ values
Я пытался использовать приведенный ниже фрагмент кода в XSL, но он ничего не дает:
<xsl:variable name="filename"
select="concat('E:\sour\resource\values\','con','.xml')" />
<xsl:value-of select="$filename" /> <!-- Creating -->
<xsl:result-document href="E:\sour\resource\values\" format="xml">
Пожалуйста, помогите мне
С уважением, Lahari P