Subject: Re: [xsl] How Move Footnote in Paragraph From: "Mukul Gandhi" <gandhi.mukul@xxxxxxxxx> Date: Tue, 4 Jul 2006 12:45:46 +0530 |
Hi Byomkesh, When this source XML:
<?xml version="1.0" encoding="UTF-8"?> <document> <Text>This zine is about Egyptology<Intref Refid="Pref02fn1"><Sup>1</Sup></Intref> <Intref Refid="Page_50">50</Intref></Text> <Text>States Accepting the<Intref Refid="Pref02fn2"><Sup>2</Sup></Intref> <Intref Refid="Page_127">127</Intref></Text>
<Fnote Id="Pref02fn1" Label="1" Type="Footnote"><Smalltext>1. Source: United Nations.</Smalltext></Fnote> <Fnote Id="Pref02fn2" Label="2" Type="Footnote"><Smalltext>2. Source: International.</Smalltext></Fnote>
<Text>Structure that consists of 191 nation states.<Intref Refid="Ch01Fn01"><Sup>1</Sup></Intref>.</Text> <Fnote Id="Ch01Fn01" Label="1." Type="ChFootnote"><Smalltext><Emphasis Type="Bold">1.</Emphasis> As of 2005, “state,” see <Intref Refid="Ch02Lev1001">Chapter 2(A)</Intref>.</Smalltext></Fnote> </document>
<?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" indent="yes"/> <xsl:template match="/document"> <document> <xsl:apply-templates select="Text" /> </document> </xsl:template>
<xsl:template match="Text"> <para> <xsl:apply-templates /> </para> </xsl:template> <xsl:template match="Intref"> <xsl:choose> <xsl:when test="ancestor::Fnote"> <link id="{@Refid}"> <xsl:apply-templates /> </link> </xsl:when> <xsl:otherwise> <xsl:choose> <xsl:when test="starts-with(@Refid, 'Pref')"> <footnote id="{@Refid}" label="{../following-sibling::Fnote[@Id = current()/@Refid]/@Label}"> <xsl:copy-of select="../following-sibling::Fnote[@Id = current()/@Refid]//text()" /> </footnote> </xsl:when> <xsl:when test="starts-with(@Refid, 'Page')"> <xsl:apply-templates /> </xsl:when> <xsl:when test="starts-with(@Refid, 'Ch')"> <footnote id="{@Refid}" label="{../following-sibling::Fnote[@Id = current()/@Refid]/@Label}"> <xsl:apply-templates select="../following-sibling::Fnote[@Id = current()/@Refid]" /> </footnote> </xsl:when> </xsl:choose> </xsl:otherwise> </xsl:choose> </xsl:template>
<xsl:template match="Fnote"> <xsl:apply-templates/> </xsl:template>
<xsl:template match="Smalltext"> <xsl:apply-templates/> </xsl:template>
<xsl:template match="Emphasis"> <xsl:copy-of select="." /> </xsl:template>
<?xml version="1.0" encoding="UTF-8"?> <document> <para>This zine is about Egyptology<footnote id="Pref02fn1" label="1">1. Sour ce: United Nations.</footnote> 50</para> <para>States Accepting the<footnote id="Pref02fn2" label="2">2. Source: International.</footnote> 127</para> <para>Structure that consists of 191 nation states.<footnote id="Ch01Fn01" la bel="1."> <Emphasis Type="Bold">1.</Emphasis> As of 2005, NCB#state,NCB% see <link id="Ch02Lev1001">Chapter 2(A)</link>.</footnote>.</para> </document>
Regards, Mukul
Hi,
I have problem facing in Linking Tags. Linking are 3 types.
<!-- Just remark Id -->
1. Pref02fn1 <!-- This footnote text move to paragraph in place of link tags. --> 2. Page_50 <!-- Page attribute is not required in output file. Means this tag is automatically remove. --> 3. Ch01Fn01 <!-- This footnote text move to paragraph in place of link tags. -->
This my following XML File -------------------------------------
<Text>This zine is about Egyptology<Intref Refid="Pref02fn1"><Sup>1</Sup></Intref> <Intref Refid="Page_50">50</Intref></Text> <Text>States Accepting the<Intref Refid="Pref02fn2"><Sup>2</Sup></Intref> <Intref Refid="Page_127">127</Intref></Text>
<!-- Preface Footnote -->
<Fnote Id="Pref02fn1" Label="1" Type="Footnote"><Smalltext>1. Source: United Nations.</Smalltext></Fnote> <Fnote Id="Pref02fn2" Label="2" Type="Footnote"><Smalltext>2. Source: International.</Smalltext></Fnote>
<!-- Chapter Footnote -->
<Text>Structure that consists of 191 nation states.<Intref Refid="Ch01Fn01"><Sup>1</Sup></Intref>.</Text> <Fnote Id="Ch01Fn01" Label="1." Type="ChFootnote"><Smalltext><Emphasis Type="Bold">1.</Emphasis> As of 2005, “state,” see <Intref Refid="Ch02Lev1001">Chapter 2(A)</Intref>.</Smalltext></Fnote>
I want Output file --> --------------------------------
<para>This zine is about Egyptology<footnote id="Pref02fn1" label="1">1. Source: United Nations.</footnote> 50</para> <para>States Accepting the<footnote id="Pref02fn2" label="2">2. Source: International.</footnote> 127</para>
<para>Structure that consists of 191 nation states.<footnote id="Ch01Fn01" label="1."<Emphasis Type="Bold">1.</Emphasis> As of 2005, “state,” see <link id="Ch02Lev1001">Chapter 2(A)</link>. <!-- This Link replace same format. --></footnote></para>
---------------------------------
My problem is how matching in particular footnote id and then move in right place. Secondly Link <Intref> tag is one but transform to three conditions. Third, If same link again appear in paragraph, its only replace link tag, for Exam. (<link id="Ch01Fn01">1</link> ).
Please carefully check in three condition.
Thanks
Byomkesh
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
[xsl] How Move Footnote in Paragrap, Byomkesh | Thread | Re: [xsl] Transforming multiple XML, Chad Chelius |
RE: [xsl] amp symbols, Michael Kay | Date | Re: [xsl] amp symbols, David Carlisle |
Month |