我使用Indesign并使用xslt导入xml文件 我的xml文件是这样的:
...
<_04_Questions>
<_04_QuestionsTitre>Ceci est le titre 1</_04_QuestionsTitre>
<_04_QuestionsTexte>Ceci est le texte 2</_04_QuestionsTexte>
<_04_BlocAncreA1 href="file:/images/myimage1.png"></_04_BlocAncreA1>
</_04_Questions>
<_04_Questions>
<_04_QuestionsTitre>Ceci est le titre 1</_04_QuestionsTitre>
<_04_QuestionsTexte>Ceci est le texte 2</_04_QuestionsTexte>
<_04_BlocAncreA1 href="file:images/myimage2.png"></_04_BlocAncreA1>
</_04_Questions>
...
我想在每个&lt; _04_Questions&gt;之后添加一个新的图像,例如&#34; imagesupp01&#34;首先,&#34; imagesupp02&#34;对于第二个...
我的xslt的一部分是这样的:
<xsl:for-each select="Randoland/_04_BlocTexte/_04_Questions">
...
<xsl:element name="_04_BlocAncreA1">
<xsl:attribute name="href">
<xsl:value-of select="_04_BlocAncreA1/@href"/>
</xsl:attribute>
</xsl:element>
...
????
</xsl:for-each>
我可以添加什么?添加新图像,每个步骤后都不同? 谢谢
答案 0 :(得分:1)
你可能根本不需要xsl:for-each
,你可以做到
<xsl:template match="_04_BlocAncreA1">
<xsl:copy-of select="."/>
<element>
<xsl:text>imagesupp</xsl:text>
<xsl:number count="_04_questions" format="001"/>
</element>
</xsl:template>
不确定你想要调用的元素,我在这里只使用了element
,但是它应该展示这个概念。
这假设您希望新元素紧跟在_04_BlocAncreA1
元素之后。它在您的代码示例中是相同的,但如果您真正需要的是新元素在_04_Questions
元素的末尾,那么您可以使用它:
<xsl:template match="_04_Questions">
<xsl:copy>
<xsl:apply-templates select="@* | node()"/>
<element>
<xsl:text>imagesupp</xsl:text>
<xsl:number count="_04_Questions" format="001"/>
</element>
</xsl:copy>
</xsl:template>