有必要對我來說,處理文本和圖像序列以這樣的方式文本的管理序列和圖像
- 圖片內部通知:如果我們發現DESCRIPTION \ IMG中,SRC的 值等於第一個ATTACHED_FILENAME。
- 外部圖像注意到:在這種情況下,沒有第二實施方式/ IMG和第二ATTACHED_FILENAME獨自是。
在實踐中,我將每個IMG與相應的ATTACHED_FILENAME相關聯,但如果不存在相應的IMG,則ATTACHED_FILENAME在此情況下是警報的外部圖像。
這是我的XML:
<NTC_SD_NOTICE>
<PUBLISH_NUMBER>2 caso</PUBLISH_NUMBER>
<PUBLICATION_REF>
<PUBLICATION_SHORT_TITLE>Portolano P8</PUBLICATION_SHORT_TITLE>
<PUBLICATION_EDITION_YEAR>2013</PUBLICATION_EDITION_YEAR>
<PUBLICATION_PAGE>128</PUBLICATION_PAGE>
</PUBLICATION_REF>
<REGION>15-Mar Ligure - Francia (Corsica)</REGION>
<VICINITY>Appartamento tuo</VICINITY>
<SUBJECT>Fotografie</SUBJECT>
<AUTHORITY>Compamare Arzachena</AUTHORITY>
<PROJECT>230/8562</PROJECT>
<INSTRUCTION_LIST>
<INSTRUCTION_LIST_ITEM>
<NTC_SD_INSTRUCT>
<ACTION>Inserire</ACTION>
<PLACEMENT>dopo la riga 1:</PLACEMENT>
<DESCRIPTION>
<P>Dietro al monte si vede una meda cardinale sud.</P>
<P>
<IMG border="0" hspace="0" alt="" align="baseline" src="C:\Users\l_sturla\Desktop\meda.JPG"/> <-- First image
</P>
</DESCRIPTION>
<ATTACHMENT_LIST>
<ATTACHMENT>
<ATTACHED_FILENAME>meda.JPG</ATTACHED_FILENAME> <-- Attribute first image
</ATTACHMENT>
<ATTACHMENT>
<ATTACHED_FILENAME>altro.JPG</ATTACHED_FILENAME> <-- In this case there are no second IMG, this is an external image.
</ATTACHMENT>
</ATTACHMENT_LIST>
</NTC_SD_INSTRUCT>
</INSTRUCTION_LIST_ITEM>
<INSTRUCTION_LIST_ITEM>
<NTC_SD_INSTRUCT>
<ACTION>Sostituire</ACTION>
<PLACEMENT>le righe 34 ÷ 50 con:</PLACEMENT>
<DESCRIPTION>Proseguire per il centro del canale e prestare attenzione al relitto sulla dritta.</DESCRIPTION>
<ATTACHMENT_LIST>
<ATTACHMENT>
<ATTACHED_FILENAME>relitto.JPG</ATTACHED_FILENAME>
</ATTACHMENT>
</ATTACHMENT_LIST>
</NTC_SD_INSTRUCT>
</INSTRUCTION_LIST_ITEM>
</INSTRUCTION_LIST>
</NTC_SD_NOTICE>
這是我的XSLT 1.0:
模板內部圖像:(它運行得非常好感謝馬丁Honnen)
<!-- TEMPLATE PER LE IMMAGINI INTERNE ALL'AVVISO -->
<xsl:template match="//IMG">
<span style="font-style:italic">
<img src="{key('attachment-by-pos', concat(generate-id(ancestor::NTC_SD_INSTRUCT), '|', count(../preceding-sibling::*//IMG)))/ATTACHED_FILENAME}"/>
</span>
</xsl:template>
模板外部圖像:(不行 - 這是沒有關聯的IMG所有ATTACHED_FILENAME)
<xsl:template name="allegati">
<center><xsl:text>Allegati:</xsl:text></center>
<xsl:for-each select="INSTRUCTION_LIST/INSTRUCTION_LIST_ITEM/NTC_SD_INSTRUCT/ATTACHMENT_LIST/ATTACHMENT/ATTACHED_FILENAME">
<center>
<img src="{key('attachment-by-pos', concat(generate-id(ancestor::NTC_SD_INSTRUCT), '|', count(../preceding-sibling::*//IMG)))/ATTACHED_FILENAME}"/>
</center>
</xsl:for-each>
</xsl:template>
在這種情況下,輸出必須是:
別名選擇DOPO LA里加1:Dietro人蒙SI vede烏納梅達Cardinale的SUD。
-IMMAGINE MEDA.jpg-
Sostituire勒righe 34 ÷ 50 CON:Proseguire每IL炫酷德爾CANALEËprestare attenzione人relitto蘇拉dritta。
Allegati:
-IMMAGINE altro.jpg-
-IMMAGINE relitto.jpg -
這部分突出了大膽的文字不運行。
此致敬禮。
謝謝Tim的寶貴合作。 – Luisa