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

Re: Constructor functions & `cast as` -- why both?

Subject: Re: Constructor functions & `cast as` -- why both?
From: Dimitre Novatchev <dnovatchev@xxxxxxxxx>
Date: Tue, 5 Jul 2005 05:38:28 +1000
constructor cast
On 7/5/05, Frans Englich <frans.englich@xxxxxxxxx> wrote:
>
> Hi,
>
> According to the XPath specifications are constructor functions and the
cast
> expression defined to be semantically equivalent. I wonder, why then
provide
> both?
>
> Here my speculation:
>
> * The two uses different default namespaces. Hence, it can be practical on
the
> stylesheet-writing level. But this aspect is not more than convenience,
> right?
>
> * A usability aspect of the language. One might argue that multiple ways of
> expressing the same thing allows users to choose their way which fits them
> the best(a psychological aspect). _For example_, the `cast as` expression
can
> be percepted as changing the type of an existing value, while a constructor
> function can be percepted as creating a new value.
>
> What was the reasoning for creating the two?


A "cast as" expression is a synonym for using a constructor function,
except in two cases, where a constructor function cannot be used:

  - If the "?" must be used after the atomic type name to express that
an empty sequence is allowed.

  - If there is no target namespace for the schema defining the type
(the type is in no namespace) -- in this case a constructor function
with no namespace prefix will bind to the default namespace of the
core functions (F & O).


BTW, this is the second question you ask, the perfect answer to which
can be easily found in Mike Kay's book "XPath 2.0 Programmer's
Reference" -- ISBN: 0-764-56910-4


Cheers,
Dimitre Novatchev

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.