If you aren't able to step through the code with a debugger, the first
thing I would do I comment out that line and see what the new error
message is... if it still says line 86 then you are looking at the
wrong line 86... After that it would be a case of trying to create the
smallest sample possible which causes error. If you suss the problem
during that process great, if not then you have a sample to post on
here.
I'm not sure, but that doesn't look like your typical Saxon error message...
On 4 May 2011 00:26, Steve Fogel <STEVE(_dot_)FOGEL(_at_)oracle(_dot_)com>
wrote:
Hi, all.
I'm getting an error message from Saxon 9.1.0.5J (from the DITA Open Toolkit)
that I don't understand. It's complaining about a template that has worked
fine in another situation and now, when plugged into a new set of templates,
is generating the following message:
(path)/infodev2htmtoc.xsl:86: Fatal Error! When 'standalone' or
'doctype-system' is specified, the document must be well-formed; but this
document contains more than one top-level element"
Odd thing is, in addition to the fact that this stylesheet produced
well-formed output when used elsewhere, line 86 seems to have nothing to do
with anything.
Can anyone suggest what might be happening? It's a long stylesheet, and the
first part of the code follows. Line 86 is indicated by preceding asterisks
(***). The entry point is the template "generate-toc". There are a vast
number of <xsl:output> declarations throughout the code that includes this
stylesheet, but this template outputs the main result tree, and the only
output declarations that mention doctype-system are named ones, AFAIK.
Thanks.
Steve
------------
<?xml version="1.0" encoding="UTF-8"?>
<!-- ********** Oracle customizations to XHTML TOC page Copyright (c) Oracle
Corporation
by Steve Fogel and Colin McGregor *********** -->
<xsl:stylesheet version="1.0" xmlns="http://www.w3.org/1999/xhtml"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:java="org.dita.dost.util.StringUtils"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
exclude-result-prefixes="java xs">
<!-- Following commented out lines required when this file used with
HTML1 -->
<!-- <xsl:output method="html" indent="yes" encoding="UTF-8"
omit-xml-declaration="yes"/>
<xsl:include href="id_headHeaderFooter.xsl"/> -->
<!-- params added for index link creation. can be passed in via xhtmlindex
plugin cmcgrego 3/17/2011 -->
<xsl:param name="INDEXFILEBASE" select="'index'"/> <!-- base name for index
file, without the ext. can be set in ant -->
<xsl:param name="INDEXOUTDIR" select="'id_topic/'" /> <!-- index output
directory relative to toc.htm -->
<!-- Setup the HTML wrapper for the table of contents -->
<xsl:template name="generate-toc">
<xsl:message>****** Generating DARB-like XHTML TOC
********</xsl:message>
<html xml:lang="en" lang="en"><xsl:value-of select="$newline"/>
<head><xsl:value-of select="$newline"/>
<!-- initial meta information -->
<xsl:call-template name="generateCssLinks"/> <!-- Generate
links to CSS files -->
<xsl:call-template name="generateMapTitle"/> <!-- Generate the
<title> element -->
<xsl:call-template name="gen-user-head" /> <!-- include
user's XSL HEAD processing here -->
</head><xsl:value-of select="$newline"/>
<body>
<!-- <xsl:if test="string-length($OUTPUTCLASS) > 0">
<xsl:attribute name="class">
<xsl:value-of select="$OUTPUTCLASS"/>
</xsl:attribute>
</xsl:if>-->
<xsl:value-of select="$newline"/>
<xsl:apply-templates/>
</body><xsl:value-of select="$newline"/>
</html>
</xsl:template>
<xsl:template name="generateMapTitle">
<!-- Title processing - special handling for short descriptions -->
<xsl:if test="/*[contains(@class,' map/map ')]">
<title>
<xsl:call-template name="getString">
<xsl:with-param name="stringName" select="'TOC'"/> <!--
"Table of Contents" -->
</xsl:call-template>
</title>
<xsl:value-of select="$newline"/>
</xsl:if>
</xsl:template>
<!-- Generate link to CSS -->
<!-- Can't link to commonltr.css or commonrtl.css because we don't know
what language the map is in. -->
<!-- **** Oracle: add link to blafdoc.css -->
<xsl:template name="generateCssLinks">
<xsl:variable name="urltest">
<xsl:call-template name="url-string">
<xsl:with-param name="urltext">
<xsl:value-of select="concat($CSSPATH,$CSS)"/>
</xsl:with-param>
</xsl:call-template>
</xsl:variable>
<xsl:if test="string-length($CSS)>0">
<xsl:choose>
<xsl:when test="$urltest='url'">
<link rel="stylesheet" type="text/css"
href="{$CSSPATH}{$CSS}" />
</xsl:when>
<xsl:otherwise>
<link rel="stylesheet" type="text/css"
href="{$PATH2PROJ}{$CSSPATH}{$CSS}" />
</xsl:otherwise>
</xsl:choose><xsl:value-of select="$newline"/>
</xsl:if>
<link rel="stylesheet" href="../../dcommon/css/blafdoc.css"
title="Oracle BLAFDoc"
type="text/css" /><xsl:value-of select="$newline"/>
</xsl:template>
<!-- Process the map -->
<xsl:template match="/*[contains(@class, ' map/map ')]">
<xsl:param name="pathFromMaplist"/>
<xsl:if test=".//*[contains(@class, ' map/topicref
')][not(@toc='no')][not(@processing-role='resource-only')]">
<xsl:call-template name="gen-user-header"/>
<div class="ind">
***line 86** <xsl:value-of select="$newline"/>
<h1 class="toc">
<xsl:call-template name="getString">
<xsl:with-param name="stringName" select="'Contents'"/>
</xsl:call-template>
</h1>
<xsl:value-of select="$newline"/>
<!-- Insert title/copyright page -->
<xsl:call-template name="generateTitleLink" />
<!-- Topics -->
<xsl:apply-templates select="*[contains(@class, ' map/topicref
')]">
<xsl:with-param name="pathFromMaplist"
select="$pathFromMaplist"/>
</xsl:apply-templates>
<!--Call-template Insertion here for generating index link.
cmcgrego 3/17/2011 -->
<xsl:call-template name="generateIndexLink"/>
</div>
<xsl:value-of select="$newline"/>
<xsl:call-template name="gen-user-footer"/>
</xsl:if>
</xsl:template>
... more...
--~------------------------------------------------------------------
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>
--~--
--
Andrew Welch
http://andrewjwelch.com
--~------------------------------------------------------------------
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>
--~--