«Оператор стрелы» =>
доступен только начиная с версии X MarkLogi c (у меня нет точной версии под рукой, я думаю, что это где-то между 8 и 9.)
Вы можете использовать его в любой «версии» XQuery, поддерживаемой MarkLogi c (3.1
, но также 1.0-ml
). Следующие два выражения, с оператором стрелки и без него, дают одинаковый результат:
(: if you use 3.1 instead, you need to declare the namespace prefix "map" :)
xquery version "1.0-ml";
map:new((
map:entry('foo', 1),
map:entry('bar', 2)))
,
map:map()
=> map:with('foo', 1)
=> map:with('bar', 2)
Если у вас есть только одна запись, вы даже можете избавиться от map:new
в первой записи:
map:entry('foo', 1)
,
map:map()
=> map:with('foo', 1)
Как уже упоминалось другими, в вашем конкретном примере вы можете просто передавать различные параметры. Но теперь вы знаете об операторе стрелка.