- From: Michael Kay <mhk@mhk.me.uk>
- Date: Wed, 10 Nov 2004 21:26:29 -0000
- To: 'Botond Biró' <botond.biro@altova.com>, <public-qt-comments@w3.org>
> I would have a question related to imported functions & variables:
> are they executed using the static context of the imported
> module or with the context of the importing module ?
Each module has its own static context. The static context for a function is
determined by the module it appears in.
>
> [XQ-20041029]4.11. "....Each module has its own static
> context. A module import imports only functions and variable
> declarations; it does not import other objects from the
> imported modules, such as in-scope schema definitions or
> statically known namespaces. Module imports are not
> transitive-that is, importing a module provides access only
> to function and variable declarations contained directly in
> the imported module....."
>
> This makes clear that there is no access to indirectly
> imported functions, vars & type declarations. What about
> using them in a function body, or variable initializing expression?
If A imports B and B imports C, then things that are statically within A can
reference things in B but not things in C. The things in B that A imports
can of course contain references to C.
>
> Example:
> In order to use function a:A() in the main module is it
> enough to import the library "a"? or the library "b" has to
> be imported as well in the main module?
The main module doesn't reference anything in B so it doesn't need to import
it.
Michael Kay
>
>
> (: library module a :)
> module namespace a="a";
> import module b="b";
> declare function a:A()
> {
> 'evaluated A()',
> b:B()
> }
>
> (:==================:)
> (: library module b :)
> module namespace b="b";
> declare function b:B()
> {
> 'evaluated B()'
> }
> (:==================:)
>
>
> (:===main module====:)
> import module a="a";
> a:A();
>
> Similar question for imported variables.
>
>
> Best regards
> Botond
>
>
> ... Botond Biró
> ... Software Engineer
> ... Altova GmbH
>
> ===================================================================
> Altova® accelerates development and integration projects with soft-
> ware, services and solutions that enhance productivity and maximize
> results. Uncover why Altova is the smart choice of over 1.5 million
> applications developers worldwide! Look into www.altova.com today!
> XMLSpy® 2005 - MapForce(tm) 2005 - StyleVision® 2005 - Authentic® 2005
> NEW: Advanced standards compliance, XSLT 2.0, XPath 2.0, XQuery 1.0
> SchemaAgent, Eclipse integration, Visual function builder, Word/RTF
> output, database-enabled electronic forms, XML<->flat-file mapping
> ===================================================================
>
> The information transmitted in this message and/or as an attachment
> to it is intended only for the person or entity to which it is
> addressed and may contain confidential and/or privileged material.
> Any review, retransmission, dissemination or other use of, or
> taking of any action in reliance upon, this information by persons
> or entities other than the intended recipient is prohibited. If you
> received this in error, please contact the sender and delete the
> material from any computer. Altova GmbH and Altova, Inc. do not
> accept legal responsibility for the contents of this message. Any
> views or opinions presented are solely those of the author and do
> not necessarily represent those of Altova GmbH and Altova, Inc.
> unless otherwise specifically stated. Thank you!
>
>
>
>
>
Received on Wednesday, 10 November 2004 21:27:04 UTC