[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message]

Re: How Move Footnote in Paragraph

Subject: Re: How Move Footnote in Paragraph
From: "Mukul Gandhi" <gandhi.mukul@xxxxxxxxx>
Date: Tue, 4 Jul 2006 12:45:46 +0530
footnote id
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>

<!-- 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, &#x201C;state,&#x201D; see <Intref
Refid="Ch02Lev1001">Chapter 2(A)</Intref>.</Smalltext></Fnote>
</document>

is transformed with this stylesheet:

<?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>

</xsl:stylesheet>

the desired output is produced:

<?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

On 7/3/06, Byomkesh <bkesh@xxxxxxxxxxxxxxx> wrote:
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, &#x201C;state,&#x201D; 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,
&#x201C;state,&#x201D; 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

PURCHASE STYLUS STUDIO ONLINE TODAY!

Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!

Buy Stylus Studio Now

Download The World's Best XML IDE!

Accelerate XML development with our award-winning XML IDE - Download a free trial today!

Don't miss another message! Subscribe to this list today.
Email
First Name
Last Name
Company
Subscribe in XML format
RSS 2.0
Atom 0.3
Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member
Stylus Studio® and DataDirect XQuery ™are products from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2013 All Rights Reserved.