这里有很多帮助将 XSLT 1.0 转换为 2.0,但我需要另辟蹊径!
好的,我有一个在 XSLT 2.0 中工作的 XSL 文件:我需要将此文件转换为 XSLT 1.0。现在,我知道转换已经挂在“结果文档”上,但我不知道如何解决这个问题。而且,我不确定我的其他信息是否会转换为 1.0:我的 value-of select= 语句是否仍然有效?帮助!(谢谢)!
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"/>
<xsl:template match="/">
<xsl:result-document href="output.xml" method="xml">
<playlist>
<xsl:for-each select="//dict[preceding-sibling::*[1]='Tracks']/dict">
<Track>
<Artist>
<xsl:value-of select="*[preceding-sibling::*[1][local-name()='key'] = 'Artist']"/>
</Artist>
<Album>
<xsl:value-of select="*[preceding-sibling::*[1][local-name()='key'] = 'Album']"/>
</Album>
<Songname>
<xsl:value-of select="*[preceding-sibling::*[1][local-name()='key'] = 'Name']"/>
</Songname>
<TrackID>
<xsl:value-of select="*[preceding-sibling::*[1][local-name()='key'] = 'Track ID']"/>
</TrackID>
<TagID>
<xsl:value-of select="*[preceding-sibling::*[1][local-name()='key'] = 'Tag ID']"/>
</TagID>
</Track>
</xsl:for-each>
<xsl:for-each select="//dict[preceding-sibling::*[1]='Upload Information']">
<Description>
<xsl:value-of select="*[preceding-sibling::*[1][local-name()='key'] = 'Playlist Description']"/>
</Description>
<Title>
<xsl:value-of select="*[preceding-sibling::*[1][local-name()='key'] = 'Playlist Title']"/>
</Title>
<Username>
<xsl:value-of select="*[preceding-sibling::*[1][local-name()='key'] = 'Username']"/>
</Username>
<Token>
<xsl:value-of select="child::*[preceding-sibling::*[1] = 'Token']"/>
</Token>
</xsl:for-each>
</playlist>
</xsl:result-document>
</xsl:template>