RE: [xsl] Selecting Parent Nodes with Empty Children

Subject: RE: [xsl] Selecting Parent Nodes with Empty Children
From: "Hellstern, Manny" <manny.hellstern@xxxxxxxxxxxxxx>
Date: Fri, 5 Apr 2002 15:02:57 -0600
Sorry for the poor phrasing.  What I'd like to do is use an XPath expression
in some script to extract a nodeset of ONLY those nodes that meet the
criteria. In otherwords, can an XPath expression look something like

	var objNodes = objXML.selectNodes("//VALUE[normalize-space(.)='']")

-----Original Message-----
From: J.Pietschmann [mailto:j3322ptm@xxxxxxxx]
Sent: Friday, April 05, 2002 2:39 PM
To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
Subject: Re: [xsl] Selecting Parent Nodes with Empty Children


Hellstern, Manny wrote:
> I have XML that looks like:
> <APP>
> 	<SECTION id="first">	
> 		<CONTROL type="button">
> 			<VALUE />
> 		</CONTROL>
> 		<CONTROL type="text">
> 			<VALUE>dummy text</VALUE>
> 		</CONTROL>
> 	</SECTION>
...
> </APP>
> 
> What I want to select is a tree fragment that looks like:
> 
> <SECTION id="first>
> 	<CONTROL type="text">
> 		<VALUE>dummy text</VALUE>
> 	</CONTROL>
> </SECTION>

I'm not sure how your subject line relates to your
question.
I *guess* you are asking for an XSLT transformation
which transforms your "have" to "want". This can't
be easily done by what's meant by "selecting" in the
sense of the XSLT spec, but you can have a transformation
which does this.
Furthermore i guess you want to have elements deleted
which dont have *any* non-whitespace text in them.
The following is a suboptimal but almost working
attempt:
  <?xml version="1.0"?>
  <xsl:stylesheet version="1.0"
       xmlns:xsl="http://www.w3.org/1999/XSL/Transform";>
    <xsl:template match="*">
      <xsl:if test="normalize-space(.)">
        <xsl:copy>
          <xsl:copy-of select="@*"/>
          <xsl:apply-templates/>
        </xsl:copy>
      </xsl:if>
    </xsl:template>
  </xsl:stylesheet>

HTH
J.Pietschmann


 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list

 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list


Current Thread