Subject: Re: [xsl] How to remove outer tag if present in XSLT From: "Chris Papademetrious christopher.papademetrious@xxxxxxxxxxxx" <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx> Date: Fri, 17 Mar 2023 22:47:50 -0000 |
Sorry, my examples needed parentheses for the "except (A|B)" due to precedence: *[A|B][not(* except (A|B))] *[A][B][not(* except (A|B))] - Chris -----Original Message----- From: Chris Papademetrious christopher.papademetrious@xxxxxxxxxxxx <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx> Sent: Friday, March 17, 2023 6:36 PM To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx Subject: Re: [xsl] How to remove outer tag if present in XSLT And to restrict to <p> that contains *only* <p>: <xsl:template match="p[p and not(* except p) and count(../*) = 1]"> <xsl:apply-templates/> </xsl:template> Using "* except" is my favorite way of limiting to certain elements only. To limit to elements containing A and/or B but nothing else: *[A|B][not(* except A|B)] To limit to elements containing A and B but nothing else: *[A][B][not(* except A|B)] - Chris -----Original Message----- From: Liam R. E. Quin liam@xxxxxxxxxxxxxxxx <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx> Sent: Friday, March 17, 2023 6:30 PM To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx Subject: Re: [xsl] How to remove outer tag if present in XSLT On Fri, 2023-03-17 at 19:44 +0000, Matt Van Voorhies mvanvoorhies@xxxxxxxxxxx wrote: > > B B B B B Ungroup (remove) the outer <p> if it is the only element that is > a child of the arbitrary outer node (and is a <p> node).. > > B B B B B So a <div> > B B B B B B B B B B B ... > B B B B B B B B B B B ... > B B B B B B B B B </div> > B B B B > B B B B B Would not unwrap, since it's a "<div>" and not a "<p>" <xsl:template match="p[p and count(../*) = 1]"> <xsl:apply-templates/> </xsl:template> will unwrap every p element that contains p element and has no siblings. liam -- Liam Quin,B https://www.delightfulcomputing.com/ Available for XML/Document/Information Architecture/XSLT/ XSL/XQuery/Web/Text Processing/A11Y training, work & consulting. Barefoot Web-slave, antique illustrations: B http://www.fromoldbooks.org
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] How to remove outer tag i, Chris Papademetrious | Thread | Re: [xsl] How to remove outer tag i, Dimitre Novatchev dn |
Re: [xsl] How to remove outer tag i, Chris Papademetrious | Date | Re: [xsl] How to remove outer tag i, Dimitre Novatchev dn |
Month |