Subject: [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: Sat, 22 Oct 2022 18:21:13 -0000 |
Hi Folks, Here is my input: <test> <row> <column_header>A</column_header> <affected_tables>ARPT_RMK</affected_tables> </row> <row> <column_header>B</column_header> <affected_tables>APPC_ARPT</affected_tables> </row> <row> <column_header>C</column_header> <affected_tables>HLPT; ARPT</affected_tables> </row> <row> <column_header>D</column_header> <affected_tables>HLPT; ARPT; VFR_RTE</affected_tables> </row> <row> <column_header>E</column_header> <affected_tables>ARPT; VFR_RTE</affected_tables> </row> <row> <column_header>F</column_header> <affected_tables>ARPT</affected_tables> </row> <row> <column_header></column_header> <affected_tables>ARPT</affected_tables> </row> </test> I want to output the column_headers of all rows whose affected_tables contain ARPT. The desired output is: <column_header>C</column_header> <column_header>D</column_header> <column_header>E</column_header> <column_header>F</column_header> I thought that this XSLT would work: <xsl:for-each select="//row[column_header][matches(affected_tables, '[ ;]?ARPT[ ;]?')]"> <column_header><xsl:value-of select="column_header"/></column_header> </xsl:for-each> I interpret that for-loop as: "Iterate through all row elements and output the column_header of each row element that has a non-null child column_header element and has a child affected_tables element that contains the string ARPT which is optionally preceded by a space or a semi-colon and optionally followed by a space or a semi-colon." Apparently that is not what the for-loop says because it produces this incorrect output: <column_header>A</column_header> <column_header>B</column_header> <column_header>C</column_header> <column_header>D</column_header> <column_header>E</column_header> <column_header>F</column_header> <column_header/> Two questions: 1. What does my for-loop actually say? 2. What is a correct solution? /Roger
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
[xsl] [ANN] Oxygen XML Editor versi, Octavian Nadolu octa | Thread | Re: [xsl] How to select elements co, Graydon graydon@xxxx |
[xsl] [ANN] Oxygen XML Editor versi, Octavian Nadolu octa | Date | Re: [xsl] How to select elements co, Graydon graydon@xxxx |
Month |