XSLT Select with 2 contains -
we using following select nodes 'experienceinfo' contains '582':
<xsl:apply-templates disable-output-escaping="yes" select="td:benutzer_zu_gastro[contains(td:experienceinfo, '582')]"> and select nodes 'kategorien' contains 'restaurant':
<xsl:apply-templates disable-output-escaping="yes" select="td:benutzer_zu_gastro[contains(td:kategorien, 'restaurant')]"> how combine 2 1 statement nodes selected experienceinfo contains 582 , kategorien contains restaurant?
many help!
it's simple must have thought "no, can't it":
<xsl:apply-templates select=" td:benutzer_zu_gastro[ contains(td:experienceinfo, '582') , contains(td:kategorien, 'restaurant') ] "> if xml looks <td:experienceinfo>582</td:experienceinfo> (etc.) can made simpler.
<xsl:apply-templates select=" td:benutzer_zu_gastro[ td:experienceinfo = '582' , td:kategorien = 'restaurant' ] "> two general notes
if xml has delimited lists
<td:experienceinfo>582,693</td:experienceinfo>(please doesn't) need usecontains()might idea include separator character avoid false positives:contains(concact(',', td:experienceinfo, ','), ',582,')disable-output-escaping="yes"not standard feature of xslt processors. michael kay points out in comments, it's not syntactically valid on<xsl:apply-templates>in first place.
try rid of it. sometimes can't avoided, indicates design flaw - enables output of ill-formed xml , sign of improper separation of data , structure.
Comments
Post a Comment