Subject: [xsl] XSL | index-of() From: "Janine Lantzsch loderndesfeuer@xxxxxx" <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx> Date: Fri, 27 Sep 2019 09:07:50 -0000 |
Hello community, I am new in this list and hope very much that someone can help me or give me an input with which I can continue to work. I would like to use XSL to check whether a abbreviation from a list appears in a certain string of recurring elements. The abbreviation is always written in brackets. The source file looks like this (very simplified): <?xml version="1.0" encoding="UTF-8"?> <all> <abbreviations> <abbr>ABG</abbr> <abbr>AGI</abbr> <abbr>BBL</abbr> <abbr>ECK</abbr> </abbreviations> <documents> <doc no="1">The abbreviation (ABG) appears in this doc.</doc> <doc no="2">This doc has no shortcut.</doc> <doc no="3">An abbreviation (BBL).</doc> <doc no="4">And here (ECK).</doc> <doc no="5">And here again (ECK).</doc> </documents> </all> Only unfortunately I still have a bug somewhere with the index-of. Maybe the more experienced of you will see right away what's wrong with my code. I've been brooding since last night and can't find a solution :( <?xml version="1.0" encoding="UTF-8"?> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:fn="http://www.w3.org/2005/xpath-functions" version="2.0"> <xsl:output method="xml" encoding="UTF-8"/> <xsl:template match="all"> <xsl:variable name="abbr" select="abbreviations/abbr"/> <all> <xsl:for-each select="//doc"> <xsl:variable name="actdoc" select="."/> <xsl:if test="fn:contains($actdoc, fn:index-of($abbr, $actdoc))"> <doc> <xsl:attribute name="no"><xsl:value-of select="@no"/></xsl:attribute> <xsl:value-of select="$actdoc"/> </doc> </xsl:if> </xsl:for-each> </all> </xsl:template> </xsl:stylesheet> The output should look something like this: <all> <doc no="1">ABG</doc> <doc no="3">BBL</doc> <doc no="4">ECK</doc> <doc no="5">ECK</doc> </all> Thank you so much for your help! Many greetingsJanine S. XSL-List info and archiveEasyUnsubscribe (by email)
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Aw: [xsl] how to make a group-by mu, Martin Honnen martin | Thread | Re: [xsl] XSL | index-of(), Michael Kay mike@xxx |
Re: [xsl] how to make a group-by mu, Geert Bormans geert@ | Date | Re: [xsl] XSL | index-of(), Michael Kay mike@xxx |
Month |