Я читаю книгу о xQuery, и она наполнен выражением типа конструктор элементов... и мой вопрос:
Что такое конструктор элемента и является ли «{<expression>}
» конструктором элемента?
Я читаю книгу о xQuery, и она наполнен выражением типа конструктор элементов... и мой вопрос:
Что такое конструктор элемента и является ли «{<expression>}
» конструктором элемента?
Конструктор элемента создает элемент. Есть несколько способов сделать это в XQuery.
Фигурные скобки {}
отмечают начало и конец заключенное выражение в XQuery. Поскольку вы можете использовать литеральный XML и вычисляемые выражения, фигурные скобки обозначают, когда вы выходите из статического контекста и входите в динамические конструкции. Подобно тому, как вы использовали бы <%@ page ... %>
для директив JSP.
С помощью прямого конструктора элементов, вы используете синтаксис XML для создания статической структуры XML.
Например:
<book isbn="isbn-0060229357">
<title>Harold and the Purple Crayon</title>
</book>
С помощью конструктора вычисляемых элементов узла и содержимого элемента и может генерировать динамическую структуру XML из выражений для имени элемента и его содержимого.
Например:
element book {
attribute { "isbn" } { "isbn-0060229357" },
<title>Harold and the Purple Crayon</title>
}
Вы также можете использовать выражение для вычисления имени элемента:
element { fn:concat("bo", "ok") } {
attribute { "isbn" } { "isbn-0060229357" },
<title>Harold and the Purple Crayon</title>
}
Я удивлен, что в книге этот термин используется без пояснений, но вашим следующим портом захода должна быть спецификация W3C XQuery,
https://www.w3.org/TR/xquery-31/#id-constructors
В отличие от многих языковых спецификаций, спецификации XQuery разработаны так, чтобы их могли легко прочитать обычные пользователи, при условии, что вы можете следовать BNF, и они содержат множество примеров.
let $book := [...] return $book
для меня выглядят как шум. Наличие простого[...]
помогло бы подчеркнуть суть. 02.07.2018