xsl-list
[Top] [All Lists]

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

2011-11-04 10:57:42
Hi,

My version:

empty(node() except (Person[1]|text()[not(normalize-space())]))

Cheers,
Wendell

On 11/3/2011 3:08 PM, Brandon Ibach wrote:
I may be misinterpreting your requirement, but based on my initial
read, I'd go with something like the following, which should work with
any version of XPath/XSLT.  It is written to be evaluated in the
context of<author>.

count(Person) = 1 and not(text()[normalize-space(.)])

-Brandon :)


On Thu, Nov 3, 2011 at 2:44 PM, Costello, Roger 
L.<costello(_at_)mitre(_dot_)org>  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


--
======================================================================
Wendell Piez                            
mailto:wapiez(_at_)mulberrytech(_dot_)com
Mulberry Technologies, Inc.                http://www.mulberrytech.com
17 West Jefferson Street                    Direct Phone: 301/315-9635
Suite 207                                          Phone: 301/315-9631
Rockville, MD  20850                                 Fax: 301/315-8285
----------------------------------------------------------------------
  Mulberry Technologies: A Consultancy Specializing in SGML and XML
======================================================================

--~------------------------------------------------------------------
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>
--~--