Re: [xsl] Tagging of text() with using apply templates

Subject: Re: [xsl] Tagging of text() with using apply templates
From: Mukul Gandhi <gandhi.mukul@xxxxxxxxx>
Date: Mon, 25 Oct 2010 14:32:23 +0530
I would suggest a stylesheet something like below:

(this is of 2.0 flavor, incomplete -- but i believes gives a fair idea
of the algorithm i have in mind, and untested)

<!-- identity template -->
<xsl:template match="node() | @*">
    <xsl:copy>
        <xsl:apply-templates select="node() | @*" />
    </xsl:copy>
</xsl:template>

<xsl:template match="ref">
     <bibentry type="{concat('bib', label)}" publication="{if
(mixed-citation/@publication-type) =

        'journal' then 'jurnl' else ()}">
          <xsl:apply-templates/>
     </bibentry>
</xsl:template>

<xsl:template match="label">
    <num>
        <xsl:value-of select="." />
    </num>
</xsl:template>

<xsl:template match="mixed-citation">
       <authorgrp>
           <xsl:for-each select="name">
              <author>
                  <xsl:copy-of select="surname" />
                  <fname>
                     <xsl:value-of select="given-names" />
                  </fname>
               </author>
            </xsl:for-each>
         </authorgrp>
         <article type="title">
             <xsl:value-of select="article-title" />
          </article>
          <article type="jurnl">
              <xsl:value-of select="source" />
          </article>
          <!--
              to write something more here.
           -->
</xsl:template>

<xsl:template match="text()[not(normalize-space(.) =
'-')][preceding-sibling::node()[1]/self::*]">
  <x><xsl:value-of select="normalize-space(.)" /></x>
</xsl:template>

On Mon, Oct 25, 2010 at 1:45 AM, chirag matkar
<chiragmatkarbioinfo@xxxxxxxxx> wrote:
> Input is
> B  B  B  B  <ref id="B5">
> B  B  B  B <label>5</label>
> B  <mixed-citation publication-type="journal">
> B  B  B  B  B  B <name>
> B  B  B  B  B  B  B <surname>Kaplan</surname>,
> B  B  B  B  B  B  B <given-names>SH</given-names>
> B  B  B  B  B  B </name>;
> B  B  B  B  B  B <name>
> B  B  B  B  B  B  B <surname>Greenfield</surname>,
> B  B  B  B  B  B  B <given-names>S</given-names>
> B  B  B  B  B  B </name>;
> B  B  B  B  B  B <name>
> B  B  B  B  B  B  B <surname>Ware</surname>,
> B  B  B  B  B  B  B <given-names>JE</given-names>
> B  B  B  B  B  B </name>.
> B  B  B  B  B <article-title>Assessing the effects of physician-patient
> interactions on the outcome of chronic disease</article-title>,
> B  B  B  B  B <source>Med Care</source>,
> B  B  B  B  B <year>1989</year>,
> B  B  B  B  B <volume>27</volume>,
> B  B  B  B  B <supplement>suppl 3</supplement>,
> B  B  B  B  B <fpage>110</fpage>-
> B  B  B  B  B <lpage>125</lpage>
> B  B  B  B </mixed-citation>
> B  B  B </ref>
>
>
> Required output
>
> <bibentry type="bib5" publication="jurnl">
> B  B  B  B <num>5</num>
> <authorgrp>
> B  B  B  B  B  B <author>
> B  B  B  B  B  B  B <surname>Kaplan</surname><x>,</x>
> B  B  B  B  B  B  B <fname>SH</fname>
> B  B  B  B  B  B </author><x>;</x>
> B  B  B  B  B <author>
> B  B  B  B  B  B  B <surname>Greenfield</surname><x>,</x>
> B  B  B  B  B  B  B <fname>S</fname>
> B  B  B  B  B  B </author><x>,</x>
> B  B  B  B  B  B <author>
> B  B  B  B  B  B  B <surname>Ware</surname><x>,</x>
> B  B  B  B  B  B  B <fname>JE</fname>
> B  B  B  B  B  B </author><x>.</x>
> </authorgrp>
> B  B  B  B  B <article type="title">Assessing the effects of
> physician-patient interactions on the outcome of chronic
> disease</article-title>,
> B  B  B  B  B <article type="jurnl">Med Care</article><x>,</x>
> B  B  B  B  <date year="1989"> 1989</date><x>,</x>
> B  B  B  B  B <volnum>27</volnum><x>,</x>
> B  <pagefield>
> B  B  B  B  B <fpage>110</fpage>-
> B  B  B  B  B <lpage>125</lpage>
> </pagefield>
> B  B  B </bibentry>
>
>
> In output Mainly except - ,everthing else like . , ; should come under <x>
tag
> Also the input of , , ; can be random
>
> I have use apply templates sequentially for authorgrp and others but
> the random input of . , ; is not B tagged inside <x>
>
>
> --
> Regards,
> Chirag Matkar




--
Regards,
Mukul Gandhi

Current Thread