[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message]

AW: use preceding element or self

Subject: AW: use preceding element or self
From: "Klocker Christoph" <Christoph.Klocker@xxxxxxxxxxxxx>
Date: Fri, 29 Apr 2005 12:52:43 +0200
christoph 29
Does xmlspy do xpath2?

yes, it has an xpath2 evaluator.

Also you've dropped (.| from the beginning of the expression so uou are
just testing preceding siblings, not the current node, in which case you
can more simply write

had a choose to check this, quite nicer your version with (.|

> Seems to be a Saxon issue.

Hmm 99 times out of 100 I'd believe saxon (especially if 8.4 gives the
same result) Can you make a smaller example (6 or 7 line) and a small
complete stylesheet that does the wrong thing? and post the input and
output you get?

Switched to 8.4 now. Seems it works partly now at least.
Have a look at my output: for the last two it seems to work, not for the first
two however.

Output:

<?xml version="1.0" encoding="UTF-8"?>
<test xmlns:xs="http://www.w3.org/2001/XMLSchema">
	<part>
		<kundenkategorie>EINKOMMENSTEUER
				' 3 Abs 1 Z 4 lit c
				 EStG, ' 25 Abs 1 Z 1 lit c EStG
			</kundenkategorie>
		<kategorie>Heft 1/2003</kategorie>
		<par class="Komm_H2" xml:lang="de">Verfassungswidrigkeit der
Unfallrentenbesteuerung</par>
		<par class="Komm_H3" xml:lang="de">EINKOMMENSTEUER<linebreak/>
			<inline class="*Paragraph">' 3 Abs 1 Z 4 lit c</inline>
			<inline class="*hidden"> EStG</inline>, <inline class="*Paragraph">' 25 Abs
1 Z 1 lit c EStG</inline>
		</par>
	</part>
	<part>
		<kundenkategorie>EINKOMMENSTEUER
				' 3 Abs 1 Z 4 lit c
				 EStG, ' 25 Abs 1 Z 1 lit c EStG
			</kundenkategorie>
		<kategorie>Heft 1/2003</kategorie>
		<par class="Komm_H2" xml:lang="de">Verordnung |ber die Kriterien zur
Festlegung fvrderbarer Forschungs- und Entwicklungsaufwendungen
(-ausgaben)</par>
		<par class="Komm_H3" xml:lang="de">
			<inline class="*Paragraph">' 4 Abs 4 Z 4a</inline>
			<inline class="*hidden"> EStG</inline>, <inline class="*Paragraph">' 108c
Abs 2 Z 1 EStG</inline>
		</par>
		<par class="Komm_normal" xml:lang="de">
			<inline class="*fett">BGBl II 2002/506, ausgegeben am 20. 12.
2002</inline>
		</par>
	</part>
	<part>
		<kundenkategorie>UMSATZSTEUER</kundenkategorie>
		<kategorie>Heft 1/2003</kategorie>
		<par class="Komm_H2" xml:lang="de">Dnderungen der Umsatzsteuerrichtlinien -
Rechnungslegung aufgrund des 2. Abgabendnderungsgesetzes 2002</par>
		<par class="Komm_H3" xml:lang="de">UMSATZSTEUER</par>
	</part>
	<part>
		<kundenkategorie>UMSATZSTEUER</kundenkategorie>
		<kategorie>Heft 03/2004</kategorie>
		<par class="Komm_H2" xml:lang="de">Keine Geschdftsf|hrerhaftung bei
fehlender Entscheidung |ber einen \berrechnungsantrag</par>
		<par class="Komm_H3" xml:lang="de">
			<inline xml:lang="en">BAO<linebreak/>
			</inline>
			<inline class="*Paragraph" xml:lang="en">' 9</inline>
		</par>
	</part>
</test>

Input:
<?xml version="1.0" encoding="UTF-8"?>
<root>
	<Norm1>
		<part>
			<kategorie>Heft 1/2003</kategorie>
			<par class="Komm_H2" xml:lang="de">Verfassungswidrigkeit der
Unfallrentenbesteuerung</par>
			<par class="Komm_H3" xml:lang="de">EINKOMMENSTEUER<linebreak/>
				<inline class="*Paragraph">' 3 Abs 1 Z 4 lit c</inline>
				<inline class="*hidden"> EStG</inline>, <inline class="*Paragraph">' 25
Abs 1 Z 1 lit c EStG</inline>
			</par>
		</part>
	</Norm1>
	<Norm1>
		<part>
			<kategorie>Heft 1/2003</kategorie>
			<par class="Komm_H2" xml:lang="de">Verordnung |ber die Kriterien zur
Festlegung fvrderbarer Forschungs- und Entwicklungsaufwendungen
(-ausgaben)</par>
			<par class="Komm_H3" xml:lang="de">
				<inline class="*Paragraph">' 4 Abs 4 Z 4a</inline>
				<inline class="*hidden"> EStG</inline>, <inline class="*Paragraph">' 108c
Abs 2 Z 1 EStG</inline>
			</par>
			<par class="Komm_normal" xml:lang="de">
				<inline class="*fett">BGBl II 2002/506, ausgegeben am 20. 12.
2002</inline>
			</par>
		</part>
	</Norm1>
	<Norm1>
		<part>
			<kategorie>Heft 1/2003</kategorie>
			<par class="Komm_H2" xml:lang="de">Dnderungen der Umsatzsteuerrichtlinien -
Rechnungslegung aufgrund des 2. Abgabendnderungsgesetzes 2002</par>
			<par class="Komm_H3" xml:lang="de">UMSATZSTEUER</par>
		</part>
	</Norm1>
	<Norm1>
		<part>
			<kategorie>Heft 03/2004</kategorie>
			<par class="Komm_H2" xml:lang="de">Keine Geschdftsf|hrerhaftung bei
fehlender Entscheidung |ber einen \berrechnungsantrag</par>
			<par class="Komm_H3" xml:lang="de">
				<inline xml:lang="en">BAO<linebreak/>
				</inline>
				<inline class="*Paragraph" xml:lang="en">' 9</inline>
			</par>
		</part>
	</Norm1>
</root>


Xslt:

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:xs="http://www.w3.org/2001/XMLSchema">
	<xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"/>
	<xsl:template match="/">
		<test>
			<xsl:apply-templates/>
		</test>
	</xsl:template>
	<xsl:template match="Norm1/part">
		<part>
			<kundenkategorie>
				<xsl:value-of select="(par[@class='Komm_H3']
|preceding::par[@class='Komm_H3'])[text()[1][normalize-space()]][not(contains
(text()[1],','))][last()]"/>
			</kundenkategorie>
			<xsl:copy-of select="*"/>
		</part>
	</xsl:template>
</xsl:stylesheet>

Hope this helps

Current Thread

PURCHASE STYLUS STUDIO ONLINE TODAY!

Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!

Buy Stylus Studio Now

Download The World's Best XML IDE!

Accelerate XML development with our award-winning XML IDE - Download a free trial today!

Don't miss another message! Subscribe to this list today.
Email
First Name
Last Name
Company
Subscribe in XML format
RSS 2.0
Atom 0.3
Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member
Stylus Studio® and DataDirect XQuery ™are products from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2013 All Rights Reserved.