Skip to Content
XQuery
book

XQuery

by Priscilla Walmsley
March 2007
Intermediate to advanced
512 pages
21h 15m
English
O'Reilly Media, Inc.
Content preview from XQuery

Constructing Numeric Values

How does a value become "numeric"? As with any type, a value may be assigned one of the numeric types in a number of ways, for example:

  • It may be selected from an input document that has a schema declaring it to have a numeric type.

  • It may be a numeric literal value that appears in the query and is not surrounded by quotes. For example, $price > 25.5 compares $price to the xs:decimal value 25.5.

  • It may be the result of a function that returns a number, such as count($products), which returns an xs:integer.

  • It may be the result of one of the standard constructor functions, such as:

    • xs:float("25.5E3"), which constructs an xs:float value from a string

    • xs:decimal($prod/price), which constructs an xs:decimal value from an element

  • It may be the result of an explicit cast, such as $prod/price cast as xs:decimal.

  • It may be cast automatically when it is passed to a function, such as the sum function.

The number Function

In addition to the standard type constructors, the number function is useful for telling the processor to treat a node or atomic value as a number, regardless of its declared type (if any). It returns that argument cast as an xs:double. If no argument is provided, the number function uses the context node.

One difference between using the number function and the xs:double constructor is that the number function returns the xs:double value NaN in the case that the value cannot be cast to a numeric value, whereas the xs:double constructor throws an error. ...

Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.

Read now

Unlock full access

More than 5,000 organizations count on O’Reilly

AirBnbBlueOriginElectronic ArtsHomeDepotNasdaqRakutenTata Consultancy Services

QuotationMarkO’Reilly covers everything we've got, with content to help us build a world-class technology community, upgrade the capabilities and competencies of our teams, and improve overall team performance as well as their engagement.
Julian F.
Head of Cybersecurity
QuotationMarkI wanted to learn C and C++, but it didn't click for me until I picked up an O'Reilly book. When I went on the O’Reilly platform, I was astonished to find all the books there, plus live events and sandboxes so you could play around with the technology.
Addison B.
Field Engineer
QuotationMarkI’ve been on the O’Reilly platform for more than eight years. I use a couple of learning platforms, but I'm on O'Reilly more than anybody else. When you're there, you start learning. I'm never disappointed.
Amir M.
Data Platform Tech Lead
QuotationMarkI'm always learning. So when I got on to O'Reilly, I was like a kid in a candy store. There are playlists. There are answers. There's on-demand training. It's worth its weight in gold, in terms of what it allows me to do.
Mark W.
Embedded Software Engineer

You might also like

XSLT

XSLT

Doug Tidwell
XPath and XPointer

XPath and XPointer

John Simpson
XQuery Kick Start

XQuery Kick Start

James McGovern, Per Bothner, Kurt Cagle, James Linn, Vaidyanathan Nagarajan

Publisher Resources

ISBN: 0596006349Errata