2011-09-29 95 views
0

转换的动态值列表以XML多个动态值,我需要在XSLT XML格式显示:从XML到XSLT

<?xml version="1.0" encoding="ISO-8859-1" ?> 
- <TreatySeries> 
- <AnnexTitle Number="A"> 
    <EngAnnexNumber /> 
    <FrAnnexNumber /> 
    <Footer>Volume 150</Footer> 
    <Topofpage /> 
    </AnnexTitle> 
- <AnnexEntry> 
- <Footnote> 
    <EngFootNote>United Nations, Treaty Series, vol. 123, I-1654.</EngFootNote> 
    <FrnFootNote>Nations Unies, Recueil des Traités, vol. 123, I-1654.</FrnFootNote> 
    </Footnote> 
- <AnnexEntryHeader> 
- <EngAnnexHeader> 
    <TreatyNumber>1654</TreatyNumber> 
- <Participants> 
    <Participant>Advisory Centre on WTO Law</Participant> 
    <Participant>Afghanistan</Participant> 
    <Participant>Agency for the Safety of Air Navigation in Africa and Madagascar</Participant> 
    <Participant>Finland</Participant> 
    </Participants> 

在XML中多次我需要在XSLT显示这些动态的参与者。 这种格式< ......> 麻烦在XSLT如何在一个指定的格式

No. 1654. <participant1><participant2><participant3><participant4><......>No. 1654. Centre consultatif sur 
la législation de l'OMC 
CONVENTION BETWEEN THE 
KINGDOM OF BELGIUM, THE 
GRAND DUCHY OF LUXEMBOURG 
AND THE KINGDOM OF 
THE NETHERLANDS RELATING 
TO THE UNIFICATION OF EXCISE 
DUTIES AND OF FEES FOR THE 
WARRANTY OF ARTICLES OF 
PRECIOUS METALS. THE HAGUE, 
18 FEBRUARY 1950 [United 
Nations, Treaty Series, vol. 123, I-1654.] 

XSLT码显示动态多个值:

<xsl:value-of select="$AnnexEntry/AnnexEntryHeader/EngAnnexHeader/Participants/Participant[1]"/> </w:t> 
              <xsl:if test="count($AnnexEntry/AnnexEntryHeader/EngAnnexHeader/Participants/Participant) = 2"> 
               <xsl:variable name="participant2Eng" select="$AnnexEntry/AnnexEntryHeader/EngAnnexHeader/Participants/Participant[2]"/> 
               <w:t><xsl:value-of select="concat('',$stringAndEng,' ',$participant2Eng)"/></w:t> 
              </xsl:if> 

,但我需要显示动态值。

+0

格式化您的代码:http://meta.stackexchange.com/questions/22186/how-do-i-format-my-code-blocks –

+0

我真的不明白什么是写和什么 你正在努力去做。如果你没有澄清你的问题,我们不能帮你。只需提供一个小输入.xml示例以及所需的输出示例以及当前输出。 – FailedDev

回答

0

如果我没有理解好了,你想显示你的输出范围内的所有标签,你可以试试

<xsl:stylesheet version="1.0" 
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> 

<xsl:template match="/Participants"> 
    <xsl:for-each select='Participant'> 
    <xsl:value-of select='.'> 
    </xsl:for-each> 
</xsl:template> 

</xsl:stylesheet> 

我需要在我的输出显示多个参与者的价值观像

<participant1><participant2><participant3>.......<participantN> 
在XSL

如何编写代码