xsl-list
[Top] [All Lists]

Re: [xsl] XPath which tests that an element does not have mixed content?

2011-11-03 16:18:38
On 03/11/2011 18:44, Costello, Roger L. wrote:
Hi Folks,

Would you please recommend an XPath expression which ensures that the content 
of<author>  is optional whitespace,<Person>, optional whitespace, and nothing 
else:

     <author>
         <Person>
             <name>Simon L. Peyton Jones</name>
         </Person>
     </author>

The result of the XPath expression is true if the content is as desired and 
false otherwise. The XPath should return true for the above example and false 
for the below example:

     <author>
        The person is:
         <Person>
             <name>Simon L. Peyton Jones</name>
         </Person>
     </author>


/Roger

most of your replies have used normalize-space for testing ws text nodes, but if you are using xpath from xslt (or other contexts where you can control the parse) an alternative is to throw away white space text children of author at XDM build time, which simplifies the expression greatly.

so

<xsl:strip-space elements="person"/>

then then can go

Person and not(node()[2])

David



--
google plus: https:/profiles.google.com/d.p.carlisle

--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--