以下是我的xml输入示例:
<div type="chapter">
<head>« <hi rend="i">Ad formam ########## te levavi</hi> » (<hi rend="i"
>Gilbert</hi>, chap. XL) ########</head>
<head>
<name type="author">Gilbert C<hi rend="smallcaps">ooker</hi>
</name>
<name type="location">#####College, Oxford</name>
</head>
<pb n="15" xml:id="p15"/>
<p>Tous les lecteurs de <hi rend="i">Gilbert</hi>, des ####### passés maîtres aux
amateurs friands de #############, connaissent et apprécient la repartie concernant le visage
############<note xml:id="N2" place="bottom"> Gilbert, <hi
rend="i">#######</hi>, éd. Mireille Huchon, Paris, #########, <hi rend="i">Gargantua</hi>, chap. XXXVII, p. 78. </note> , dont
les compagnons ################# : « Pourquoy, dist Gargantua, est ce, que frere
Jean a si beau nez ? »<note xml:id="N3" place="bottom">
<hi rend="i">Gargantua</hi>, chap. XL, p. 112. </note> Si Gilbert y voit une
manifestation de la volonté de #####, Valérie estime « qu'il feut des premiers à la #####################
des nez. Il print des plus beaulx et plus grands »<note xml:id="N4" place="bottom">
<hi rend="i">Ibid.</hi>
</note> . ###############################################
« tetins moletz de sa nourrice », qui avaient donné libre cours à la croissance de son nez,
alors que « les durs tetins de nourrices font les enfans camuz ». La question de la dureté
############# également Marot, qui dans une épigramme, <hi rend="i">Du tetin de
Catin</hi>, réfléchit ainsi :</p>
<quote>
<p>Il est tel, et si profitable / Que si du nez hurtoit quelqu'un, / Contre iceluy (sans
nulle fable) / Il ne se feroit mal aucun<note xml:id="N5" place="bottom"> Clément Marot,
<hi rend="i">Œuvres poétiques complètes</hi>, éd. Gérard Defaux, Paris, Bordas,
1993, t. II, p. 329, v. 5-8. </note> .</p>
</quote>
<p>Et Gilbert d'achever #################### et allusif : <hi rend="i">Ad formam
#################</hi>. La première partie est à la fois une allusion à la
physiognomonie – ####################################
où le Christ parle du figuier : <hi rend="i">A fructibus eorum cognoscetis eos</hi> (Mt 7,
16 et 20). La deuxième partie est le début du Psaume 123 (122), <hi rend="i">Ad te levavi
oculos meos</hi>, avec allusion grivoise à l'érection et à la corrélation populaire
###############################.</p>
<pb n="16" xml:id="p16"/>
<p>Devant le fait que Frère Jean n'est pas le seul des personnages de la geste à avoir un grand
####################### « avoit le nez un peu aquillin faict à manche de
rasouer »<note xml:id="N6" place="bottom"> Gilbert, <hi rend="i">Pantagruel</hi>,
chap. XVI, p. 272. </note> –, ##################### conclusion concernant
Gilbert que</p>
</div>
我需要计算2 pb标签之间的音符标签,以便获得这样的音符标签,例如:
<note xml:id="N2-1" place="bottom">...</note>
<note xml:id="N3-2" place="bottom">...</note>
短划线后面的数字表示2 pb标签之间的注释标记的位置(如<pb n="15" xml:id="p15"/>
中所示)
问题是有时候pb标签在xml中总是没有相同的位置。他们可以是前面的元素或前兄弟姐妹或其他...
注意标记始终位于2个pb标记之间(如<pb n="15" xml:id="p15"/>
中所示。我需要的是指示每个标记标记在这些2 pb标记之间的位置,无论pb标记位于何处以及后。
我希望你能够帮助我。我已经尝试了很多天使用xsl:number但是不能成功... 它有点复杂,因为我的xml文件非常大。 提前谢谢了, FLO
答案 0 :(得分:0)
根据@ michael.hor257k的建议,我认为你可以用
做到这一点<xsl:template match="note">
<xsl:variable name="N">
<xsl:number level="any" from="pb"/>
</xsl:variable>
<note xml:id="{@xml:id}-{$N}">
<xsl:value-of select="."/>
</note>
</xsl:template>