You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@forrest.apache.org by "Parker, Michael" <Mi...@AXA.de> on 2007/10/29 10:33:48 UTC

dtd, catalog and xlst-transformation

Hi,

I use version 0.8 and 0.9-dev.

While learning the basics I also worked with own xml-documents with correponding dtds.
First of all all these files (xml and dtd) were located together in an content directory.

Then I moved the dtd-files intosrc\documentation\resources\schema\dtd and
changed the catalog.xcat.

A "forrest validate-xdocs" runs without problems.

Nevertheless the configured transformation via a corresponding mapping in sitemap.xmap  to the document format doesn't work anymore in a special case:
Values which are read by the document()-Funktion from underlying documents are not resolved any more.
As soon as I put the dtd in the directory of the xml-documents it works.

Does anyone has an explanation for me ?
What didn't I understand ?


I build a "link-list" to underlying documents:


<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
	<xsl:output encoding="UTF-8" method="xml"/>
	<xsl:template match="/">
		<document>
			<header>
				<title>Some title</title>
			</header>
			<body>
				<xsl:apply-templates/>
			</body>
		</document>
	</xsl:template>
	<xsl:template match="//toc">
		<xsl:for-each select="//windowmap">
			<xsl:sort select="@application"/>
			<xsl:variable name="lastApp" select="@application"/>
			<xsl:if test="not(preceding-sibling::windowmap[@application=$lastApp])">
			<section>
			<title><xsl:value-of select="$lastApp"/></title>
				<table class="ForrestTable">
					<tr>
						<th id="mapname">WindowMap</th>
						<th id="maptyp">Typ</th>
						<th id="mapkommentar">Kommentar</th>
					</tr>
					<xsl:for-each select="//windowmap[@application=$lastApp]">
						<xsl:sort select="@name"/>
						<tr>
							<xsl:variable name="filename" select="concat(substring-before(@name, '.xml'), '.html')"/>
							<td>
								<a href="{$filename}" target="_blank">
									<xsl:value-of select="concat(substring-before(@name, '.xml'), '')"/>
						</a>
							</td>
							<td>
							<xsl:value-of select="document(@name)//WindowMap/@type"	/>
							</td>
							<td>
								<xsl:value-of select="document(@name)//WindowMap/@comment"/>
							</td>
						</tr>
					</xsl:for-each>
				</table>
				</section>
			</xsl:if>
		</xsl:for-each>
	</xsl:template>
</xsl:stylesheet>


-Michael




=========================================================================
AXA Service AG
Sitz der Gesellschaft Köln
Handelsregister Köln HR B Nr. 23764
Vorsitzender des Aufsichtsrats: Alfred Bouckaert
Vorstand: Dr. Frank W. Keuper, Vorsitzender 
Wolfgang Hanssmann, Dr. Markus Hofmann, Ulrich C. Nießen, 
Anette Rosenzweig, Dr. Heinz-Peter Roß, Gernot Schlösser, Jens Wieland
-------------------------------------------------------------------------
Aus Rechts- und Sicherheitsgruenden ist die in dieser E-Mail gegebene 
Information nicht rechtsverbindlich. Eine rechtsverbindliche Bestaetigung
reichen wir Ihnen gerne auf Anforderung in schriftlicher Form nach.
Beachten Sie bitte, dass jede Form der unautorisierten Nutzung, 
Veroeffentlichung, Vervielfaeltigung oder Weitergabe des Inhalts dieser
E-Mail nicht gestattet ist. Diese Nachricht ist ausschliesslich fuer den
bezeichneten Adressaten oder dessen Vertreter bestimmt. Sollten Sie nicht
der vorgesehene Adressat dieser E-Mail oder dessen Vertreter sein, so 
bitten wir Sie, sich mit dem Absender der E-Mail in Verbindung zu setzen.
-------------------------------------------------------------------------
For legal and security reasons the information provided in this e-mail is
not legally binding. Upon request we would be pleased to provide you with
a legally binding confirmation in written form. Any form of unauthorised
use, publication, reproduction, copying or disclosure of the content of 
this e-mail is not permitted. This message is exclusively for the person
addressed or their representative. If you are not the intended recipient
of this message and its contents, please notify the sender immediately.
=========================================================================