| <?xml version="1.0"?> |
| <!-- |
| Licensed to the Apache Software Foundation (ASF) under one or more |
| contributor license agreements. See the NOTICE file distributed with |
| this work for additional information regarding copyright ownership. |
| The ASF licenses this file to You under the Apache License, Version 2.0 |
| (the "License"); you may not use this file except in compliance with |
| the License. You may obtain a copy of the License at |
| |
| http://www.apache.org/licenses/LICENSE-2.0 |
| |
| Unless required by applicable law or agreed to in writing, software |
| distributed under the License is distributed on an "AS IS" BASIS, |
| WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| See the License for the specific language governing permissions and |
| limitations under the License. |
| --> |
| <operators> |
| <!-- op:add-dayTimeDuration-to-date( $arg1 as xs:date, $arg2 as xs:dayTimeDuration) |
| as xs:date --> |
| <operator name="op:add-dayTimeDuration-to-date"> |
| <param name="arg1" type="xs:date" /> |
| <param name="arg2" type="xs:dayTimeDuration" /> |
| <return type="xs:date" /> |
| </operator> |
| |
| <!-- op:add-dayTimeDuration-to-dateTime( $arg1 as xs:dateTime, $arg2 as |
| xs:dayTimeDuration) as xs:dateTime --> |
| <operator name="op:add-dayTimeDuration-to-dateTime"> |
| <param name="arg1" type="xs:dateTime" /> |
| <param name="arg2" type="xs:dayTimeDuration" /> |
| <return type="xs:dateTime" /> |
| </operator> |
| |
| <!-- op:add-dayTimeDuration-to-time( $arg1 as xs:time, $arg2 as xs:dayTimeDuration) |
| as xs:time --> |
| <operator name="op:add-dayTimeDuration-to-time"> |
| <param name="arg1" type="xs:time" /> |
| <param name="arg2" type="xs:dayTimeDuration" /> |
| <return type="xs:time" /> |
| </operator> |
| |
| <!-- op:add-dayTimeDurations( $arg1 as xs:dayTimeDuration, $arg2 as xs:dayTimeDuration) |
| as xs:dayTimeDuration --> |
| <operator name="op:add-dayTimeDurations"> |
| <param name="arg1" type="xs:dayTimeDuration" /> |
| <param name="arg2" type="xs:dayTimeDuration" /> |
| <return type="xs:dayTimeDuration" /> |
| </operator> |
| |
| <!-- op:add-yearMonthDuration-to-date( $arg1 as xs:date, $arg2 as xs:yearMonthDuration) |
| as xs:date --> |
| <operator name="op:add-yearMonthDuration-to-date"> |
| <param name="arg1" type="xs:date" /> |
| <param name="arg2" type="xs:yearMonthDuration" /> |
| <return type="xs:date" /> |
| </operator> |
| |
| <!-- op:add-yearMonthDuration-to-dateTime( $arg1 as xs:dateTime, $arg2 as |
| xs:yearMonthDuration) as xs:dateTime --> |
| <operator name="op:add-yearMonthDuration-to-dateTime"> |
| <param name="arg1" type="xs:dateTime" /> |
| <param name="arg2" type="xs:yearMonthDuration" /> |
| <return type="xs:dateTime" /> |
| </operator> |
| |
| <!-- op:add-yearMonthDurations( $arg1 as xs:yearMonthDuration, $arg2 as |
| xs:yearMonthDuration) as xs:yearMonthDuration --> |
| <operator name="op:add-yearMonthDurations"> |
| <param name="arg1" type="xs:yearMonthDuration" /> |
| <param name="arg2" type="xs:yearMonthDuration" /> |
| <return type="xs:yearMonthDuration" /> |
| </operator> |
| |
| <!-- op:base64Binary-equal( $value1 as xs:base64Binary, $value2 as xs:base64Binary) |
| as xs:boolean --> |
| <operator name="op:base64Binary-equal"> |
| <param name="value1" type="xs:base64Binary" /> |
| <param name="value2" type="xs:base64Binary" /> |
| <return type="xs:boolean" /> |
| </operator> |
| |
| <!-- op:boolean-equal($value1 as xs:boolean, $value2 as xs:boolean) as xs:boolean --> |
| <operator name="op:boolean-equal"> |
| <param name="value1" type="xs:boolean" /> |
| <param name="value2" type="xs:boolean" /> |
| <return type="xs:boolean" /> |
| </operator> |
| |
| <!-- op:boolean-greater-than( $arg1 as xs:boolean, $arg2 as xs:boolean) |
| as xs:boolean --> |
| <operator name="op:boolean-greater-than"> |
| <param name="value1" type="xs:boolean" /> |
| <param name="value2" type="xs:boolean" /> |
| <return type="xs:boolean" /> |
| </operator> |
| |
| <!-- op:boolean-less-than( $arg1 as xs:boolean, $arg2 as xs:boolean) as |
| xs:boolean --> |
| <operator name="op:boolean-less-than"> |
| <param name="value1" type="xs:boolean" /> |
| <param name="value2" type="xs:boolean" /> |
| <return type="xs:boolean" /> |
| </operator> |
| |
| <!-- op:concatenate($arg as item()*) as item()* --> |
| <operator name="op:concatenate" varargs="true"> |
| <param name="arg" type="item()*" /> |
| <return type="item()*" /> |
| <runtime type="scalar" |
| class="org.apache.vxquery.runtime.functions.sequence.ConcatenateScalarEvaluatorFactory" /> |
| </operator> |
| |
| <!-- op:date-equal($arg1 as xs:date, $arg2 as xs:date) as xs:boolean --> |
| <operator name="op:date-equal"> |
| <param name="arg1" type="xs:date" /> |
| <param name="arg2" type="xs:date" /> |
| <return type="xs:boolean" /> |
| </operator> |
| |
| <!-- op:date-greater-than( $arg1 as xs:date, $arg2 as xs:date) as xs:boolean --> |
| <operator name="op:date-greater-than"> |
| <param name="arg1" type="xs:date" /> |
| <param name="arg2" type="xs:date" /> |
| <return type="xs:boolean" /> |
| </operator> |
| |
| <!-- op:date-less-than($arg1 as xs:date, $arg2 as xs:date) as xs:boolean --> |
| <operator name="op:date-less-than"> |
| <param name="arg1" type="xs:date" /> |
| <param name="arg2" type="xs:date" /> |
| <return type="xs:boolean" /> |
| </operator> |
| |
| <!-- op:dateTime-equal($arg1 as xs:dateTime, $arg2 as xs:dateTime) as xs:boolean --> |
| <operator name="op:dateTime-equal"> |
| <param name="arg1" type="xs:dateTime" /> |
| <param name="arg2" type="xs:dateTime" /> |
| <return type="xs:boolean" /> |
| </operator> |
| |
| <!-- op:dateTime-greater-than( $arg1 as xs:dateTime, $arg2 as xs:dateTime) |
| as xs:boolean --> |
| <operator name="op:dateTime-greater-than"> |
| <param name="arg1" type="xs:dateTime" /> |
| <param name="arg2" type="xs:dateTime" /> |
| <return type="xs:boolean" /> |
| </operator> |
| |
| <!-- op:dateTime-less-than( $arg1 as xs:dateTime, $arg2 as xs:dateTime) |
| as xs:boolean --> |
| <operator name="op:dateTime-less-than"> |
| <param name="arg1" type="xs:dateTime" /> |
| <param name="arg2" type="xs:dateTime" /> |
| <return type="xs:boolean" /> |
| </operator> |
| |
| <!-- op:dayTimeDuration-greater-than( $arg1 as xs:dayTimeDuration, $arg2 |
| as xs:dayTimeDuration) as xs:boolean --> |
| <operator name="op:dayTimeDuration-greater-than"> |
| <param name="arg1" type="xs:dayTimeDuration" /> |
| <param name="arg2" type="xs:dayTimeDuration" /> |
| <return type="xs:boolean" /> |
| </operator> |
| |
| <!-- op:dayTimeDuration-less-than( $arg1 as xs:dayTimeDuration, $arg2 as |
| xs:dayTimeDuration) as xs:boolean --> |
| <operator name="op:dayTimeDuration-less-than"> |
| <param name="arg1" type="xs:dayTimeDuration" /> |
| <param name="arg2" type="xs:dayTimeDuration" /> |
| <return type="xs:boolean" /> |
| </operator> |
| |
| <!-- op:divide-dayTimeDuration( $arg1 as xs:dayTimeDuration, $arg2 as xs:double) |
| as xs:dayTimeDuration --> |
| <operator name="op:divide-dayTimeDuration"> |
| <param name="arg1" type="xs:dayTimeDuration" /> |
| <param name="arg2" type="xs:double" /> |
| <return type="xs:dayTimeDuration" /> |
| </operator> |
| |
| <!-- op:divide-dayTimeDuration-by-dayTimeDuration( $arg1 as xs:dayTimeDuration, |
| $arg2 as xs:dayTimeDuration) as xs:decimal --> |
| <operator name="op:divide-dayTimeDuration-by-dayTimeDuration"> |
| <param name="arg1" type="xs:dayTimeDuration" /> |
| <param name="arg2" type="xs:dayTimeDuration" /> |
| <return type="xs:decimal" /> |
| </operator> |
| |
| <!-- op:divide-yearMonthDuration( $arg1 as xs:yearMonthDuration, $arg2 as |
| xs:double) as xs:yearMonthDuration --> |
| <operator name="op:divide-yearMonthDuration"> |
| <param name="arg1" type="xs:yearMonthDuration" /> |
| <param name="arg2" type="xs:double" /> |
| <return type="xs:yearMonthDuration" /> |
| </operator> |
| |
| <!-- op:divide-yearMonthDuration-by-yearMonthDuration( $arg1 as xs:yearMonthDuration, |
| $arg2 as xs:yearMonthDuration) as xs:decimal --> |
| <operator name="op:divide-yearMonthDuration-by-yearMonthDuration"> |
| <param name="arg1" type="xs:yearMonthDuration" /> |
| <param name="arg2" type="xs:yearMonthDuration" /> |
| <return type="xs:decimal" /> |
| </operator> |
| |
| <!-- op:duration-equal($arg1 as xs:duration, $arg2 as xs:duration) as xs:boolean --> |
| <operator name="op:duration-equal"> |
| <param name="arg1" type="xs:duration" /> |
| <param name="arg2" type="xs:duration" /> |
| <return type="xs:boolean" /> |
| </operator> |
| |
| <!-- op:except($parameter1 as node()*, $parameter2 as node()*) as node()* --> |
| <operator name="op:except"> |
| <param name="parameter1" type="node()*" /> |
| <param name="parameter2" type="node()*" /> |
| <return type="node()*" /> |
| <!-- implementation assumes input in document order --> |
| <property type="DocumentOrder" |
| class="org.apache.vxquery.compiler.rewriter.rules.propagationpolicies.InputPropertyPropagationPolicy"> |
| <argument value="0" /> |
| </property> |
| <property type="UniqueNodes" |
| class="org.apache.vxquery.compiler.rewriter.rules.propagationpolicies.InputPropertyPropagationPolicy"> |
| <argument value="0" /> |
| </property> |
| </operator> |
| |
| <!-- op:gDay-equal($arg1 as xs:gDay, $arg2 as xs:gDay) as xs:boolean --> |
| <operator name="op:gDay-equal"> |
| <param name="arg1" type="xs:gDay" /> |
| <param name="arg2" type="xs:gDay" /> |
| <return type="xs:boolean" /> |
| </operator> |
| |
| <!-- op:gMonth-equal($arg1 as xs:gMonth, $arg2 as xs:gMonth) as xs:boolean --> |
| <operator name="op:gMonth-equal"> |
| <param name="arg1" type="xs:gMonth" /> |
| <param name="arg2" type="xs:gMonth" /> |
| <return type="xs:boolean" /> |
| </operator> |
| |
| <!-- op:gMonthDay-equal($arg1 as xs:gMonthDay, $arg2 as xs:gMonthDay) as |
| xs:boolean --> |
| <operator name="op:gMonthDay-equal"> |
| <param name="arg1" type="xs:gMonthDay" /> |
| <param name="arg2" type="xs:gMonthDay" /> |
| <return type="xs:boolean" /> |
| </operator> |
| |
| <!-- op:gYear-equal($arg1 as xs:gYear, $arg2 as xs:gYear) as xs:boolean --> |
| <operator name="op:gYear-equal"> |
| <param name="arg1" type="xs:gYear" /> |
| <param name="arg2" type="xs:gYear" /> |
| <return type="xs:boolean" /> |
| </operator> |
| |
| <!-- op:gYearMonth-equal( $arg1 as xs:gYearMonth, $arg2 as xs:gYearMonth) |
| as xs:boolean --> |
| <operator name="op:gYearMonth-equal"> |
| <param name="arg1" type="xs:gYearMonth" /> |
| <param name="arg2" type="xs:gYearMonth" /> |
| <return type="xs:boolean" /> |
| </operator> |
| |
| <!-- op:hexBinary-equal($value1 as xs:hexBinary, $value2 as xs:hexBinary) |
| as xs:boolean --> |
| <operator name="op:hexBinary-equal"> |
| <param name="arg1" type="xs:hexBinary" /> |
| <param name="arg2" type="xs:hexBinary" /> |
| <return type="xs:boolean" /> |
| </operator> |
| |
| <!-- op:intersect($parameter1 as node()*, $parameter2 as node()*) as node()* --> |
| <operator name="op:intersect"> |
| <param name="parameter1" type="node()*" /> |
| <param name="parameter2" type="node()*" /> |
| <return type="node()*" /> |
| <!-- implementation assumes input in document order --> |
| <property type="DocumentOrder" |
| class="org.apache.vxquery.compiler.rewriter.rules.propagationpolicies.InputPropertyPropagationPolicy"> |
| <argument value="0" /> |
| </property> |
| <property type="UniqueNodes" |
| class="org.apache.vxquery.compiler.rewriter.rules.propagationpolicies.InputPropertyPropagationPolicy"> |
| <argument value="0" /> |
| </property> |
| </operator> |
| |
| <!-- op:is-same-node($parameter1 as node(), $parameter2 as node()) as xs:boolean --> |
| <operator name="op:is-same-node"> |
| <param name="parameter1" type="node()" /> |
| <param name="parameter2" type="node()" /> |
| <return type="xs:boolean" /> |
| </operator> |
| |
| <!-- op:multiply-dayTimeDuration( $arg1 as xs:dayTimeDuration, $arg2 as |
| xs:double) as xs:dayTimeDuration --> |
| <operator name="op:multiply-dayTimeDuration"> |
| <param name="arg1" type="xs:dayTimeDuration" /> |
| <param name="arg2" type="xs:double" /> |
| <return type="xs:dayTimeDuration" /> |
| </operator> |
| |
| <!-- op:multiply-yearMonthDuration( $arg1 as xs:yearMonthDuration, $arg2 |
| as xs:double) as xs:yearMonthDuration --> |
| <operator name="op:multiply-yearMonthDuration"> |
| <param name="arg1" type="xs:yearMonthDuration" /> |
| <param name="arg2" type="xs:double" /> |
| <return type="xs:yearMonthDuration" /> |
| </operator> |
| |
| <!-- op:node-after($parameter1 as node(), $parameter2 as node()) as xs:boolean --> |
| <operator name="op:node-after"> |
| <param name="parameter1" type="node()" /> |
| <param name="parameter2" type="node()" /> |
| <runtime type="scalar" |
| class="org.apache.vxquery.runtime.functions.node.OpNodeAfterEvaluatorFactory" /> |
| <return type="xs:boolean" /> |
| </operator> |
| |
| <!-- op:node-before($parameter1 as node(), $parameter2 as node()) as xs:boolean --> |
| <operator name="op:node-before"> |
| <param name="parameter1" type="node()" /> |
| <param name="parameter2" type="node()" /> |
| <return type="xs:boolean" /> |
| <runtime type="scalar" |
| class="org.apache.vxquery.runtime.functions.node.OpNodeBeforeEvaluatorFactory" /> |
| </operator> |
| |
| <!-- op:NOTATION-equal($arg1 as xs:NOTATION, $arg2 as xs:NOTATION) as xs:boolean --> |
| <operator name="op:NOTATION-equal"> |
| <param name="arg1" type="xs:NOTATION" /> |
| <param name="arg2" type="xs:NOTATION" /> |
| <return type="xs:boolean" /> |
| </operator> |
| |
| <!-- op:numeric-add($arg1 as numeric, $arg2 as numeric) as numeric --> |
| <operator name="op:numeric-add"> |
| <param name="arg1" type="xsext:numeric" /> |
| <param name="arg2" type="xsext:numeric" /> |
| <return type="xsext:numeric" /> |
| </operator> |
| |
| <!-- op:numeric-divide($arg1 as numeric, $arg2 as numeric) as numeric --> |
| <operator name="op:numeric-divide"> |
| <param name="arg1" type="xsext:numeric" /> |
| <param name="arg2" type="xsext:numeric" /> |
| <return type="xsext:numeric" /> |
| </operator> |
| |
| <!-- op:numeric-equal($arg1 as numeric, $arg2 as numeric) as xs:boolean --> |
| <operator name="op:numeric-equal"> |
| <param name="arg1" type="xsext:numeric" /> |
| <param name="arg2" type="xsext:numeric" /> |
| <return type="xs:boolean" /> |
| </operator> |
| |
| <!-- op:numeric-greater-than( $arg1 as numeric, $arg2 as numeric) as xs:boolean --> |
| <operator name="op:numeric-greater-than"> |
| <param name="arg1" type="xsext:numeric" /> |
| <param name="arg2" type="xsext:numeric" /> |
| <return type="xs:boolean" /> |
| </operator> |
| |
| <!-- op:numeric-integer-divide( $arg1 as numeric, $arg2 as numeric) as xs:integer --> |
| <operator name="op:numeric-integer-divide"> |
| <param name="arg1" type="xsext:numeric" /> |
| <param name="arg2" type="xsext:numeric" /> |
| <return type="xs:integer" /> |
| </operator> |
| |
| <!-- op:numeric-less-than( $arg1 as numeric, $arg2 as numeric) as xs:boolean --> |
| <operator name="op:numeric-less-than"> |
| <param name="arg1" type="xsext:numeric" /> |
| <param name="arg2" type="xsext:numeric" /> |
| <return type="xs:boolean" /> |
| </operator> |
| |
| <!-- op:numeric-mod($arg1 as numeric, $arg2 as numeric) as numeric --> |
| <operator name="op:numeric-mod"> |
| <param name="arg1" type="xsext:numeric" /> |
| <param name="arg2" type="xsext:numeric" /> |
| <return type="xsext:numeric" /> |
| </operator> |
| |
| <!-- op:numeric-multiply( $arg1 as numeric, $arg2 as numeric) as numeric --> |
| <operator name="op:numeric-multiply"> |
| <param name="arg1" type="xsext:numeric" /> |
| <param name="arg2" type="xsext:numeric" /> |
| <return type="xsext:numeric" /> |
| </operator> |
| |
| <!-- op:numeric-subtract( $arg1 as numeric, $arg2 as numeric) as numeric --> |
| <operator name="op:numeric-subtract"> |
| <param name="arg1" type="xsext:numeric" /> |
| <param name="arg2" type="xsext:numeric" /> |
| <return type="xsext:numeric" /> |
| </operator> |
| |
| <!-- op:numeric-unary-minus( $arg as numeric) as numeric --> |
| <operator name="op:numeric-unary-minus"> |
| <param name="arg1" type="xsext:numeric" /> |
| <return type="xsext:numeric" /> |
| <runtime type="scalar" |
| class="org.apache.vxquery.runtime.functions.unary.NumericUnaryMinusScalarEvaluatorFactory" /> |
| </operator> |
| |
| <!-- op:numeric-unary-plus( $arg as numeric) as numeric --> |
| <operator name="op:numeric-unary-plus"> |
| <param name="arg1" type="xsext:numeric" /> |
| <return type="xsext:numeric" /> |
| <runtime type="scalar" |
| class="org.apache.vxquery.runtime.functions.unary.NumericUnaryPlusScalarEvaluatorFactory" /> |
| </operator> |
| |
| <!-- op:QName-equal($arg1 as xs:QName, $arg2 as xs:QName) as xs:boolean --> |
| <operator name="op:QName-equal"> |
| <param name="arg1" type="xs:QName" /> |
| <param name="arg2" type="xs:QName" /> |
| <return type="xs:boolean" /> |
| </operator> |
| |
| <!-- op:subtract-dates($arg1 as xs:date, $arg2 as xs:date) as xs:dayTimeDuration? --> |
| <operator name="op:subtract-dates"> |
| <param name="arg1" type="xs:date" /> |
| <param name="arg2" type="xs:date" /> |
| <return type="xs:dayTimeDuration?" /> |
| </operator> |
| |
| <!-- op:subtract-dateTimes( $arg1 as xs:dateTime, $arg2 as xs:dateTime) |
| as xs:dayTimeDuration? --> |
| <operator name="op:subtract-dateTimes"> |
| <param name="arg1" type="xs:dateTime" /> |
| <param name="arg2" type="xs:dateTime" /> |
| <return type="xs:dayTimeDuration?" /> |
| </operator> |
| |
| <!-- op:subtract-dayTimeDuration-from-date( $arg1 as xs:date, $arg2 as xs:dayTimeDuration) |
| as xs:date --> |
| <operator name="op:subtract-dayTimeDuration-from-date"> |
| <param name="arg1" type="xs:date" /> |
| <param name="arg2" type="xs:dayTimeDuration" /> |
| <return type="xs:date" /> |
| </operator> |
| |
| <!-- op:subtract-dayTimeDuration-from-dateTime( $arg1 as xs:dateTime, $arg2 |
| as xs:dayTimeDuration) as xs:dateTime --> |
| <operator name="op:subtract-dayTimeDuration-from-dateTime"> |
| <param name="arg1" type="xs:dateTime" /> |
| <param name="arg2" type="xs:dayTimeDuration" /> |
| <return type="xs:dateTime" /> |
| </operator> |
| |
| <!-- op:subtract-dayTimeDuration-from-time( $arg1 as xs:time, $arg2 as xs:dayTimeDuration) |
| as xs:time --> |
| <operator name="op:subtract-dayTimeDuration-from-time"> |
| <param name="arg1" type="xs:time" /> |
| <param name="arg2" type="xs:dayTimeDuration" /> |
| <return type="xs:time" /> |
| </operator> |
| |
| <!-- op:subtract-dayTimeDurations( $arg1 as xs:dayTimeDuration, $arg2 as |
| xs:dayTimeDuration) as xs:dayTimeDuration --> |
| <operator name="op:subtract-dayTimeDurations"> |
| <param name="arg1" type="xs:dayTimeDuration" /> |
| <param name="arg2" type="xs:dayTimeDuration" /> |
| <return type="xs:dayTimeDuration" /> |
| </operator> |
| |
| <!-- op:subtract-times($arg1 as xs:time, $arg2 as xs:time) as xs:dayTimeDuration --> |
| <operator name="op:subtract-times"> |
| <param name="arg1" type="xs:time" /> |
| <param name="arg2" type="xs:time" /> |
| <return type="xs:dayTimeDuration" /> |
| </operator> |
| |
| <!-- op:subtract-yearMonthDuration-from-date( $arg1 as xs:date, $arg2 as |
| xs:yearMonthDuration) as xs:date --> |
| <operator name="op:subtract-yearMonthDuration-from-date"> |
| <param name="arg1" type="xs:date" /> |
| <param name="arg2" type="xs:yearMonthDuration" /> |
| <return type="xs:date" /> |
| </operator> |
| |
| <!-- op:subtract-yearMonthDuration-from-dateTime( $arg1 as xs:dateTime, |
| $arg2 as xs:yearMonthDuration) as xs:dateTime --> |
| <operator name="op:subtract-yearMonthDuration-from-dateTime"> |
| <param name="arg1" type="xs:dateTime" /> |
| <param name="arg2" type="xs:yearMonthDuration" /> |
| <return type="xs:dateTime" /> |
| </operator> |
| |
| <!-- op:subtract-yearMonthDurations( $arg1 as xs:yearMonthDuration, $arg2 |
| as xs:yearMonthDuration) as xs:yearMonthDuration --> |
| <operator name="op:subtract-yearMonthDurations"> |
| <param name="arg1" type="xs:yearMonthDuration" /> |
| <param name="arg2" type="xs:yearMonthDuration" /> |
| <return type="xs:yearMonthDuration" /> |
| </operator> |
| |
| <!-- op:time-equal($arg1 as xs:time, $arg2 as xs:time) as xs:boolean --> |
| <operator name="op:time-equal"> |
| <param name="arg1" type="xs:time" /> |
| <param name="arg2" type="xs:time" /> |
| <return type="xs:boolean" /> |
| </operator> |
| |
| <!-- op:time-greater-than( $arg1 as xs:time, $arg2 as xs:time) as xs:boolean --> |
| <operator name="op:time-greater-than"> |
| <param name="arg1" type="xs:time" /> |
| <param name="arg2" type="xs:time" /> |
| <return type="xs:boolean" /> |
| </operator> |
| |
| <!-- op:time-less-than($arg1 as xs:time, $arg2 as xs:time) as xs:boolean --> |
| <operator name="op:time-less-than"> |
| <param name="arg1" type="xs:time" /> |
| <param name="arg2" type="xs:time" /> |
| <return type="xs:boolean" /> |
| </operator> |
| |
| <!-- op:to($firstval as xs:integer, $lastval as xs:integer) as xs:integer* --> |
| <operator name="op:to"> |
| <param name="firstval" type="xs:integer" /> |
| <param name="lastval" type="xs:integer" /> |
| <return type="xs:integer*" /> |
| <runtime type="scalar" |
| class="org.apache.vxquery.runtime.functions.sequence.OpToScalarEvaluatorFactory" /> |
| </operator> |
| |
| <!-- op:union($parameter1 as node()*, $parameter2 as node()*) as node()* --> |
| <operator name="op:union"> |
| <param name="parameter1" type="node()*" /> |
| <param name="parameter2" type="node()*" /> |
| <return type="node()*" /> |
| <!-- as we do the doc-order-sort and the duplicate elimination --> |
| <!-- after the concatenation, we can reuse the concat iterator --> |
| <property type="DocumentOrder" |
| class="org.apache.vxquery.compiler.rewriter.rules.propagationpolicies.InputPropertyPropagationPolicy"> |
| <argument value="0" /> |
| </property> |
| <property type="UniqueNodes" |
| class="org.apache.vxquery.compiler.rewriter.rules.propagationpolicies.InputPropertyPropagationPolicy"> |
| <argument value="0" /> |
| </property> |
| </operator> |
| |
| <!-- op:yearMonthDuration-greater-than( $arg1 as xs:yearMonthDuration, $arg2 |
| as xs:yearMonthDuration) as xs:boolean --> |
| <operator name="op:yearMonthDuration-greater-than"> |
| <param name="arg1" type="xs:yearMonthDuration" /> |
| <param name="arg2" type="xs:yearMonthDuration" /> |
| <return type="xs:boolean" /> |
| </operator> |
| |
| <!-- op:yearMonthDuration-less-than( $arg1 as xs:yearMonthDuration, $arg2 |
| as xs:yearMonthDuration) as xs:boolean --> |
| <operator name="op:yearMonthDuration-less-than"> |
| <param name="arg1" type="xs:yearMonthDuration" /> |
| <param name="arg2" type="xs:yearMonthDuration" /> |
| <return type="xs:boolean" /> |
| </operator> |
| |
| <!-- fn:avg-local($arg as xs:anyAtomicType*) as xs:anyAtomicType? --> |
| <operator name="opext:avg-local"> |
| <param name="arg" type="xs:anyAtomicType*" /> |
| <return type="xs:anyAtomicType?" /> |
| <runtime type="aggregate" |
| class="org.apache.vxquery.runtime.functions.aggregate.AvgLocalAggregateEvaluatorFactory" /> |
| </operator> |
| |
| <!-- fn:avg-global($arg as xs:anyAtomicType*) as xs:anyAtomicType? --> |
| <operator name="opext:avg-global"> |
| <param name="arg" type="xs:anyAtomicType*" /> |
| <return type="xs:anyAtomicType?" /> |
| <runtime type="aggregate" |
| class="org.apache.vxquery.runtime.functions.aggregate.AvgGlobalAggregateEvaluatorFactory" /> |
| </operator> |
| |
| <!-- opext:ordered($arg as item()*) as item()* --> |
| <operator name="opext:ordered"> |
| <param name="arg" type="item()*" /> |
| <return type="item()*" /> |
| </operator> |
| |
| <!-- opext:unordered($arg as item()*) as item()* --> |
| <operator name="opext:unordered"> |
| <param name="arg" type="item()*" /> |
| <return type="item()*" /> |
| </operator> |
| |
| <!-- opext:value-eq($arg1 as xs:anyAtomicType?, $arg2 as xs:anyAtomicType?) |
| as xs:boolean? --> |
| <operator name="opext:value-eq"> |
| <param name="arg1" type="xs:anyAtomicType?" /> |
| <param name="arg2" type="xs:anyAtomicType?" /> |
| <return type="xs:boolean?" /> |
| <runtime type="scalar" |
| class="org.apache.vxquery.runtime.functions.comparison.ValueEqComparisonScalarEvaluatorFactory" /> |
| </operator> |
| |
| <!-- opext:value-ne($arg1 as xs:anyAtomicType?, $arg2 as xs:anyAtomicType?) |
| as xs:boolean? --> |
| <operator name="opext:value-ne"> |
| <param name="arg1" type="xs:anyAtomicType?" /> |
| <param name="arg2" type="xs:anyAtomicType?" /> |
| <return type="xs:boolean?" /> |
| <runtime type="scalar" |
| class="org.apache.vxquery.runtime.functions.comparison.ValueNeComparisonScalarEvaluatorFactory" /> |
| </operator> |
| |
| <!-- opext:value-lt($arg1 as xs:anyAtomicType?, $arg2 as xs:anyAtomicType?) |
| as xs:boolean? --> |
| <operator name="opext:value-lt"> |
| <param name="arg1" type="xs:anyAtomicType?" /> |
| <param name="arg2" type="xs:anyAtomicType?" /> |
| <return type="xs:boolean?" /> |
| <runtime type="scalar" |
| class="org.apache.vxquery.runtime.functions.comparison.ValueLtComparisonScalarEvaluatorFactory" /> |
| </operator> |
| |
| <!-- opext:value-le($arg1 as xs:anyAtomicType?, $arg2 as xs:anyAtomicType?) |
| as xs:boolean? --> |
| <operator name="opext:value-le"> |
| <param name="arg1" type="xs:anyAtomicType?" /> |
| <param name="arg2" type="xs:anyAtomicType?" /> |
| <return type="xs:boolean?" /> |
| <runtime type="scalar" |
| class="org.apache.vxquery.runtime.functions.comparison.ValueLeComparisonScalarEvaluatorFactory" /> |
| </operator> |
| |
| <!-- opext:value-gt($arg1 as xs:anyAtomicType?, $arg2 as xs:anyAtomicType?) |
| as xs:boolean? --> |
| <operator name="opext:value-gt"> |
| <param name="arg1" type="xs:anyAtomicType?" /> |
| <param name="arg2" type="xs:anyAtomicType?" /> |
| <return type="xs:boolean?" /> |
| <runtime type="scalar" |
| class="org.apache.vxquery.runtime.functions.comparison.ValueGtComparisonScalarEvaluatorFactory" /> |
| </operator> |
| |
| <!-- opext:value-ge($arg1 as xs:anyAtomicType?, $arg2 as xs:anyAtomicType?) |
| as xs:boolean? --> |
| <operator name="opext:value-ge"> |
| <param name="arg1" type="xs:anyAtomicType?" /> |
| <param name="arg2" type="xs:anyAtomicType?" /> |
| <return type="xs:boolean?" /> |
| <runtime type="scalar" |
| class="org.apache.vxquery.runtime.functions.comparison.ValueGeComparisonScalarEvaluatorFactory" /> |
| </operator> |
| |
| <!-- opext:general-eq($arg1 as item()*, $arg2 as item()*) as xs:boolean --> |
| <operator name="opext:general-eq"> |
| <param name="arg1" type="item()*" /> |
| <param name="arg2" type="item()*" /> |
| <return type="xs:boolean" /> |
| <runtime type="scalar" |
| class="org.apache.vxquery.runtime.functions.comparison.general.GeneralEqComparisonScalarEvaluatorFactory" /> |
| </operator> |
| |
| <!-- opext:general-ne($arg1 as item()*, $arg2 as item()*) as xs:boolean --> |
| <operator name="opext:general-ne"> |
| <param name="arg1" type="item()*" /> |
| <param name="arg2" type="item()*" /> |
| <return type="xs:boolean" /> |
| <runtime type="scalar" |
| class="org.apache.vxquery.runtime.functions.comparison.general.GeneralNeComparisonScalarEvaluatorFactory" /> |
| </operator> |
| |
| <!-- opext:general-lt($arg1 as item()*, $arg2 as item()*) as xs:boolean --> |
| <operator name="opext:general-lt"> |
| <param name="arg1" type="item()*" /> |
| <param name="arg2" type="item()*" /> |
| <return type="xs:boolean" /> |
| <runtime type="scalar" |
| class="org.apache.vxquery.runtime.functions.comparison.general.GeneralLtComparisonScalarEvaluatorFactory" /> |
| </operator> |
| |
| <!-- opext:general-le($arg1 as item()*, $arg2 as item()*) as xs:boolean --> |
| <operator name="opext:general-le"> |
| <param name="arg1" type="item()*" /> |
| <param name="arg2" type="item()*" /> |
| <return type="xs:boolean" /> |
| <runtime type="scalar" |
| class="org.apache.vxquery.runtime.functions.comparison.general.GeneralLeComparisonScalarEvaluatorFactory" /> |
| </operator> |
| |
| <!-- opext:general-gt($arg1 as item()*, $arg2 as item()*) as xs:boolean --> |
| <operator name="opext:general-gt"> |
| <param name="arg1" type="item()*" /> |
| <param name="arg2" type="item()*" /> |
| <return type="xs:boolean" /> |
| <runtime type="scalar" |
| class="org.apache.vxquery.runtime.functions.comparison.general.GeneralGtComparisonScalarEvaluatorFactory" /> |
| </operator> |
| |
| <!-- opext:general-ge($arg1 as item()*, $arg2 as item()*) as xs:boolean --> |
| <operator name="opext:general-ge"> |
| <param name="arg1" type="item()*" /> |
| <param name="arg2" type="item()*" /> |
| <return type="xs:boolean" /> |
| <runtime type="scalar" |
| class="org.apache.vxquery.runtime.functions.comparison.general.GeneralGeComparisonScalarEvaluatorFactory" /> |
| </operator> |
| |
| <!-- opext:add($arg1 as xs:anyAtomicType?, $arg2 as xs:anyAtomicType?) as |
| xs:anyAtomicType? --> |
| <operator name="opext:add"> |
| <param name="arg1" type="xs:anyAtomicType?" /> |
| <param name="arg2" type="xs:anyAtomicType?" /> |
| <return type="xs:anyAtomicType?" /> |
| <runtime type="scalar" |
| class="org.apache.vxquery.runtime.functions.arithmetic.AddScalarEvaluatorFactory" /> |
| </operator> |
| |
| <!-- opext:subtract($arg1 as xs:anyAtomicType?, $arg2 as xs:anyAtomicType?) |
| as xs:anyAtomicType? --> |
| <operator name="opext:subtract"> |
| <param name="arg1" type="xs:anyAtomicType?" /> |
| <param name="arg2" type="xs:anyAtomicType?" /> |
| <return type="xs:anyAtomicType?" /> |
| <runtime type="scalar" |
| class="org.apache.vxquery.runtime.functions.arithmetic.SubtractScalarEvaluatorFactory" /> |
| </operator> |
| |
| <!-- opext:multiply($arg1 as xs:anyAtomicType?, $arg2 as xs:anyAtomicType?) |
| as xs:anyAtomicType? --> |
| <operator name="opext:multiply"> |
| <param name="arg1" type="xs:anyAtomicType?" /> |
| <param name="arg2" type="xs:anyAtomicType?" /> |
| <return type="xs:anyAtomicType?" /> |
| <runtime type="scalar" |
| class="org.apache.vxquery.runtime.functions.arithmetic.MultiplyScalarEvaluatorFactory" /> |
| </operator> |
| |
| <!-- opext:divide($arg1 as xs:anyAtomicType?, $arg2 as xs:anyAtomicType?) |
| as xs:anyAtomicType? --> |
| <operator name="opext:divide"> |
| <param name="arg1" type="xs:anyAtomicType?" /> |
| <param name="arg2" type="xs:anyAtomicType?" /> |
| <return type="xs:anyAtomicType?" /> |
| <runtime type="scalar" |
| class="org.apache.vxquery.runtime.functions.arithmetic.DivideScalarEvaluatorFactory" /> |
| </operator> |
| |
| <!-- opext:idiv($arg1 as xs:anyAtomicType?, $arg2 as xs:anyAtomicType?) |
| as xs:anyAtomicType? --> |
| <operator name="opext:idiv"> |
| <param name="arg1" type="xsext:numeric?" /> |
| <param name="arg2" type="xsext:numeric?" /> |
| <return type="xs:integer?" /> |
| <runtime type="scalar" |
| class="org.apache.vxquery.runtime.functions.arithmetic.IntegerDivideScalarEvaluatorFactory" /> |
| </operator> |
| |
| <!-- opext:mod($arg1 as xs:anyAtomicType?, $arg2 as xs:anyAtomicType?) as |
| xs:anyAtomicType? --> |
| <operator name="opext:mod"> |
| <param name="arg1" type="xsext:numeric?" /> |
| <param name="arg2" type="xsext:numeric?" /> |
| <return type="xs:integer?" /> |
| <runtime type="scalar" |
| class="org.apache.vxquery.runtime.functions.arithmetic.ModScalarEvaluatorFactory" /> |
| </operator> |
| |
| <!-- opext:and($arg1 as xs:boolean?, $arg2 as xs:boolean?) as xs:boolean? --> |
| <operator name="opext:and"> |
| <param name="arg1" type="xs:boolean?" /> |
| <param name="arg2" type="xs:boolean?" /> |
| <return type="xs:boolean?" /> |
| <runtime type="scalar" |
| class="org.apache.vxquery.runtime.functions.bool.AndScalarEvaluatorFactory" /> |
| </operator> |
| |
| <!-- opext:or($arg1 as xs:boolean?, $arg2 as xs:boolean?) as xs:boolean? --> |
| <operator name="opext:or"> |
| <param name="arg1" type="xs:boolean?" /> |
| <param name="arg2" type="xs:boolean?" /> |
| <return type="xs:boolean?" /> |
| <runtime type="scalar" |
| class="org.apache.vxquery.runtime.functions.bool.OrScalarEvaluatorFactory" /> |
| </operator> |
| |
| <!-- opext:sort-nodes-asc($arg as node()*) as node()* --> |
| <operator name="opext:sort-nodes-asc"> |
| <param name="arg" type="node()*" /> |
| <return type="node()*" /> |
| <runtime type="scalar" |
| class="org.apache.vxquery.runtime.functions.nodeid.SortDistinctNodesAscOrAtomicsScalarEvaluatorFactory" /> |
| <property type="UniqueNodes" |
| class="org.apache.vxquery.compiler.rewriter.rules.propagationpolicies.InputPropertyPropagationPolicy"> |
| <argument value="0" /> |
| </property> |
| </operator> |
| |
| <!-- opext:sort-nodes-asc-or-atomics($arg as item()*) as item()* --> |
| <operator name="opext:sort-nodes-asc-or-atomics"> |
| <param name="arg" type="item()*" /> |
| <return type="item()*" /> |
| <runtime type="scalar" |
| class="org.apache.vxquery.runtime.functions.nodeid.SortDistinctNodesAscOrAtomicsScalarEvaluatorFactory" /> |
| <property type="UniqueNodes" |
| class="org.apache.vxquery.compiler.rewriter.rules.propagationpolicies.InputPropertyPropagationPolicy"> |
| <argument value="0" /> |
| </property> |
| </operator> |
| |
| <!-- opext:sort-distinct-nodes-asc($arg as node()*) as node()* --> |
| <operator name="opext:sort-distinct-nodes-asc"> |
| <param name="arg" type="node()*" /> |
| <return type="node()*" /> |
| <property type="UniqueNodes" |
| class="org.apache.vxquery.compiler.rewriter.rules.propagationpolicies.InputPropertyPropagationPolicy"> |
| <argument value="0" /> |
| </property> |
| </operator> |
| |
| <!-- opext:sort-distinct-nodes-asc-or-atomics($arg as item()*) as item()* --> |
| <operator name="opext:sort-distinct-nodes-asc-or-atomics"> |
| <param name="arg" type="item()*" /> |
| <return type="item()*" /> |
| <runtime type="scalar" |
| class="org.apache.vxquery.runtime.functions.nodeid.SortDistinctNodesAscOrAtomicsScalarEvaluatorFactory" /> |
| </operator> |
| |
| <!-- opext:distinct-nodes-or-atomics($arg as item()*) as item()* --> |
| <operator name="opext:distinct-nodes-or-atomics"> |
| <param name="arg" type="item()*" /> |
| <return type="item()*" /> |
| <runtime type="scalar" |
| class="org.apache.vxquery.runtime.functions.nodeid.SortDistinctNodesAscOrAtomicsScalarEvaluatorFactory" /> |
| </operator> |
| |
| <!-- opext:sort-nodes-desc($arg as node()*) as node()* --> |
| <operator name="opext:sort-nodes-desc"> |
| <param name="arg" type="node()*" /> |
| <return type="node()*" /> |
| <property type="UniqueNodes" |
| class="org.apache.vxquery.compiler.rewriter.rules.propagationpolicies.InputPropertyPropagationPolicy"> |
| <argument value="0" /> |
| </property> |
| </operator> |
| |
| <!-- opext:sort-nodes-desc-or-atomics($arg as item()*) as item()* --> |
| <operator name="opext:sort-nodes-desc-or-atomics"> |
| <param name="arg" type="item()*" /> |
| <return type="item()*" /> |
| <property type="UniqueNodes" |
| class="org.apache.vxquery.compiler.rewriter.rules.propagationpolicies.InputPropertyPropagationPolicy"> |
| <argument value="0" /> |
| </property> |
| </operator> |
| |
| <!-- opext:sort-distinct-nodes-desc($arg as node()*) as node()* --> |
| <operator name="opext:sort-distinct-nodes-desc"> |
| <param name="arg" type="node()*" /> |
| <return type="node()*" /> |
| </operator> |
| |
| <!-- opext:sort-distinct-nodes-desc-or-atomics($arg as item()*) as item()* --> |
| <operator name="opext:sort-distinct-nodes-desc-or-atomics"> |
| <param name="arg" type="item()*" /> |
| <return type="item()*" /> |
| </operator> |
| |
| <!-- opext:id-from-node($arg as item()) as xs:integer --> |
| <operator name="opext:id-from-node"> |
| <param name="arg" type="item()" /> |
| <return type="xs:integer" /> |
| <runtime type="scalar" |
| class="org.apache.vxquery.runtime.functions.node.IdFromNodeScalarEvaluatorFactory" /> |
| </operator> |
| |
| <!-- opext:local-id-from-node($arg as item()) as xs:int --> |
| <operator name="opext:local-id-from-node"> |
| <param name="arg" type="item()" /> |
| <return type="xs:int" /> |
| <runtime type="scalar" |
| class="org.apache.vxquery.runtime.functions.node.LocalIdFromNodeScalarEvaluatorFactory" /> |
| </operator> |
| |
| <!-- opext:tree-id-from-node($arg as item()) as xs:int --> |
| <operator name="opext:tree-id-from-node"> |
| <param name="arg" type="item()" /> |
| <return type="xs:int" /> |
| <runtime type="scalar" |
| class="org.apache.vxquery.runtime.functions.node.TreeIdFromNodeScalarEvaluatorFactory" /> |
| </operator> |
| |
| <!-- opext:deflate-sequences($arg as item()*) as item()* --> |
| <operator name="opext:deflate-sequences"> |
| <param name="arg" type="item()*" /> |
| <return type="item()*" /> |
| <property type="DocumentOrder" |
| class="org.apache.vxquery.compiler.rewriter.rules.propagationpolicies.InputPropertyPropagationPolicy"> |
| <argument value="0" /> |
| </property> |
| <property type="UniqueNodes" |
| class="org.apache.vxquery.compiler.rewriter.rules.propagationpolicies.InputPropertyPropagationPolicy"> |
| <argument value="0" /> |
| </property> |
| </operator> |
| |
| <!-- opext:pi-constructor($target as xs:sring, $content as xs:string) as |
| node() --> |
| <operator name="opext:pi-constructor"> |
| <param name="target" type="xs:string" /> |
| <param name="content" type="xs:string" /> |
| <return type="node()" /> |
| <runtime type="scalar" |
| class="org.apache.vxquery.runtime.functions.node.PINodeConstructorScalarEvaluatorFactory" /> |
| </operator> |
| |
| <!-- opext:comment-constructor($content as xs:string) as node() --> |
| <operator name="opext:comment-constructor"> |
| <param name="content" type="xs:string" /> |
| <return type="node()" /> |
| <runtime type="scalar" |
| class="org.apache.vxquery.runtime.functions.node.CommentNodeConstructorScalarEvaluatorFactory" /> |
| </operator> |
| |
| <!-- opext:element-constructor($name as xs:QName, $content as item()*) as |
| node() --> |
| <operator name="opext:element-constructor"> |
| <param name="name" type="xs:QName" /> |
| <param name="content" type="item()*" /> |
| <return type="node()" /> |
| <runtime type="scalar" |
| class="org.apache.vxquery.runtime.functions.node.ElementNodeConstructorScalarEvaluatorFactory" /> |
| </operator> |
| |
| <!-- opext:array-constructor($expression as node()) as node() --> |
| <operator name="opext:array-constructor"> |
| <param name="expession" type="node()" /> |
| <return type="item()" /> |
| <runtime type="scalar" |
| class="org.apache.vxquery.runtime.functions.node.ArrayNodeConstructorScalarEvaluatorFactory" /> |
| </operator> |
| |
| <!-- opext:attribute-constructor($name as xs:QName, $content as xs:anyAtomicType*) |
| as node() --> |
| <operator name="opext:attribute-constructor"> |
| <param name="name" type="xs:QName" /> |
| <param name="content" type="xs:anyAtomicType*" /> |
| <return type="node()" /> |
| <runtime type="scalar" |
| class="org.apache.vxquery.runtime.functions.node.AttributeNodeConstructorScalarEvaluatorFactory" /> |
| </operator> |
| |
| <!-- opext:text-constructor($content as xs:anyAtomicType*) as node() --> |
| <operator name="opext:text-constructor"> |
| <param name="content" type="xs:anyAtomicType*" /> |
| <return type="node()" /> |
| <runtime type="scalar" |
| class="org.apache.vxquery.runtime.functions.node.TextNodeConstructorScalarEvaluatorFactory" /> |
| </operator> |
| |
| <!-- opext:document-constructor($content as node()) as node() --> |
| <operator name="opext:document-constructor"> |
| <param name="content" type="node()" /> |
| <return type="node()" /> |
| </operator> |
| |
| <!-- opext:if-then-else($condition as xs:boolean, $then as item()*, $else |
| as item()*) as item()* --> |
| <operator name="opext:if-then-else"> |
| <param name="condition" type="xs:boolean" /> |
| <param name="then" type="item()*" /> |
| <param name="else" type="item()*" /> |
| <runtime type="scalar" |
| class="org.apache.vxquery.runtime.functions.conditional.IfThenElseScalarEvaluatorFactory" /> |
| <return type="item()*" /> |
| </operator> |
| |
| <!-- opext:ancestor($arg as node()*) as node()* --> |
| <operator name="opext:ancestor"> |
| <param name="arg" type="node()*" /> |
| <return type="node()*" /> |
| </operator> |
| |
| <!-- opext:ancestor-or-self($arg as node()*) as node()* --> |
| <operator name="opext:ancestor-or-self"> |
| <param name="arg" type="node()*" /> |
| <return type="node()*" /> |
| </operator> |
| |
| <!-- opext:attribute($arg as node()*) as node()* --> |
| <operator name="opext:attribute"> |
| <param name="arg" type="node()*" /> |
| <return type="node()*" /> |
| <runtime type="scalar" |
| class="org.apache.vxquery.runtime.functions.step.AttributePathStepScalarEvaluatorFactory" /> |
| </operator> |
| |
| <!-- opext:child($arg as node()*) as node()* --> |
| <operator name="opext:child"> |
| <param name="arg" type="node()*" /> |
| <return type="node()*" /> |
| <runtime type="scalar" |
| class="org.apache.vxquery.runtime.functions.step.ChildPathStepScalarEvaluatorFactory" /> |
| <runtime type="unnesting" |
| class="org.apache.vxquery.runtime.functions.step.ChildPathStepUnnestingEvaluatorFactory" /> |
| <property type="DocumentOrder" |
| class="org.apache.vxquery.compiler.rewriter.rules.propagationpolicies.InputPropertyPropagationPolicy"> |
| <argument value="0" /> |
| </property> |
| <property type="UniqueNodes" |
| class="org.apache.vxquery.compiler.rewriter.rules.propagationpolicies.InputPropertyPropagationPolicy"> |
| <argument value="0" /> |
| </property> |
| </operator> |
| |
| <!-- opext:descendant($arg as node()*) as node()* --> |
| <operator name="opext:descendant"> |
| <param name="arg" type="node()*" /> |
| <return type="node()*" /> |
| <runtime type="scalar" |
| class="org.apache.vxquery.runtime.functions.step.DescendantPathStepScalarEvaluatorFactory" /> |
| <property type="UniqueNodes" |
| class="org.apache.vxquery.compiler.rewriter.rules.propagationpolicies.uniquenodes.UniqueNodesNOPropagationPolicy" /> |
| </operator> |
| |
| <!-- opext:descendant-or-self($arg as node()*) as node()* --> |
| <operator name="opext:descendant-or-self"> |
| <param name="arg" type="node()*" /> |
| <return type="node()*" /> |
| <runtime type="scalar" |
| class="org.apache.vxquery.runtime.functions.step.DescendantOrSelfPathStepScalarEvaluatorFactory" /> |
| <runtime type="unnesting" |
| class="org.apache.vxquery.runtime.functions.step.DescendantOrSelfPathStepUnnestingEvaluatorFactory" /> |
| <property type="UniqueNodes" |
| class="org.apache.vxquery.compiler.rewriter.rules.propagationpolicies.uniquenodes.UniqueNodesNOPropagationPolicy" /> |
| </operator> |
| |
| <!-- opext:following($arg as node()*) as node()* --> |
| <operator name="opext:following"> |
| <param name="arg" type="node()*" /> |
| <return type="node()*" /> |
| </operator> |
| |
| <!-- opext:following-sibling($arg as node()*) as node()* --> |
| <operator name="opext:following-sibling"> |
| <param name="arg" type="node()*" /> |
| <return type="node()*" /> |
| </operator> |
| |
| <!-- opext:parent($arg as node()*) as node()* --> |
| <operator name="opext:parent"> |
| <param name="arg" type="node()*" /> |
| <return type="node()*" /> |
| </operator> |
| |
| <!-- opext:preceding($arg as node()*) as node()* --> |
| <operator name="opext:preceding"> |
| <param name="arg" type="node()*" /> |
| <return type="node()*" /> |
| </operator> |
| |
| <!-- opext:preceding-sibling($arg as node()*) as node()* --> |
| <operator name="opext:preceding-sibling"> |
| <param name="arg" type="node()*" /> |
| <return type="node()*" /> |
| </operator> |
| |
| <!-- opext:self($arg as node()*) as node()* --> |
| <operator name="opext:self"> |
| <param name="arg" type="node()*" /> |
| <return type="node()*" /> |
| <runtime type="scalar" |
| class="org.apache.vxquery.runtime.functions.step.SelfPathStepScalarEvaluatorFactory" /> |
| </operator> |
| |
| <!-- opext:sequence($arg as item()*) as item()* --> |
| <operator name="opext:sequence"> |
| <param name="arg" type="item()*" /> |
| <return type="item()*" /> |
| <runtime type="aggregate" |
| class="org.apache.vxquery.runtime.functions.sequence.SequenceAggregateEvaluatorFactory" /> |
| </operator> |
| |
| <!-- opext:iterate($arg as item()*) as item() --> |
| <operator name="opext:iterate"> |
| <param name="arg" type="item()*" /> |
| <return type="item()" /> |
| <runtime type="unnesting" |
| class="org.apache.vxquery.runtime.functions.sequence.IterateUnnestingEvaluatorFactory" /> |
| <property type="DocumentOrder" |
| class="org.apache.vxquery.compiler.rewriter.rules.propagationpolicies.InputPropertyPropagationPolicy"> |
| <argument value="0" /> |
| </property> |
| <property type="UniqueNodes" |
| class="org.apache.vxquery.compiler.rewriter.rules.propagationpolicies.InputPropertyPropagationPolicy"> |
| <argument value="0" /> |
| </property> |
| </operator> |
| |
| <!-- opext:validate-lax($arg as item()*) as item()* --> |
| <operator name="opext:validate-lax"> |
| <param name="arg" type="item()*" /> |
| <return type="item()*" /> |
| </operator> |
| |
| <!-- opext:validate-strict($arg as item()*) as item()* --> |
| <operator name="opext:validate-strict"> |
| <param name="arg" type="item()*" /> |
| <return type="item()*" /> |
| </operator> |
| |
| <!-- opext:promote($arg as item()*, $type as xsext:type) as item()* --> |
| <operator name="opext:promote"> |
| <param name="arg" type="item()*" /> |
| <param name="type" type="xs:int" /> |
| <return type="item()*" /> |
| <runtime type="scalar" |
| class="org.apache.vxquery.runtime.functions.type.PromoteScalarEvaluatorFactory" /> |
| </operator> |
| |
| <!-- opext:treat($arg as item()*, $type as xsext:type) as item()* --> |
| <operator name="opext:treat"> |
| <param name="arg" type="item()*" /> |
| <param name="type" type="xs:int" /> |
| <return type="item()*" /> |
| <runtime type="scalar" |
| class="org.apache.vxquery.runtime.functions.type.TreatScalarEvaluatorFactory" /> |
| </operator> |
| |
| <!-- opext:cast($arg as item()*, $type as xsext:type) as item()* --> |
| <operator name="opext:cast"> |
| <param name="arg" type="item()*" /> |
| <param name="type" type="xs:int" /> |
| <return type="item()*" /> |
| <runtime type="scalar" |
| class="org.apache.vxquery.runtime.functions.cast.CastScalarEvaluatorFactory" /> |
| </operator> |
| |
| <!-- opext:castable($arg as item()*, $type as xsext:type) as xs:boolean --> |
| <operator name="opext:castable"> |
| <param name="arg" type="item()*" /> |
| <param name="type" type="xs:int" /> |
| <return type="xs:boolean" /> |
| <runtime type="scalar" |
| class="org.apache.vxquery.runtime.functions.castable.CastableScalarEvaluatorFactory" /> |
| </operator> |
| |
| <!-- opext:instance-of($arg as item()*, $type as xsext:type) as xs:boolean --> |
| <operator name="opext:instance-of"> |
| <param name="arg" type="item()*" /> |
| <param name="type" type="xs:int" /> |
| <return type="xs:boolean" /> |
| <runtime type="scalar" |
| class="org.apache.vxquery.runtime.functions.type.InstanceOfScalarEvaluatorFactory" /> |
| </operator> |
| </operators> |