XSLT 更改单个属性

问题描述 投票:0回答:2

我有一个像这样的简单 XML:

<?xml version="1.0" encoding="utf-8"?><Sequence path="D:\folder\File1" item1="24" item2="false"><item3="30" item4="true"/></Sequence>
<xsl:stylesheet version="1.0" >
 <xsl:output method="xml" indent="yes" version="1.0" omit-xml-declaration="yes" />
<xsl:template match="/" >
<Sequence path="<xsl:value-of select="parameter1"" item1="24" item2="false" >
 <OpenSupport item3="30" item4="true" />
 </Sequence>
 </xsl:template>
 </xsl:stylesheet>

我只需要动态修改“路径”(标记为粗体),我尝试插入 xsl:value-of 失败,

任何人都可以建议我解决这个问题的方法吗?

xslt attributes
2个回答
0
投票

好吧,对于初学者来说,您的源文档和样式表都不是格式良好的 XML,因此您显然还有一段路要走。

您向我们展示的代码有很多问题,但最明显的是您不能在属性中使用 xsl:value-of。相反,您需要一个属性值模板:类似

<Sequence path="{parameter1}">

但我不知道

parameter1
应该是什么。


0
投票

我有这个输入文件:

<?xml version="1.0" encoding="utf-8"?>
<soa:Label identifier="1f9b3588-d069-416b-b7da-e32d203c5bac" name="Label" description="" leftaligncheckboxes="false" instance="c9a32ab9-248e-485f-8f09-b2dd6bc574f0" signature="00000000-0000-0000-0000-000000000000" menuname="" itemmode="closed" xmlns:soa="urn:jondoe.net:soa:core">
    <soa:Parameter type="string" identifier="a2eecb22-53aa-4af4-a7ee-f8a97108d777" bindable="True" name="FilePath" enabled="true" disableable="false" browsable="true" optionseditable="false" row="-1" column="-1" columnspan="1" maxlines="-1">d:\folder\file1.txt<soa:Default></soa:Default>
        <soa:IsRequired>false</soa:IsRequired>
    </soa:Parameter>
</soa:Label>

实际上它是一个包含单个参数“FilePath”的表,我需要将其插入到输出文件中:

<?xml version="1.0" encoding="utf-8"?>
<Sequence path="d:\folder\file1.txt" rate="24" failOnGap="false">
    <OpenSupport timeout="30" enabled="true"/>
</Sequence>
© www.soinside.com 2019 - 2024. All rights reserved.