[XSL-LIST Mailing List Archive Home] [By Thread] [By Date]

Re: [xsl] Re: xhtml via xslt failure


Subject: Re: [xsl] Re: xhtml via xslt failure
From: e-letter <inpost@xxxxxxxxx>
Date: Tue, 17 Dec 2013 18:43:41 +0000

On 17/12/2013, David Carlisle <davidc@xxxxxxxxx> wrote:
> On 17/12/2013 17:08, e-letter wrote:
>> Don't understand, seems nested:
>
> It is nested (unless you cut and pasted the wrong thing)
>
> You have one xsl:template element inside another. The stylesheet should
> not compile, and you should get no output.
>

Compilation occurred, so this is probably due to the processing
environment (jedit). Anyway, the nested element was removed:

<xsl:stylesheet
	version="2.0"
	xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
	xmlns='http://www.w3.org/1999/xhtml'
	>
	<xsl:import href="xqueryexampledata.xml"/>
	<xsl:output
		method="xml"
		doctype-public="-//W3C//DTD XHTML Basic 1.1//EN"
		doctype-system="http://www.w3.org/TR/xhtml-basic/xhtml-basic11.dtd"
		encoding="utf-8"
		indent="no"
		omit-xml-declaration="yes"
		media-type="text/xml"
		standalone="yes"
		version="1.1"
		/>
	<xsl:template
		match='/'
		>
		<html xmlns='http://www.w3.org/1999/xhtml' lang='en' xml:lang='en'>
			<head>
				<meta
					name='notice' content='xhtml document created by xml transformation' />
				<title>Test output web page</title>
			</head>
			<body>
				<xsl:apply-templates
					select='*'
					/>
			</body>
		</html>
	</xsl:template>
	<xsl:template
		match="bookstore/book"
		>
		<p>
			<xsl:if
				test="following-sibling::author">
				 and
			</xsl:if>
			<xsl:apply-templates
				select='author'
				/>
		</p>
			</xsl:template>
</xsl:stylesheet>

The transformation result:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML Basic 1.1//EN"
"http://www.w3.org/TR/xhtml-basic/xhtml-basic11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"
lang="en"><head><meta content="xhtml document created by xml
transformation" name="notice" /><title>Test output web
page</title></head><body>
	<p>Giada De Laurentiis</p>
	<p>J K. Rowling</p>
	<p>James McGovernPer BothnerKurt CagleJames LinnVaidyanathan Nagarajan</p>
	<p>Erik T. Ray</p>
</body></html>

The xml file has authors in two positions to consider, single authors
as child elements of 'book' and as multiple sibling elements of the
parent 'book' (i.e. each author is a separate child element), so it
seems that the suggestion to use element attribute
'test="following-sibling::author"' is not applicable.

Back to reading the specifications :)


Current Thread
Keywords