|
Subject: Re: [xsl] How to select elements containing ARPT but not elements containing APPC_ARPT or ARPT_RMK? From: "Graydon graydon@xxxxxxxxx" <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx> Date: Mon, 24 Oct 2022 23:04:35 -0000 |
On Mon, Oct 24, 2022 at 10:51:42PM -0000, Roger L Costello
costello@xxxxxxxxx scripsit:
> 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?
<xsl:sequence select="//row[tokenize(affected_tables,'; ') =
'ARPT'][normalize-space(column_header)]/column_header" />
presumably does the same thing as your for-each example without the
overhead of creating new element nodes.
If you need a different column header element than the one you have,
<xsl:apply-templates select="//row[tokenize(affected_tables,'; ') =
'ARPT'][normalize-space(column_header)]/column_header" />
<xsl:template match="column_header">
... do the thing
</xsl:template>
Will do so. (Possibly employing modes or parameters, if other things
need to happen to other column_header elements.)
for-each is there to handle two special cases; "I need to change the
context item to each of the members of the selected sequence" and
"conceptually, all of these things happen at the same time". It's not a
loop. (xsl:iterate is closer to being a loop.) Trying to comprehend
for-each as a loop is unlikely to be helpful.
--
Graydon Saunders | graydonish@xxxxxxxxx
^fs oferiode, pisses swa mfg.
-- Deor ("That passed, so may this.")
| Current Thread |
|---|
|
| <- Previous | Index | Next -> |
|---|---|---|
| Re: [xsl] How to select elements co, Roger L Costello cos | Thread | [xsl] xmlns:xi attributes getting i, Michael B Allen iopl |
| Re: [xsl] How to select elements co, Roger L Costello cos | Date | [xsl] xmlns:xi attributes getting i, Michael B Allen iopl |
| Month |