我的xml中有这个元素:
app.UseMvc(routes =>
{
routes.MapRoute(name: "areaRoute",
template: "{area}/{controller=Home}/{action=Index}");
routes.MapRoute(
name: "default",
template: "{controller=Home}/{action=Index}");
});
我希望输出为
<para><link href="D52871.dita">abc</link>
</para>
我在开始时使用了身份变换来复制一切。 我试过这段代码片段
<para><link id="D52871">abc</link>
</para>
但它不起作用可能是因为我需要指定link元素在para内。尝试过几种方法来包含但迄今为止都没有。
答案 0 :(得分:1)
以下对我来说没问题
<xsl:stylesheet xmlns="http://www.w3.org/TR/xhtml1/strict" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xs="http://www.w3.org/2001/XMLSchema" version="1.0">
<xsl:output method ="xml" indent="yes"/>
<xsl:template match="@*|node()">
<xsl:copy>
<xsl:apply-templates select="@*|node()"/>
</xsl:copy>
</xsl:template>
<xsl:template match="link/@href">
<xsl:attribute name="id">
<xsl:value-of select="substring-before(.,'.')"/>
</xsl:attribute>
</xsl:template>
</xsl:stylesheet>
输入:
<?xml version="1.0" encoding="UTF-8"?>
<para>
<link href="D52871.dita">abc</link>
</para>
输出:
<?xml version="1.0" encoding="UTF-8"?>
<para>
<link id="D52871">abc</link>
</para>