xsl-list
[Top] [All Lists]

[xsl] Transforming xml to tex

2008-07-16 12:24:32
Hello,

I need some help with xslt. I try to transform xml to tex and all is working
except for one point. I have a paragraph tag and inside this a glossary tag
like this: <p>here is the text <glossterm>glossary term</glossterm> more
text</p>

I need to know if there is a punctuation mark after the glossary tag.
I tried following:

  <xsl:variable name="text">
         <xsl:value-of select="normalize-space(syntax:convert(parent::*))"/>
  </xsl:variable>

  <xsl:variable name="glossaryterm">
         <xsl:value-of select="normalize-space(syntax:convert(.))"/>
  </xsl:variable>

  <xsl:variable name="testFall">
        <xsl:value-of select="substring-after($text,$glossaryterm)"/>
  </xsl:variable>
        <xsl:choose>
     <xsl:when test="starts-with($testFall,',') or
starts-with($testFall,';') or starts-with($testFall,'.') or
starts-with($testFall,':') or starts-with($testFall,'?') or
starts-with($testFall,'!') or starts-with($testFall,'(') or
starts-with($testFall,')') or starts-with($testFall,'{') or
starts-with($testFall,'}') or starts-with($testFall,'[') or
starts-with($testFall,']') or starts-with($testFall,'-')">
       <xsl:text>}</xsl:text>
     </xsl:when>
     <xsl:otherwise>
       <xsl:text>} </xsl:text>
     </xsl:otherwise>
   </xsl:choose>

This works only if the $glossaryterm appears only (or at least primarily)
inside the glossterm. Otherwise the $testFall contains not want I need.

Has anybody an idea how I can get the first character after the glossterm.

Many thanks

Michael
-- 
Michael Obermeier
UNICO Media GmbH
Softwareentwicklung & Support
Aldringenstraße 4

80639 München
UNICO Media GmbH
Geschäftsführer Christian Fuchs
Amtsgericht HRB 116178
Sitz der Gesellschaft ist München


Tel. +49-(0)89-1893533-21
Fax  +49-(0)89-1893533-11



--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--

<Prev in Thread] Current Thread [Next in Thread>