view software/eXist/webapp/mpdl/presentation/functions-functx.xsl @ 7:5589d865af7a

Erstellung XQL/XSL Applikation
author Josef Willenborg <jwillenborg@mpiwg-berlin.mpg.de>
date Tue, 08 Feb 2011 15:16:46 +0100
parents
children
line wrap: on
line source

<?xml version="1.0"?>
<xsl:stylesheet version="2.0" 
 xmlns:xsl="http://www.w3.org/1999/XSL/Transform" 
 xmlns:xlink="http://www.w3.org/1999/xlink"
 xmlns:functx="http://www.functx.com"
 xmlns:xs="http://www.w3.org/2001/XMLSchema">

<!-- see http://www.xsltfunctions.com     -->
<xsl:function name="functx:contains-any-of" as="xs:boolean">
  <xsl:param name="arg" as="xs:string?"/> 
  <xsl:param name="searchStrings" as="xs:string*"/> 
  <xsl:sequence select="some $searchString in $searchStrings satisfies contains($arg,$searchString)"/>
</xsl:function>

<xsl:function name="functx:cutStringBefore">
  <xsl:param name="inputString" as="xs:string"/>
  <xsl:param name="cutLength" as="xs:integer"/>
  <xsl:variable name="length" select="string-length($inputString)"/>  
  <xsl:if test="$length &gt; $cutLength"> (...)</xsl:if>
  <xsl:value-of select="substring($inputString, $length - $cutLength)"/>  
</xsl:function>

<xsl:function name="functx:cutStringAfter">
  <xsl:param name="inputString" as="xs:string"/>
  <xsl:param name="cutLength" as="xs:integer"/>
  <xsl:variable name="length" select="string-length($inputString)"/>  
  <xsl:value-of select="substring($inputString, 0, $cutLength)"/>  
  <xsl:if test="$length &gt; $cutLength">(...) </xsl:if>
</xsl:function>

<xsl:function name="functx:sort" as="item()*">
  <xsl:param name="seq" as="item()*"/> 
  <xsl:for-each select="$seq">
    <xsl:sort select="."/>
    <xsl:copy-of select="."/>
   </xsl:for-each>
</xsl:function>   


</xsl:stylesheet>