Re: [xsl] How to select elements containing ARPT but not elements containing APPC_ARPT or ARPT_RMK?

Subject: Re: [xsl] How to select elements containing ARPT but not elements containing APPC_ARPT or ARPT_RMK?
From: "Roger L Costello costello@xxxxxxxxx" <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx>
Date: Mon, 24 Oct 2022 22:51:35 -0000
Hi Folks,

Okay, so this for-loop does the job:

<xsl:for-each select="//row[tokenize(affected_tables,'; ') = 'ARPT'
][normalize-space(column_header)]">
    <column_header><xsl:value-of select="column_header"/></column_header>
</xsl:for-each>

That for-loop solves a problem. Is the problem a specific instance of a
general problem?

I don't want to solve the same problem, in a different guise, tomorrow and the
next day and the next day and etc.

Can we take the specific problem that the for-loop solves and identify the
general problem?

Let me take a shot at identifying the general problem. Examining the for-loop,
I see these properties of the problem:

1. There is a sequence of elements (e.g., a sequence of row elements)

2. Within each element in the sequence is a child element (e.g.,
affected_tables) whose content is a string of values, where the values are
separated by a delimiter (e.g., '; ')

3. Of interest are the sequence elements in which its child element has a
particular atomic value (e.g., 'ARPT'). By "atomic value" I mean the value is
not part of a larger value (e.g., APPC_ARPT and ARPT_RMK are not acceptable)

Ugh! This isn't taking me closer to seeing the general problem. I am just
restating the problem being solved by the above for-loop.

Any ideas on what the general problem might be?

/Roger

Current Thread