xsl-list
[Top] [All Lists]

[xsl] reading a document into a typed variable

2009-09-30 11:37:53
I don't understand the difference between two ways of loading an XML file into a variable (see A and B below). Case A used to work with old saxon 8.9, but with 9.2 only B is successful. With A I get following error message:

 XTTE0570: Required item type of value of variable $global.setup is
document-node(element(global-setup, xs:anyType)); supplied value has item type xs:string

If I omit the type declaration in A, the rest of the stylesheet is nevertheless working correctly. So at a certain stage, what saxon sees as a xs:sting is converted into a tree.

It's OK with me if you just point me to the right documentation to find out myself.

Thanks for clarification,
Georges

[A]
<xsl:param name="global.setup.file" select="'../../xml-resolved/GlobalSetup-resolved.xml'" as="xs:string"/> <xsl:variable name="global.setup" select="if (doc-available($global.setup.file)) then document($global.setup.file) else trace($global.setup.file,'Configuration File $global.setup.file was not readable (missing or not valid)!')" as="document-node(element(global-setup))"/>

[B]

<xsl:variable name="global.setup" as="document-node(element(global-setup))">
  <xsl:choose>
    <xsl:when test="doc-available($global.setup.file)">
      <xsl:copy-of select="document($global.setup.file)"/>
    </xsl:when>
    <xsl:otherwise>
<xsl:copy-of select="trace($global.setup.file,'Configuration File $global.setup.file was not readable (missing or not valid)!')"/>
    </xsl:otherwise>
  </xsl:choose>
</xsl:variable>
**********************************************************************************************
IMPORTANT NOTICE / WICHTIGER HINWEIS
This communication contains information which is confidential and may also be privileged. It is for the exclusive use of the intended recipient(s). If you are not the intended recipient(s) please note that any distribution, copying or use of this communication or the information in it is strictly prohibited. If you have received this communication in error please notify us immediately by email or by telephone and then delete this email and any copies of it. Diese E-Mail koennte vertrauliche und/oder rechtlich geschuetzte Informationen enthalten. Wenn Sie nicht der richtige Adressat sind oder diese E-Mail irrtuemlich erhalten haben, informieren Sie bitte sofort den Absender und vernichten Sie diese Mail. Das unerlaubte Kopieren sowie die unbefugte Weitergabe dieser Mail sind nicht gestattet.

HEITEC AG, Werner-von-Siemens-Str. 61, 91052 Erlangen, HRB 7754, RG Fuerth, Vorstandsvorsitzender: Richard Heindl, Vorstand: Harald Preiml, Finanzvorstand: Rene-Oliver Rosner, Aufsichtsratsvorsitzender: Dr. Lorenz M. Raith, WWW: http://www.heitec.de


--~------------------------------------------------------------------
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>
--~--

<Prev in Thread] Current Thread [Next in Thread>