<xsl:variable name="section" select="name()"/>
so $section is a string, so
test="$root/$section/church">
is the same as $root/"xyz"/church
which is a syntax error, you can not have a string in the middle of an Xpath.
You can't put arbitrary bits of syntax into a string and then use that
string as a part of an expression, any more than given a string "x"
in C or java can be used to access a variable called x.
In this case (which is a FAQ)
you could use
$root/*[name()=$section]/church"
David
________________________________________________________________________
This e-mail has been scanned for all viruses by Star Internet. The
service is powered by MessageLabs. For more information on a proactive
anti-virus service working around the clock, around the globe, visit:
http://www.star.net.uk
________________________________________________________________________
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list