ࡱ>  @ 0Abjbj00 .&RbRb]ojjjjV lH\\Vd@0 t!<#%%%%%%$pRXIjZޣ \Ijj00^h| j0j0#ޣ#jj0 `Μ]x T80\\jjjj g]q S]]]II\FY$<\YExpression language The DFDL expression language allows the processing of values conforming to the data model defined in the DFDL Data Model. It allows attributes and properties in the DFDL schema to be dependent of the contents of an instance of a DFDL document, a DFDL variable or another property in the schema. For example the length of a field can be made dependent on the contents of another field in the document. The main uses of the expression language are When a DFDL property needs to be set dynamically at parse time from the contents of one or more fields in a message.elements of the data. Properties such as initiator, terminator, length, separator, occursSeparator, nulland nullValues accept an expression. In a dfdl:assert annotation In a dfdl:discriminator annotation to resolve uncertainty when parsing In an inputValueCalc property to derive a node in the logical model that doesnt exist in the physical data. In an outputValueCalc property to set a value into a field on output. As the value in a dfdl:setVariable annotation or the defaultValue in a dfdl:defineVariable. The DFDL expression language is a subset of XPath 2.0 (ref). DFDL uses only a subset of XML Schema and has a simpler information model, so only a subset of XPath 2.0 expressions is meaningful in DFDL Schemas. For example there are no attributes in DFDL so the attribute axis is not needed. Expression Language Data Model The DFDL expression language operates on the DFDL information model with the addition of hidden elements. Expressions can only access nodes that currently exist in the tree. On parsing only elements that precede the current element in the data are accessible. On unparsing all elements can be accessed irrespective of position in the data. General Syntax DFDL expressions follow the XPath 2.0 syntax rules but are always enclosed in curly braces { and }. Examples { /book/title }{ $x+2 }{ if (fn:exists(../field1)) then 1 else 0 sum(for $i in //items return $i/price * $i/quantity) }  The result of evaluating the expression must be a single atomic value of the type expected by the context. They Expressions must not return a node setsequence containing more than one item or a processing schema definition error will be returned. If the expression returns an empty sequence it will be treated as returning NULL. XPath Variable Binding XPath supports the ability to refer to variables inside an expression that have been assigned prior to evaluation. DFDL binds these variables to DFDL variables that have previously been defined by a dfdl:defineVariable property. Path Expressions Path expressions are expected to be the most commonly used XPath expression in DFDL schema. A path expression consists of one or more step expressions separated by a / or // A step expression consists of an axis step. DFDL does not support filter expressions An axis step consists of an axis followed by :: followed by a node test and optionally followed by a predicate list Syntax: << / >> axis :: nodetest << [ >> predicate << ] / >> For example: child::planet [ 2 ] Axis DFDL supports the child (default), parent (..) and self (.) axes. Node Tests A node test can be a name test or a kind test. A name test will select nodes that match by name. and is either the name of a node or the wildcard *. A kind test will select nodes that match by type and is either node () which will return any kind or element( name, type) which will return an element node that matches the name and typeis not supported. Predicates A predicate is a qualifying expression used to select a subset of the nodes. The predicate can be an XPath expression and is written in square brackets [ ]. Predicates are only used to index arrays so cannot be contain comparison expressions. If Expressions Syntax: << if ( >> Expr << ) >> << then >> ExprSingle << else >> ExprSingle The condition Expr is evaluated and the expression returns the result of evaluating the either the << then >> or <> branch. The conditional expression Expr is evaluated to give its effective boolean value. The effective Boolean value of any value is true unless it is: The empty sequence A singleton xs:Boolean value false A singleton zero length string A singleton xs:doulble, xs:float or xs:decimal that is numerically equal to zero For Expressions For expressions are not supported. Some and Every Expressions Some and Every expressions are not supported. Constructors, Functions and Operators Constructor Functions for XML Schema Built-in Types The following constructor functions for the built-in types are supported: xs:string($argasxs:anyAtomicType?)asxs:string? xs:boolean($argasxs:anyAtomicType?)asxs:boolean? xs:decimal($argasxs:anyAtomicType?)asxs:decimal? xs:float($argasxs:anyAtomicType?)asxs:float? xs:double($argasxs:anyAtomicType?)asxs:double? xs:duration($argasxs:anyAtomicType?)asxs:duration? xs:dateTime($argasxs:anyAtomicType?)asxs:dateTime? xs:time($argasxs:anyAtomicType?)asxs:time? xs:date($argasxs:anyAtomicType?)asxs:date? xs:hexBinary($argasxs:anyAtomicType?)asxs:hexBinary? xs:base64Binary($argasxs:anyAtomicType?)asxs:base64Binary? xs:integer($argasxs:anyAtomicType?)asxs:integer? xs:long($argasxs:anyAtomicType?)asxs:long? xs:int($argasxs:anyAtomicType?)asxs:int? xs:short($argasxs:anyAtomicType?)asxs:short? xs:byte($argasxs:anyAtomicType?)asxs:byte? xs:unsignedLong($argasxs:anyAtomicType?)asxs:unsignedLong? xs:unsignedInt($argasxs:anyAtomicType?)asxs:unsignedInt? xs:unsignedShort($argasxs:anyAtomicType?)asxs:unsignedShort? xs:unsignedByte($argasxs:anyAtomicType?)asxs:unsignedByte? xs:yearMonthDuration($argasxs:anyAtomicType?)asxs:yearMonthDuration? xs:dayTimeDuration($argasxs:anyAtomicType?)asxs:dayTimeDuration? A Special Constructor Function for xs:dateTime A special constructor function is provided for constructing a xs:dateTime value from a xs:date value and a xs:time value. fn:dateTime($arg1asxs:date?, $arg2asxs:time?)asxs:dateTime? Operators Supported ,Sequence concatenationoOrBoolean disjunctionaAndBoolean conjunctioneq ne lt le gt geValue comparisons= != < <= > >=Ordering comparison + -Addition, subtraction* div idiv modMultiplication, division, modulus Not supported = != < <= > >=General comparison << is >> Ordering comparison between nodes| unionUnionIntersect exceptInstersectionInstersectionIntersection and differences of sequencestoConstructs a sequences of integers Note: there is not shift operator Standard XPath Functions Boolean functions The following additional constructor functions are defined on the boolean type. FunctionMeaning HYPERLINK "file:///C:\\Documents%20and%20Settings\\Administrator\\My%20Documents\\$user\\Xpath\\XPath%20Functions\\XQuery%201.0%20and%20XPath%202.0%20Functions%20and%20Operators.htm" \l "func-true" fn:trueConstructs the xs:boolean value 'true'. HYPERLINK "file:///C:\\Documents%20and%20Settings\\Administrator\\My%20Documents\\$user\\Xpath\\XPath%20Functions\\XQuery%201.0%20and%20XPath%202.0%20Functions%20and%20Operators.htm" \l "func-false" fn:falseConstructs the xs:boolean value 'false'. The following functions are defined on boolean values: FunctionMeaning HYPERLINK "file:///C:\\Documents%20and%20Settings\\Administrator\\My%20Documents\\$user\\Xpath\\XPath%20Functions\\XQuery%201.0%20and%20XPath%202.0%20Functions%20and%20Operators.htm" \l "func-not" fn:notInverts the xs:boolean value of the argument. BooleanReturns Boolean valueFalseNottrue Numeric Functions The following functions are defined on numeric types. Each function returns a value of the same type as the type of its argument. FunctionMeaning HYPERLINK "file:///C:\\Documents%20and%20Settings\\Administrator\\My%20Documents\\$user\\Xpath\\XPath%20Functions\\XQuery%201.0%20and%20XPath%202.0%20Functions%20and%20Operators.htm" \l "func-abs" fn:absReturns the absolute value of the argument. HYPERLINK "file:///C:\\Documents%20and%20Settings\\Administrator\\My%20Documents\\$user\\Xpath\\XPath%20Functions\\XQuery%201.0%20and%20XPath%202.0%20Functions%20and%20Operators.htm" \l "func-ceiling" fn:ceilingReturns the smallest number with no fractional part that is greater than or equal to the argument. HYPERLINK "file:///C:\\Documents%20and%20Settings\\Administrator\\My%20Documents\\$user\\Xpath\\XPath%20Functions\\XQuery%201.0%20and%20XPath%202.0%20Functions%20and%20Operators.htm" \l "func-floor" fn:floorReturns the largest number with no fractional part that is less than or equal to the argument. HYPERLINK "file:///C:\\Documents%20and%20Settings\\Administrator\\My%20Documents\\$user\\Xpath\\XPath%20Functions\\XQuery%201.0%20and%20XPath%202.0%20Functions%20and%20Operators.htm" \l "func-round" fn:roundRounds to the nearest number with no fractional part. HYPERLINK "file:///C:\\Documents%20and%20Settings\\Administrator\\My%20Documents\\$user\\Xpath\\XPath%20Functions\\XQuery%201.0%20and%20XPath%202.0%20Functions%20and%20Operators.htm" \l "func-round-half-to-even" fn:round-half-to-evenTakes a number and a precision and returns a number rounded to the given precision. If the fractional part is exactly half, the result is the number whose least significant digit is even. AbsAvgMaxMinroundsum Sting Functions The following functions are defined on values of type xs:string and types derived from it. FunctionMeaning HYPERLINK "file:///C:\\Documents%20and%20Settings\\Administrator\\My%20Documents\\$user\\Xpath\\XPath%20Functions\\XQuery%201.0%20and%20XPath%202.0%20Functions%20and%20Operators.htm" \l "func-concat" fn:concatConcatenates two or more xs:anyAtomicType arguments cast to xs:string. HYPERLINK "file:///C:\\Documents%20and%20Settings\\Administrator\\My%20Documents\\$user\\Xpath\\XPath%20Functions\\XQuery%201.0%20and%20XPath%202.0%20Functions%20and%20Operators.htm" \l "func-substring" fn:substringReturns the xs:string located at a specified place within an argument xs:string. HYPERLINK "file:///C:\\Documents%20and%20Settings\\Administrator\\My%20Documents\\$user\\Xpath\\XPath%20Functions\\XQuery%201.0%20and%20XPath%202.0%20Functions%20and%20Operators.htm" \l "func-string-length" fn:string-lengthReturns the length of the argument. HYPERLINK "file:///C:\\Documents%20and%20Settings\\Administrator\\My%20Documents\\$user\\Xpath\\XPath%20Functions\\XQuery%201.0%20and%20XPath%202.0%20Functions%20and%20Operators.htm" \l "func-upper-case" fn:upper-caseReturns the upper-cased value of the argument. HYPERLINK "file:///C:\\Documents%20and%20Settings\\Administrator\\My%20Documents\\$user\\Xpath\\XPath%20Functions\\XQuery%201.0%20and%20XPath%202.0%20Functions%20and%20Operators.htm" \l "func-lower-case" fn:lower-caseReturns the lower-cased value of the argument. FunctionMeaning HYPERLINK "file:///C:\\Documents%20and%20Settings\\Administrator\\My%20Documents\\$user\\Xpath\\XPath%20Functions\\XQuery%201.0%20and%20XPath%202.0%20Functions%20and%20Operators.htm" \l "func-contains" fn:containsIndicates whether one xs:string contains another xs:string. A collation may be specified. HYPERLINK "file:///C:\\Documents%20and%20Settings\\Administrator\\My%20Documents\\$user\\Xpath\\XPath%20Functions\\XQuery%201.0%20and%20XPath%202.0%20Functions%20and%20Operators.htm" \l "func-starts-with" fn:starts-withIndicates whether the value of one xs:string begins with the collation units of another xs:string. A collation may be specified. HYPERLINK "file:///C:\\Documents%20and%20Settings\\Administrator\\My%20Documents\\$user\\Xpath\\XPath%20Functions\\XQuery%201.0%20and%20XPath%202.0%20Functions%20and%20Operators.htm" \l "func-ends-with" fn:ends-withIndicates whether the value of one xs:string ends with the collation units of another xs:string. A collation may be specified. HYPERLINK "file:///C:\\Documents%20and%20Settings\\Administrator\\My%20Documents\\$user\\Xpath\\XPath%20Functions\\XQuery%201.0%20and%20XPath%202.0%20Functions%20and%20Operators.htm" \l "func-substring-before" fn:substring-beforeReturns the collation units of one xs:string that precede in that xs:string the collation units of another xs:string. A collation may be specified. HYPERLINK "file:///C:\\Documents%20and%20Settings\\Administrator\\My%20Documents\\$user\\Xpath\\XPath%20Functions\\XQuery%201.0%20and%20XPath%202.0%20Functions%20and%20Operators.htm" \l "func-substring-after" fn:substring-afterReturns the collation units of xs:string that follow in that xs:string the collation units of another xs:string CompareConcatContainsLower-caseStringConverts to stringString_lengthSubstringUpper-case Date, Time and Duration functions: None FunctionMeaning HYPERLINK "file:///C:\\Documents%20and%20Settings\\Administrator\\My%20Documents\\$user\\Xpath\\XPath%20Functions\\XQuery%201.0%20and%20XPath%202.0%20Functions%20and%20Operators.htm" \l "func-years-from-duration" fn:years-from-durationReturns the year component of an xs:duration value. HYPERLINK "file:///C:\\Documents%20and%20Settings\\Administrator\\My%20Documents\\$user\\Xpath\\XPath%20Functions\\XQuery%201.0%20and%20XPath%202.0%20Functions%20and%20Operators.htm" \l "func-months-from-duration" fn:months-from-durationReturns the months component of an xs:duration value. HYPERLINK "file:///C:\\Documents%20and%20Settings\\Administrator\\My%20Documents\\$user\\Xpath\\XPath%20Functions\\XQuery%201.0%20and%20XPath%202.0%20Functions%20and%20Operators.htm" \l "func-days-from-duration" fn:days-from-durationReturns the days component of an xs:duration value. HYPERLINK "file:///C:\\Documents%20and%20Settings\\Administrator\\My%20Documents\\$user\\Xpath\\XPath%20Functions\\XQuery%201.0%20and%20XPath%202.0%20Functions%20and%20Operators.htm" \l "func-hours-from-duration" fn:hours-from-durationReturns the hours component of an xs:duration value. HYPERLINK "file:///C:\\Documents%20and%20Settings\\Administrator\\My%20Documents\\$user\\Xpath\\XPath%20Functions\\XQuery%201.0%20and%20XPath%202.0%20Functions%20and%20Operators.htm" \l "func-minutes-from-duration" fn:minutes-from-durationReturns the minutes component of an xs:duration value. HYPERLINK "file:///C:\\Documents%20and%20Settings\\Administrator\\My%20Documents\\$user\\Xpath\\XPath%20Functions\\XQuery%201.0%20and%20XPath%202.0%20Functions%20and%20Operators.htm" \l "func-seconds-from-duration" fn:seconds-from-durationReturns the seconds component of an xs:duration value. HYPERLINK "file:///C:\\Documents%20and%20Settings\\Administrator\\My%20Documents\\$user\\Xpath\\XPath%20Functions\\XQuery%201.0%20and%20XPath%202.0%20Functions%20and%20Operators.htm" \l "func-year-from-dateTime" fn:year-from-dateTimeReturns the year from an xs:dateTime value. HYPERLINK "file:///C:\\Documents%20and%20Settings\\Administrator\\My%20Documents\\$user\\Xpath\\XPath%20Functions\\XQuery%201.0%20and%20XPath%202.0%20Functions%20and%20Operators.htm" \l "func-month-from-dateTime" fn:month-from-dateTimeReturns the month from an xs:dateTime value. HYPERLINK "file:///C:\\Documents%20and%20Settings\\Administrator\\My%20Documents\\$user\\Xpath\\XPath%20Functions\\XQuery%201.0%20and%20XPath%202.0%20Functions%20and%20Operators.htm" \l "func-day-from-dateTime" fn:day-from-dateTimeReturns the day from an xs:dateTime value. HYPERLINK "file:///C:\\Documents%20and%20Settings\\Administrator\\My%20Documents\\$user\\Xpath\\XPath%20Functions\\XQuery%201.0%20and%20XPath%202.0%20Functions%20and%20Operators.htm" \l "func-hours-from-dateTime" fn:hours-from-dateTimeReturns the hours from an xs:dateTime value. HYPERLINK "file:///C:\\Documents%20and%20Settings\\Administrator\\My%20Documents\\$user\\Xpath\\XPath%20Functions\\XQuery%201.0%20and%20XPath%202.0%20Functions%20and%20Operators.htm" \l "func-minutes-from-dateTime" fn:minutes-from-dateTimeReturns the minutes from an xs:dateTime value. HYPERLINK "file:///C:\\Documents%20and%20Settings\\Administrator\\My%20Documents\\$user\\Xpath\\XPath%20Functions\\XQuery%201.0%20and%20XPath%202.0%20Functions%20and%20Operators.htm" \l "func-seconds-from-dateTime" fn:seconds-from-dateTimeReturns the seconds from an xs:dateTime value. HYPERLINK "file:///C:\\Documents%20and%20Settings\\Administrator\\My%20Documents\\$user\\Xpath\\XPath%20Functions\\XQuery%201.0%20and%20XPath%202.0%20Functions%20and%20Operators.htm" \l "func-timezone-from-dateTime" fn:timezone-from-dateTimeReturns the timezone from an xs:dateTime value. HYPERLINK "file:///C:\\Documents%20and%20Settings\\Administrator\\My%20Documents\\$user\\Xpath\\XPath%20Functions\\XQuery%201.0%20and%20XPath%202.0%20Functions%20and%20Operators.htm" \l "func-year-from-date" fn:year-from-dateReturns the year from an xs:date value. HYPERLINK "file:///C:\\Documents%20and%20Settings\\Administrator\\My%20Documents\\$user\\Xpath\\XPath%20Functions\\XQuery%201.0%20and%20XPath%202.0%20Functions%20and%20Operators.htm" \l "func-month-from-date" fn:month-from-dateReturns the month from an xs:date value. HYPERLINK "file:///C:\\Documents%20and%20Settings\\Administrator\\My%20Documents\\$user\\Xpath\\XPath%20Functions\\XQuery%201.0%20and%20XPath%202.0%20Functions%20and%20Operators.htm" \l "func-day-from-date" fn:day-from-dateReturns the day from an xs:date value. HYPERLINK "file:///C:\\Documents%20and%20Settings\\Administrator\\My%20Documents\\$user\\Xpath\\XPath%20Functions\\XQuery%201.0%20and%20XPath%202.0%20Functions%20and%20Operators.htm" \l "func-timezone-from-date" fn:timezone-from-dateReturns the timezone from an xs:date value. HYPERLINK "file:///C:\\Documents%20and%20Settings\\Administrator\\My%20Documents\\$user\\Xpath\\XPath%20Functions\\XQuery%201.0%20and%20XPath%202.0%20Functions%20and%20Operators.htm" \l "func-hours-from-time" fn:hours-from-timeReturns the hours from an xs:time value. HYPERLINK "file:///C:\\Documents%20and%20Settings\\Administrator\\My%20Documents\\$user\\Xpath\\XPath%20Functions\\XQuery%201.0%20and%20XPath%202.0%20Functions%20and%20Operators.htm" \l "func-minutes-from-time" fn:minutes-from-timeReturns the minutes from an xs:time value. HYPERLINK "file:///C:\\Documents%20and%20Settings\\Administrator\\My%20Documents\\$user\\Xpath\\XPath%20Functions\\XQuery%201.0%20and%20XPath%202.0%20Functions%20and%20Operators.htm" \l "func-seconds-from-time" fn:seconds-from-timeReturns the seconds from an xs:time value. HYPERLINK "file:///C:\\Documents%20and%20Settings\\Administrator\\My%20Documents\\$user\\Xpath\\XPath%20Functions\\XQuery%201.0%20and%20XPath%202.0%20Functions%20and%20Operators.htm" \l "func-timezone-from-time" fn:timezone-from-timeReturns the timezone from an xs:time value. FunctionMeaning HYPERLINK "file:///C:\\Documents%20and%20Settings\\Administrator\\My%20Documents\\$user\\Xpath\\XPath%20Functions\\XQuery%201.0%20and%20XPath%202.0%20Functions%20and%20Operators.htm" \l "func-adjust-dateTime-to-timezone" fn:adjust-dateTime-to-timezoneAdjusts an xs:dateTime value to a specific timezone, or to no timezone at all. HYPERLINK "file:///C:\\Documents%20and%20Settings\\Administrator\\My%20Documents\\$user\\Xpath\\XPath%20Functions\\XQuery%201.0%20and%20XPath%202.0%20Functions%20and%20Operators.htm" \l "func-adjust-date-to-timezone" fn:adjust-date-to-timezoneAdjusts an xs:date value to a specific timezone, or to no timezone at all. HYPERLINK "file:///C:\\Documents%20and%20Settings\\Administrator\\My%20Documents\\$user\\Xpath\\XPath%20Functions\\XQuery%201.0%20and%20XPath%202.0%20Functions%20and%20Operators.htm" \l "func-adjust-time-to-timezone" fn:adjust-time-to-timezoneAdjusts an xs:time value to a specific timezone, or to no timezone at all. Duration functions None  Sequences functions The following functions are defined on sequences. FunctionMeaning HYPERLINK "file:///C:\\Documents%20and%20Settings\\Administrator\\My%20Documents\\$user\\Xpath\\XPath%20Functions\\XQuery%201.0%20and%20XPath%202.0%20Functions%20and%20Operators.htm" \l "func-empty" fn:emptyIndicates whether or not the provided sequence is empty. HYPERLINK "file:///C:\\Documents%20and%20Settings\\Administrator\\My%20Documents\\$user\\Xpath\\XPath%20Functions\\XQuery%201.0%20and%20XPath%202.0%20Functions%20and%20Operators.htm" \l "func-exists" fn:existsIndicates whether or not the provided sequence is not empty. CountEmptyExists Node functions This section discusses functions and operators on nodes. FunctionMeaning HYPERLINK "file:///C:\\Documents%20and%20Settings\\Administrator\\My%20Documents\\$user\\Xpath\\XPath%20Functions\\XQuery%201.0%20and%20XPath%202.0%20Functions%20and%20Operators.htm" \l "func-name" fn:nameReturns the name of the context node or the specified node as an xs:string. HYPERLINK "file:///C:\\Documents%20and%20Settings\\Administrator\\My%20Documents\\$user\\Xpath\\XPath%20Functions\\XQuery%201.0%20and%20XPath%202.0%20Functions%20and%20Operators.htm" \l "func-local-name" fn:local-nameReturns the local name of the context node or the specified node as an xs:NCName. HYPERLINK "file:///C:\\Documents%20and%20Settings\\Administrator\\My%20Documents\\$user\\Xpath\\XPath%20Functions\\XQuery%201.0%20and%20XPath%202.0%20Functions%20and%20Operators.htm" \l "func-namespace-uri" fn:namespace-uriReturns the namespace URI as an xs:anyURI for the xs:QName of the argument node or the context node if the argument is omitted. This may be the URI corresponding to the zero-length string if the xs:QName is in no namespace. Local_nameNilledNamespace-uri DFDL Functions FunctionMeaning HYPERLINK "file:///C:\\Documents%20and%20Settings\\Administrator\\My%20Documents\\$user\\Xpath\\XPath%20Functions\\XQuery%201.0%20and%20XPath%202.0%20Functions%20and%20Operators.htm" \l "func-name" dfdl:lengthReturns the unparsed length of the context node or the specified node as an xs:integer. dfdl:propertyReturns the value of requested dfdl property of the context node or the specified node as an xs:string. Ex dfdl:property( byteorder, ./address )dfdl:testonIndicates whether the specified bit in a xs:byte is 1.dfdl:testonIndicates whether the specified bit in a xs:byte is 0.dfdl:setonSets the specified bit in a xs:byte to 1.dfdl:setoffSets the specified bit in a xs:byte to 0. Physical-lengthShift-right Shift-leftdfdl-propertyReturns the value of a dfdl property from the schema Previous Spec content Note: Rationale here: XPath 2.0 is a large and complex language to implement. We should not burden DFDL implementations with full XPath 2.0 implementations. Furthermore, performance is important for DFDL, and XPath 2.0 is a powerful query language where the performance implications of various kinds of expressions are unclear. For these reasons we describe here the most restrictive subset of XPath 2.0 that we believe we can get away with in DFDL, and only add additional features from XPath 2.0 when we know we have to have them, or can see no possible negative impact from having them. Location Paths Location Paths are the most frequently used XPath construct. Location Paths are used to select a set of nodes from the DFDL document. Location Paths consist of one or more Path Steps separated by the / character. They may be absolute or relative. TBD: In DFDL the node sets returned by an XPath expression must be either empty, or must return exactly 1 node. (?? Are there cases where we need multiple return nodes. ?? Efficiency considerations are what drive the issue) . Predicates Path Steps are allowed to have Predicates. DFDL also supports the predicates syntax on Path Steps, but these are used (TBD: only?) to index arrays. A parser error will be reported if a Path Step with a Predicate does not evaluate to an array element.  This means that numeric access to the children of sequences is not allowed in DFDL Schemas. True and False: Effective Boolean Values The concepts of True and False in the DFDL expression language are identical to their definitions in the XPath 2.0 language (TBD: citation needed). Roughly, this means an expression is true if the expression evaluates to a non-Null value that is not FALSE. The expression is false if it evaluates to an empty node list or to FALSE. Property-Valued Expressions A special XPath function dfdl:property() can be called from XPath to obtain the value of a DFDL property binding. A special XPath function dfdl:isPropertyDefined() can be called from XPath to determine if a property has a binding or not. It is a schema definition error for an expression to use a property name in either of the above functions where the property name does not correspond to an existing property. This means that the property name must be literal, not computed. TBD: If a property has an expression containing this call, and this property binding is higher up in the scope, when is the expression evaluated? Once at time of definition when the binding is established or each time the value of the property is requested? What is the current position in the schema of the parser at the time of this expressions evaluation, i.e., how would relative paths be interpreted for these expressions? This is particularly important for two reasons: suppose a property contains the separator by way of a path into the data. Then everyplace the separator is used we don't want the processor to have to re-evaluate whether the expression, and clearly the path has to be meaningful based on the location where the binding occurred in the schema. Alternatively, suppose we define one property in terms of another. (need example there was a case where this was important.) then when the property is used you need to re-examine to see if the binding of the other property has changed or been provided when it was not previously. We could require re-evaluation at every use, but allow implementations to optimize by detecting when the value cannot change. Variable-Valued Expressions A special XPath function dfdl:variable() can be called from XPath to obtain the value of a DFDL variable. See Section TBD: xref variables for more details on variables. It is a runtime error to reference a variable that has not been assigned, and which does not have a default value. It is a schema definition error to reference a variable from outside the scope of its definition. Pattern (Regular Expression) Matching A special XPath function dfdl:pattern() can be called from XPath to return a value which is the content which matches a regular expression. TBD: arguments? Obviously one is a string which is the pattern. Is there a second path argument as well? TBD: semantics here of where we start searching, and in what stream/source, and how that location in the source is determined. So that we can talk about not a value matching a pattern, but a source matching it. Presumably you give a path to an element, but instead of referencing that element's value you are referencing that element's representation bits. Dynamic Representation Properties It is possible for a representation property to be determined at runtime from the data. For example, in some data formats, the delimiter to be used to separate elements is stored as a value of an element of a header record. This allows the delimiter to vary from one data set to another so as not to interfere with characters used in the data. Reference from DFDL annotations into the data is done through the XPath expression language. Expressions in this language appear as the values of representation property bindings using a syntax which encapsulates the expressions in curly brace characters { and }. Single braces are interpreted as surrounding an expression which will be evaluated to obtain the property value. Single braces should be matched. Double braces are used to insert literal braces and do not have to be matched. The expression language is used for specifying paths to other element values and parts of the data as well as to compute values. The braces are only optional for expressions that are literal constants, e.g., allowing you to write "5" instead of "{5}". Note that even for properties which always require an expression to be used, the braces are required.  Do we mean it must be statically provable that the expression returns only a single node? This would rule out array-valued expressions. I suspect we may want this to be allowed someday. This requirement for static single node is conservative however, so it's ok. Of particular note prior and following sibling axis not provided. should avoid set valued.  set construction. Shouldn't be allowed. Should allow only to construct argument sequent to a function. Needed if Max, Min, etc supported. Argument is a sequence. Eg Max((1,2,3), col) These where loosly defined for atomic values in XPath 1.0 and have been superceded by eq ne etc Do we need this to reach inside choices. E.g., two arms of a choice both have a name field. set semantics. Remove.  Need functions that construct these objects from their obvious constituents, and take them apart. Probably this is a subset.  is this same as "dfdl:numberOfOccurrences() and is applicable only to arrays? is this a good name? Is this like ../x/y/z/dfdl-property('byteOrder') or dfdl-property('byteOrder', ../x/y/z) PAGE \# "'Page: '#' '" Yes, I believe so. With multivalued expressions we can describe arrays more easily. Consider slide 72 in Steves presentation to OGF20. sp23 - we recommend removing the constraint saying the result must be a single node. Note that where the return result of an expression is constrained, we need to be explicit about it. There will be many contexts where an expression must return a single node value of a specific type, and we need to be clear about those cases. PAGE \# "'Page: '#' '" I dont understand the need for this restriction. Elsewhere we allow more freedom. Strong typing says we can determine this statically to be a schema validation error. Strong typing says we can determine this statically to be a schema validation error. sp24 - we should revisit the constraints on the XPath expressions we allow. The problem here is that we don't need a full XPath 2.0 language expressive power, and since an XPath 2.0 implementation is quite burdensome for implementors, we'd like to make the DFDL spec not simply subsume XPath 2.0, but be easier to implement than that. This is a case where just being consistent with existing standards is probably not the way to go. We can say that we want our language to be consistent with XPath 2.0, but a subset is very reasonable for DFDL. MikeB's example is the flattner, the XPath "**" path component. We simply don't need this. Recommend: we need rationale in the spec here to motivate why it's not just XPath 2.0 in its entirety, and we need to be very precise about the definition of the subset. PAGE \# "'Page: '#' '" The most easily defended answer is as late as possible. The only alternative that makes sense is once, on first use, but thats probably too restrictive. Resolved that this should be as early as possible, not as late as possible. This is the conservative choice. We can liberalize later if needed, but making it more restrictive preserves certain implementation freedoms (static scoping) wed like to have. When the scope where the property is bound is entered, that is when expressions are evaluated. Note: this eliminates the need for a special pattern capability in choice discrimination. You can just use this in a discriminating assertion. PAGE \# "'Page: '#' '" As a free-standing function there is no context, so another argument is needed. DFDL should provide XPath external functions that help with integration, but this one might be beyond our brief. Regex syntax is unspecified: presumably well pick XSD syntax. PAGE \# "'Page: '#' '" This sounds dangerous and difficult. Limit it to element content identified by location path? This is just conservative. We can liberalize later if we want, but theres value to being able to cut and paste things around and not have to worry about whether you have to insert braces or not, so while this seems annoying, in real examples it might be better to just be annoyingly consistent.  : ; < 3 F G [ \ 9 ? @  ( G ɿ荓vokggggc_[hx!h_hx[ hS;h} hAyhAyHhbfhZaJHh*fhaJ#hZaJcHdhdhdhbf hZaJh0hAyaJ hAyaJHhbfh?Hh*fhh?cHdhdhdhbf%h?hcHdhdhdh*fhAyh?hq"h }-h_# eI & FEƀ*f.gdAygd?gd }-FEƀ*fgd_]w@ 9 k!I & FEƀ*f.gdAyI & FEƀ*f.gd?I & FEƀ*f.gd? H I k kfagdE1gd?I & FEƀ*f.gdAyI & FEƀ*f.gdAyG H I i u ~  j 8CGHUV}ʸ||r|rrnjhY^hRHhcfhRHhcfhRHhcfhRHhcfhRHhcfhRHhcfhRHhcfh2Hh*fhKhAyh}h{o%h_hE1cHdhdhdh2h@~hy^ehNEh_h?Hhmܹhx[ )k l&FEƀ*f.gd_GC$EƀcfgdRgd{oFEƀ*f.gd_ U^{&(KP]owͺ𲨲tj``M%hx!h FcHdhdhdhbfHhbfh FHhbfh F%hx!h FcHdhdhdhbfHhcfhR%hx!hRcHdhdhdhcfh1Hhbfh Fhx!h{o%hZh FcHdhdhdhbfDHhbfh FB*OJPJQJ^J_H aJmH nHphsH tHhZhnZhgThDlU^nox}j$IfgdnZlekd$$Ifl J! t0644 la$IfgdnZl3gdnZgdgTxy"ekd$$Ifl J! t0644 la$IfgdnZlekdD$$Ifl J! t0644 la+C(9Ad_ZUPgdggd>gd%pgd'FEƀ*f.gdgTgdgTFEƀ*f.gdgTgdRgdnZ  %)*+&'(9@A͹|tititititihuhumH sH hR>;mH sH hhmH sH humH sH h%ph>h'hJ hgThgTHh*fh9Vh_hgThx!HhcfhRHhcfhRHhcfhRHhbfh FHhcfh FHhbfh Fjhq0JU)16ABST`defgqr   IKϼϲό~zvcv%hY Kh5cHdhdhdhJcfhY Kh%dh>HhJcfh5%h(h5cHdhdhdhJcf%h(h5cHdhdhdhIcfHhIcfh5%h(h5cHdhdhdhHcfh(jh-p0JUh1h~khuhghuhumH sH hR>;mH sH &gr id__gd5gd(FEƀ*f..gd~kFEƀ*f..gd~kgdggdu?Tid____gdR>;gdhFEƀ*f.gdhgd%dgd5FEƀ*f..gd( >?KLz{()BCQR\]vwӰkNHhTFhYkhYkOJQJ^J_H mH nHsH tHTF*mHsH9HhTFhYkhYkOJQJ^J_H mH nHsH tH=HhTFhYkhYkCJOJPJQJ_H mH nHsH tHh>HhSFhYkhKm h*Jh*Jh*JhR>;hhhY Kh%dh(Tgk!I & FEƀ*fgdR>;I & FEƀ*fgdR>;I & FEƀ*fgdR>;  /0je``gd*Jgd*JFEƀ*f.gd*JgdR>;I & FEƀ*fgdR>;0KLz{nFEƀ*f.gdYkgd*JFEƀ*f.gd*JjMddEƀTF[$\$gdYkGC$EƀSFgdYkR W%dP & FddEƀTF[$\$gdYk  +,EFVWbc|}֑֮֮rrrrrrrrrrrrrrrrrrr=HhTFhYkhYkCJOJPJQJ_H mH nHsH tH9HhTFhYkhYkOJQJ^J_H mH nHsH tHNHhTFhYkhYkOJQJ^J_H mH nHsH tHTF*mHsHRHhTFhYkhYkCJOJPJQJ_H mH nHsH tHTF*mHsH,$%45NOcdno%&-.GHTUde~!";<PQef9HhTFhYkhYkOJQJ^J_H mH nHsH tH=HhTFhYkhYkCJOJPJQJ_H mH nHsH tHKd&UQ]P & FddEƀTF[$\$gdYkP & FddEƀTF[$\$gdYk fGC$Eƀ]Fgd>P & FddEƀTF[$\$gdYkMXfmz   / 0 5 6 < = ¶̬̬̋ss[.Hhlcfh>:~h>:~lcf*mH sH .Hhkcfh>:~h>:~lcf*mH sH Hhlcfh>:~mH sH %h%Oh>:~cHdhdhdhbcfHhbcfh>:~jh>:~0J<Ujh:~0JUh%Ohzsh> hhHh]Fh0JHh]FhHh]Fh>#gGC$Eƀ]FgdGC$Eƀ]FgdPC$Eƀ]Fgdo^Fd&F$Ifgd>l-Wgd>FEƀ*f..gd> gdo]Fd&F  qq$Ifgd>lzkd$$Ifl0 t0644 la   . qq$Ifgd>lzkd#$$Ifl0 t0644 la. / 6 0T$EƀlcfIfgd>:~lzkdz$$Ifl0 t0644 la6 = C U S@$Ifgd>lU$C$EƀlcfIfgd>lU$C$EƀlcfIfgd>:~l= C T V \ ] e n { !!! ! !:!;!T!a!n!ǴǡǝrnnndnTA%h$FUhmcHdhdhdh*fh$FUcHdhdhdhbfjh$FU0JUh$FU#jHh"Fh]0J<UHhycfh$FUh>hzs h>h>h%O%h%Oh`$cHdhdhdhpcf%h%Oh`$cHdhdhdhlcf%h%Oh$FUcHdhdhdhycfHhlcfh>:~mH sH .Hhkcfh>:~h>:~lcf*mH sH U V ] e ..U$C$EƀlcfIfgd>lzkd$$Ifl0 t0644 lae z {  q^^$Ifgd>lzkd($$Ifl0 t0644 la$Ifgd>l qq$Ifgd>lTzkd$$Ifl0 t0644 la qq$Ifgd>lzkd$$Ifl0 t0644 la qq$Ifgd>l\zkd-$$Ifl0 t0644 la )U$C$EƀycfIfgdo:lgd>zkd$$Ifl0 t0644 la !$Ifgd>l-WU$C$EƀycfIfgdo:l!!!l$Ifgd>l-Wkd$$Ifl0? t0644 lagbf! !!2!$Ifgd>l-WU$C$EƀycfIfgd>l-W2!3!lTkd<$$Ifl0? t0644 lagbfh6B!C!T!!~kk$Ifgd>lkd$$Ifl0? t0644 lagbfh6n!z!!!!!!!!!"""e"v"w"x"齞~_=BjHhbFhhCJOJQJU_H mH nHsH tH=HhbFhhOJPJQJ_H aJmH nHsH tH?HhbFhh5CJOJQJ\_H mH nHsH tH=HhbFhhCJOJPJQJ_H mH nHsH tHHhbFhuh{/hKm h>hu%huhRiIcHdhdhdh5huhzsh$FUHh*fh$FU!!!!~kk$Ifgd>lkd$$Ifl0? t0644 lagbfh6!!!!~kk$Ifgd>lkdh$$Ifl0? t0644 lagbfh6!!!!!~ytogdKmgdRiIgd>kd$$Ifl0? t0644 lagbfh6!"""e"gMddEƀbF[$\$gdgduFEƀ*f..gdKme"n"v"w"*kd0$$If400634abpO$$EƀbFIfa$gdx"?#@#A#H#I#r#s#t#<$=$>$F$G$q$r$s$Ģ`B`*.HhbFhhbF*mH sH ;jh0xh0xCJOJQJU_H mH nHsH tH=HhbFhhOJPJQJ_H aJmH nHsH tHEHhbFhh>*B*OJQJ^J_H mH nHphsH tHBjHhbFhhCJOJQJU_H mH nHsH tH;jh0xh0xCJOJQJU_H mH nHsH tH9HhbFhhCJOJQJ_H mH nHsH tHw"J#r#s#H$q$.kd7$$If00634abpL$EƀbFIfgdq$r$s${+PC$EƀbFgdobFd&Fkd= $$If00634abps$$$$bbO$$EƀdFIfa$gdMddEƀdF[$\$gds$$$$$%%%%%%bD!bEHhdFhh>*B*OJQJ^J_H mH nHphsH tH;j h0xh0xCJOJQJU_H mH nHsH tH9HhdFhhCJOJQJ_H mH nHsH tHBjHhdFhhCJOJQJU_H mH nHsH tH=HhdFhhOJPJQJ_H aJmH nHsH tH?HhdFhh5CJOJQJ\_H mH nHsH tH=HhdFhhCJOJPJQJ_H mH nHsH tH $$%%z--L$EƀdFIfgdkd $$If400634abp%%%%%%%%%%%%%%%%&&Ŧo\ooooUQGHhfFhuhu hhhR>;%hnU{hcHdhdhdhdF%huhcHdhdhdheF%huhcHdhdhdhdF!hhdF*mH sH =HhdFhhOJPJQJ_H aJmH nHsH tH9HhdFhhCJOJQJ_H mH nHsH tH9HhdFhhOJQJ^J_H mH nHsH tH%%%{+PC$EƀbFgdobFd&Fkd $$If00634abp%%%%%%q^^$IfgdR>;lzkd $$Ifl0T t0644 la$IfgdR>;l-W%%%%qq$IfgdR>;lzkd#$$Ifl0T t0644 la%%%%qq$IfgdR>;lzkd$$Ifl0T t0644 la%%%%qq$IfgdR>;lTzkd$$Ifl0T t0644 la%%%&&z-MddEƀfF[$\$gdgdugdR>;zkd@$$Ifl0T t0644 la&&&&bbO$$EƀfFIfa$gdMddEƀfF[$\$gd5@&&&&&c'd'e'k'l''''bD!bEHhfFhh>*B*OJQJ^J_H mH nHphsH tH;jch0xh0xCJOJQJU_H mH nHsH tH9HhfFhhCJOJQJ_H mH nHsH tHBjHhfFhhCJOJQJU_H mH nHsH tH=HhfFhhOJPJQJ_H aJmH nHsH tH?HhfFhh5CJOJQJ\_H mH nHsH tH=HhfFhhCJOJPJQJ_H mH nHsH tH &&m''z--L$EƀfFIfgdkd$$If40 0634abp''s(({..L$EƀfFIfgdkd$$If0 0634abp'e(f(g(q(r(((())))) * * **Ģ`B`;joh0xh0xCJOJQJU_H mH nHsH tH=HhfFhhOJPJQJ_H aJmH nHsH tHEHhfFhh>*B*OJQJ^J_H mH nHphsH tHBjHhfFhhCJOJQJU_H mH nHsH tH;jeh0xh0xCJOJQJU_H mH nHsH tH9HhfFhhCJOJQJ_H mH nHsH tH(() *{..L$EƀfFIfgdkd$$If0 0634abp * **+{..L$EƀfFIfgdkd$$If0 0634abp*****++++++,,,,,῜`B`1!hhfF*mH sH ;j{h0xh0xCJOJQJU_H mH nHsH tH=HhfFhhOJPJQJ_H aJmH nHsH tH9HhfFhhCJOJQJ_H mH nHsH tHEHhfFhh>*B*OJQJ^J_H mH nHphsH tHBjHhfFhhCJOJQJU_H mH nHsH tH;juh0xh0xCJOJQJU_H mH nHsH tH++,,{..L$EƀfFIfgdkd$$If0 0634abp,,,,{3 $Ifgd{ol-WGC$EƀfFgdukd$$If0 0634abp,,,,,q^^$Ifgd{olzkd$$Ifl0T t0644 la$Ifgd{ol-W,,,,qq$Ifgd{olzkd$$Ifl0T t0644 la,,,,qq$Ifgd{olzkdY$$Ifl0T t0644 la,,,,qq$Ifgd{olTzkd$$Ifl0T t0644 la,,,,qq$Ifgd{olTzkd$$Ifl0T t0644 la,,,,,,,3-<-X-i-j-k-dE#BjHhhFhuhuCJOJQJU_H mH nHsH tH=HhhFhuhuOJPJQJ_H aJmH nHsH tH?HhhFhuhu5CJOJQJ\_H mH nHsH tH9HhhFhuhuOJQJ^J_H mH nHsH tH=HhhFhuhuCJOJPJQJ_H mH nHsH tHHhhFh%ph%phu2jhK{hu0JUcHdhdhdhhF%huhucHdhdhdhhF ,,,,X-2MddEƀhF[$\$gdugd%dzkdv$$Ifl0T t0644 laX-a-i-O$$EƀhFIfa$gdui-j-?kd$$If40: 0634abgiFph60p k-4.5.6.?.@.Z.j.}.....V/W/ĢbbC%;j h0xh0xCJOJQJU_H mH nHsH tH=HhhFhuhuOJPJQJ_H aJmH nHsH tH9HhhFhuhuOJQJ^J_H mH nHsH tHEHhhFhuhu>*B*OJQJ^J_H mH nHphsH tHBjHhhFhuhuCJOJQJU_H mH nHsH tH;jh0xh0xCJOJQJU_H mH nHsH tH9HhhFhuhuCJOJQJ_H mH nHsH tHj-A..L$EƀhFIfgdu..@kd$$If0: 0634abgiFph60p W/X/d/e/r/{//////000000001޻ޞbޞD޻ޞbޞ;jH"h0xh0xCJOJQJU_H mH nHsH tH=HhhFhuhuOJPJQJ_H aJmH nHsH tH9HhhFhuhuOJQJ^J_H mH nHsH tH9HhhFhuhuCJOJQJ_H mH nHsH tHEHhhFhuhu>*B*OJQJ^J_H mH nHphsH tHBjHhhFhuhuCJOJQJU_H mH nHsH tH.f//L$EƀhFIfgdu//@kdT!$$If0: 0634abgiFph60p /00L$EƀhFIfgdu00@kd#$$If0: 0634abgiFph60p 111111112222222῜`B`;j&h0xh0xCJOJQJU_H mH nHsH tH=HhhFhuhuOJPJQJ_H aJmH nHsH tH9HhhFhuhuCJOJQJ_H mH nHsH tHEHhhFhuhu>*B*OJQJ^J_H mH nHphsH tHBjHhhFhuhuCJOJQJU_H mH nHsH tH;j$h0xh0xCJOJQJU_H mH nHsH tH011L$EƀhFIfgdu11@kd%$$If0: 0634abgiFph60p 122L$EƀhFIfgdu22@kd#($$If0: 0634abgiFph60p 2222bbO$$EƀoFIfa$gduMddEƀoF[$\$gdu22222333333bD!bEHhoFhuhu>*B*OJQJ^J_H mH nHphsH tH;j*h0xh0xCJOJQJU_H mH nHsH tH9HhoFhuhuCJOJQJ_H mH nHsH tHBjHhoFhuhuCJOJQJU_H mH nHsH tH=HhoFhuhuOJPJQJ_H aJmH nHsH tH?HhoFhuhu5CJOJQJ\_H mH nHsH tH=HhoFhuhuCJOJPJQJ_H mH nHsH tH 22<kd)$$If40e 0634abgoFph60et""23(4L$EƀoFIfgdu3334(4)4*44445 5-565b5k5555Y6ŦfCŦEHhoFhuhu>*B*OJQJ^J_H mH nHphsH tH;j;,h0xh0xCJOJQJU_H mH nHsH tHBjHhoFhuhuCJOJQJU_H mH nHsH tH=HhoFhuhuOJPJQJ_H aJmH nHsH tH9HhoFhuhuCJOJQJ_H mH nHsH tH9HhoFhuhuOJQJ^J_H mH nHsH tH(4)4>kdP+$$If0e 0634abgoFph60et"")4 55L$EƀoFIfgdu55>kd-$$If0e 0634abgoFph60et""Y6Z6[6g6h66666666777῜bbC%;j0h0xh0xCJOJQJU_H mH nHsH tH=HhoFhuhuOJPJQJ_H aJmH nHsH tH9HhoFhuhuOJQJ^J_H mH nHsH tH9HhoFhuhuCJOJQJ_H mH nHsH tHEHhoFhuhu>*B*OJQJ^J_H mH nHphsH tHBjHhoFhuhuCJOJQJU_H mH nHsH tH;jw.h0xh0xCJOJQJU_H mH nHsH tH5i66L$EƀoFIfgdu66>kd/$$If0e 0634abgoFph60et""7777888?8H8h8i8j8<9=9>9P9Q9q9z9999999ܺaCܺa;j2h0xh0xCJOJQJU_H mH nHsH tH=HhoFhuhuOJPJQJ_H aJmH nHsH tH9HhoFhuhuOJQJ^J_H mH nHsH tH9HhoFhuhuCJOJQJ_H mH nHsH tHBjHhoFhuhuCJOJQJU_H mH nHsH tHEHhoFhuhu>*B*OJQJ^J_H mH nHphsH tH67h8L$EƀoFIfgduh8i8>kd 2$$If0e 0634abgoFph60et""i8R99L$EƀoFIfgdu99>kdN4$$If0e 0634abgoFph60et""99999)zkd95$$Ifl0T t0644 la$Ifgd{ol-WGC$EƀhFgd%d99+:,:4:9:?:L:\:]:e:f:m:n:o:p:F;G;H;^;_;۽wh^ShAh#Hhcfh&0J>*B*phj8ho:UHhcfh&jHhcfh&UHhcfh&aJHhcfh&5CJ\Hhcfh&5\Hhcfh%pHhcfhHhcfh&ah%p2jh@`h0JUcHdhdhdhtF%h%phcHdhdhdhtF!huhuhF*mH sH 999999q^^$Ifgd{olzkd5$$Ifl0T t0644 la$Ifgd{ol9999qq$Ifgd{olzkd5$$Ifl0T t0644 la999 :qq$Ifgd{olTzkdV6$$Ifl0T t0644 la : :::qq$Ifgd{olTzkd6$$Ifl0T t0644 la::$:%:qq$Ifgd{olTzkd7$$Ifl0T t0644 la%:&:2:3:qq$Ifgd{olTzkds7$$Ifl0T t0644 la3:4:5:X:]:f:3L$$C$EƀcfIfa$gd%dzkd7$$Ifl0T t0644 laf:n:o:.kd18$$If40 0634abpL$$C$EƀcfIfa$o:`;;;<<2kdV:$$If0 0634abpI$C$EƀcfIf_;`;;;;;;;m<n<o<<<<<<<<<<============>>>>>>>?? ? ? ???????#@.@5@¥¥¥¥j}Aho:Uj[?ho:Uj;=ho:U#Hhcfh&0J>*B*phj;ho:UjHhcfh&UHhcfh&aJHhcfh&0JHhcfh&Hhcfh&CJ4<<=={22I$C$EƀcfIfkdz<$$If0 0634abp==> ?{22I$C$EƀcfIfkd>$$If0 0634abp ? ??6@{22I$C$EƀcfIfkd@$$If0 0634abp5@6@7@8@AAA*A+A,APA[AbAcAdAeA:B;B*B*phjCho:UHhcfh&jHhcfh&UHhcfh&aJHhcfh&CJ46@7@,AcA{22I$C$EƀcfIfkdB$$If0 0634abpcAdASBB{22I$C$EƀcfIfkdE$$If0 0634abpBBqCC{22I$C$EƀcfIfkd(G$$If0 0634abpCCDD{22I$C$EƀcfIfkdJI$$If0 0634abpDDEE{22I$C$EƀcfIfkdhK$$If0 0634abpEEEEEEEEEEEEFFFFFFFFFFFFGGGGGG HHH H!H"HHHHIII5I@IGIHIIIJIJǽǥ彚ǽǥ彏ǽǥ彄ǽǥjRho:UjqPho:UjKNho:UHhcfh&aJHhcfh&0JHhcfh&Hhcfh&CJ#Hhcfh&0J>*B*phjHhcfh&Uj)Lho:U0EEFF{22I$C$EƀcfIfkdM$$If0 0634abpFFG H{22I$C$EƀcfIfkdO$$If0 0634abp H!HIHI{22I$C$EƀcfIfkdQ$$If0 0634abpHIII0JXJ{22I$C$EƀcfIfkdS$$If0 0634abpJJJ.J/J0JIJPJWJXJYJZJ,K-K.K@KAKBK\KcKjKkKlKmK=L>L?LOLPLQLiLpLwLxLyLzLOMPMQMfMgMhMMMMMMMhNǽǥ彚ǽǥ彏ǽǥ彄ǽǥj[ho:UjXho:UjVho:UHhcfh&aJHhcfh&0JHhcfh&Hhcfh&CJ#Hhcfh&0J>*B*phjHhcfh&UjTho:U0XJYJBKkK{22I$C$EƀcfIfkdV$$If0 0634abpkKlKQLxL{22I$C$EƀcfIfkd0X$$If0 0634abpxLyLhMM{22I$C$EƀcfIfkdFZ$$If0 0634abpMM~NN{22I$C$EƀcfIfkdf\$$If0 0634abphNiNjN|N}N~NNNNNNN}O~OOOOOOOOOOOPPPPPPPPPPPPQQQQQQQQQQQQǽǥ彚ǽǥ彏ǽǥ彄ǽǥh&j}cho:Uj_aho:UjA_ho:UHhcfh&aJHhcfh&0JHhcfh&Hhcfh&CJ#Hhcfh&0J>*B*phjHhcfh&Uj']ho:U/NNOO{22I$C$EƀcfIfkd^$$If0 0634abpOOPP{22I$C$EƀcfIfkd`$$If0 0634abpPPQQ{22I$C$EƀcfIfkdb$$If0 0634abpQQQ{3GC$Eƀcfgd%dkdd$$If0 0634abpQRR R*kde$$If40 0634abpO$$EƀcfIfa$gd&QR R RRRRS SS SYSZS[Sc@#9Hhcfh&h&OJQJ^J_H mH nHsH tHEHhcfh&h&>*B*OJQJ^J_H mH nHphsH tH;jafho:ho:CJOJQJU_H mH nHsH tH9Hhcfh&h&CJOJQJ_H mH nHsH tHBjHhcfh&h&CJOJQJU_H mH nHsH tH=Hhcfh&h&OJPJQJ_H aJmH nHsH tH?Hhcfh&h&5CJOJQJ\_H mH nHsH tH R SYSZSSTT.kdg$$If0 0634abpL$EƀcfIfgd&[S5T6T7TQTRT^TeTTTTzU{U|UUĢbC%;jjho:ho:CJOJQJU_H mH nHsH tH=Hhcfh&h&OJPJQJ_H aJmH nHsH tH9Hhcfh&h&OJQJ^J_H mH nHsH tHEHhcfh&h&>*B*OJQJ^J_H mH nHphsH tHBjHhcfh&h&CJOJQJU_H mH nHsH tH;jhho:ho:CJOJQJU_H mH nHsH tH9Hhcfh&h&CJOJQJ_H mH nHsH tHTTUU{..L$EƀcfIfgd&kdi$$If0 0634abpUUUUUUUUUUVVVn^MC9HhFh%pHhbfh%p jHhbfhj0JUh%pcHdhdhdhbf%h%phcHdhdhdhcfh%p=Hhcfh&h&OJPJQJ_H aJmH nHsH tH9Hhcfh&h&OJQJ^J_H mH nHsH tH9Hhcfh&h&CJOJQJ_H mH nHsH tHBjHhcfh&h&CJOJQJU_H mH nHsH tH UUUUUUVV{vvvvvvgd%dkd&l$$If0 0634abpVFVOVWVbbO$$EƀFIfa$gdMddEƀF[$\$gdVFVWVXVYV!W"W#W+W,WfWgWhWbD!bEHhFhh>*B*OJQJ^J_H mH nHphsH tH;jmh0xh0xCJOJQJU_H mH nHsH tH9HhFhhCJOJQJ_H mH nHsH tHBjHhFhhCJOJQJU_H mH nHsH tH=HhFhhOJPJQJ_H aJmH nHsH tH?HhFhh5CJOJQJ\_H mH nHsH tH=HhFhhCJOJPJQJ_H mH nHsH tH WVXV-WfWu((L$EƀFIfgdkdl$$If40f0634abpfWgW>X{Xv))L$EƀFIfgdkdn$$If0f0634abphW1X2X3X*B*OJQJ^J_H mH nHphsH tHBjHhFhhCJOJQJU_H mH nHsH tH;joh0xh0xCJOJQJU_H mH nHsH tH9HhFhhCJOJQJ_H mH nHsH tH {X|X}Xv.GC$EƀFgd%dkdp$$If0f0634abp}XXXXXXq^^$Ifgd{olzkdq$$Ifl0T t0644 la$Ifgd{ol-WXXXXqq$Ifgd{olzkdr$$Ifl0T t0644 laXXXX$ZddEƀF[$\$gdKUoFd&x[$\$gd%dzkdwr$$Ifl0T t0644 laXXXXXXXXYYYϯnQ3n;jsh0xhmCJOJQJU_H mH nHsH tH9HhFhKUhmCJOJQJ_H mH nHsH tHBjHhFhKUhmCJOJQJU_H mH nHsH tH=HhFhKUhmOJPJQJ_H aJmH nHsH tH?HhFhKUhm5CJOJQJ\_H mH nHsH tH=HhFhKUhKUCJOJPJQJ_H mH nHsH tHHhFhh3ghnU{h%p XXXXbbO$$EƀFIfa$gdKUMddEƀF[$\$gdKUXXYZu((L$EƀFIfgdKUkdr$$If40 0634abpYYYZZZZZZZZZZ8[A[C[D[E[\ܺaCܺa;juh0xhmCJOJQJU_H mH nHsH tH=HhFhKUhmOJPJQJ_H aJmH nHsH tH9HhFhKUhmOJQJ^J_H mH nHsH tH9HhFhKUhmCJOJQJ_H mH nHsH tHBjHhFhKUhmCJOJQJU_H mH nHsH tHEHhFhKUhm>*B*OJQJ^J_H mH nHphsH tHZZZC[v))L$EƀFIfgdKUkdt$$If0 0634abpC[D[)\ ]v))L$EƀFIfgdKUkdv$$If0 0634abp\\\'\(\I\R\[\c\\\ ] ]῜bbbSHhFhKUhmaJ9HhFhKUhmOJQJ^J_H mH nHsH tH9HhFhKUhmCJOJQJ_H mH nHsH tHEHhFhKUhm>*B*OJQJ^J_H mH nHphsH tHBjHhFhKUhmCJOJQJU_H mH nHsH tH;jwh0xhmCJOJQJU_H mH nHsH tH ] ] ]v\ddC$EƀF[$\$gdKUoFd&x[$\$kdy$$If0 0634abp ] ] ]2]3]B]C]D]U]V]̻wW8=HhFh~]hmOJPJQJ_H aJmH nHsH tH?HhFh~]hm5CJOJQJ\_H mH nHsH tH=HhFh~]h~]CJOJPJQJ_H mH nHsH tHHhFh{/h{/hnU{%hnU{h0xcHdhdhdhF!hh3ghh3gF*mH sH fHhFhKUhKUCJOJPJQJ_H mH nHsH tHF*CJOJPJQJ_HnH tH  ] ]]]])zkdy$$Ifl0T t0644 la$Ifgd{ol-WGC$EƀFgd%d] ]!]"]0]1]q^^$Ifgd{olzkd#z$$Ifl0T t0644 la$Ifgd{ol1]2]3]B]9FEƀ*f..gd{/gd%dzkdz$$Ifl0T t0644 laB]C]D]jMddEƀF[$\$gd~]GC$EƀFgd{/D]M]U]V]%kdz$$If40V 0634abpO$$EƀFIfa$gd~]V]W]^^ ^$^%^+^,^8^A^B^H^y^ރ`@&&3HhFhmCJOJQJ_H mH nHsH tH?HhFhm>*B*OJQJ^J_H mH nHphsH tHEHhFh~]hm>*B*OJQJ^J_H mH nHphsH tH?HhFhm>*B*OJQJ^J_H mH nHphsH tH;j{h~]hmCJOJQJU_H mH nHsH tH9HhFh~]hmCJOJQJ_H mH nHsH tHBjHhFh~]hmCJOJQJU_H mH nHsH tH V]-^^^^)kd|$$If0V 0634abpL$EƀFIfgd~]y^|^^^^^^^^^^^^ȫrX>X!X9HhFh~]hmCJOJQJ_H mH nHsH tH3HhFhmCJOJQJ_H mH nHsH tH3HhFhmCJOJQJ_H mH nHsH tH=HhFh~]hmOJPJQJ_H aJmH nHsH tH3HhFhmCJOJQJ_H mH nHsH tH9HhFh~]hmCJOJQJ_H mH nHsH tH3HhFhmOJQJ^J_H mH nHsH tH9HhFh~]hmOJQJ^J_H mH nHsH tH ^^^^^^^ __&_'_)_ȫw]C)C)3Hhºfh5@CJOJQJ_H mH nHsH tH3Hhfh5@CJOJQJ_H mH nHsH tH3Hhfh5@CJOJQJ_H mH nHsH tH3HhfhmCJOJQJ_H mH nHsH tH3HhfhmOJQJ^J_H mH nHsH tH9HhFh~]hmOJQJ^J_H mH nHsH tH9HhFh~]hmCJOJQJ_H mH nHsH tH3HhfhmCJOJQJ_H mH nHsH tH ^^*_dN$C$EƀfIfgd~]L$EƀFIfgd~])_*_+_,_0_6_7_I_M_W_érU;!3Hhfh ACJOJQJ_H mH nHsH tH3Hhfh ACJOJQJ_H mH nHsH tH9Hhfhuh ACJOJQJ_H mH nHsH tH9HhFh~]hmCJOJQJ_H mH nHsH tH3HhfhmCJOJQJ_H mH nHsH tH3HhfhmCJOJQJ_H mH nHsH tH=HhFh~]hmOJPJQJ_H aJmH nHsH tH9HhFh~]h5@CJOJQJ_H mH nHsH tH *_+_7_n_v))L$EƀFIfgd~]kd}$$If0V 0634abpW_Z___`_c_l_m_n_o_z_ȫtWH.3Hhfh ACJOJQJ_H mH nHsH tHHhFh~]hmaJ9HhFh~]hmCJOJQJ_H mH nHsH tH3Hhfh AOJQJ^J_H mH nHsH tH9Hhfhuh AOJQJ^J_H mH nHsH tH9Hhfhuh ACJOJQJ_H mH nHsH tH3Hhfh ACJOJQJ_H mH nHsH tH9Hhfhuh ACJOJQJ_H mH nHsH tH n_o_{__v))L$EƀFIfgd~]kdj~$$If0V 0634abpz_{_____________________________ūūŎteūūŎteK3Hhfh ACJOJQJ_H mH nHsH tHHhFh~]h AaJ3Hhfh AOJQJ^J_H mH nHsH tH9Hhfhuh AOJQJ^J_H mH nHsH tH3Hhfh ACJOJQJ_H mH nHsH tH9Hhfhuh ACJOJQJ_H mH nHsH tH9HhFh~]h ACJOJQJ_H mH nHsH tH____v))L$EƀFIfgd~]kd+$$If0V 0634abp___"`v))L$EƀFIfgd~]kd$$If0V 0634abp_ ` ````` `!`"`#`%`&`(`)`+`,`-`ȫwZKZKZKZK:!h~]h~]F*mH sH HhFh~]h AaJ9HhFh~]h ACJOJQJ_H mH nHsH tH3Hhfh AOJQJ^J_H mH nHsH tH3Hhfh AOJQJ^J_H mH nHsH tH9Hhfhuh AOJQJ^J_H mH nHsH tH9Hhfhuh ACJOJQJ_H mH nHsH tH3Hhfh ACJOJQJ_H mH nHsH tH"`#`$`%`v))L$EƀFIfgd~]kd$$If0V 0634abp%`&`'`(`v))L$EƀFIfgd~]kdn$$If0V 0634abp(`)`*`+`v))L$EƀFIfgd~]kd/$$If0V 0634abp+`,`-`>`?`viVV$Ifgd{ol-W gd~]oFd&Fkd$$If0V 0634abp-`5`6`Y`]`|``````````cc cccccccccddd쿥잚|uqjqcqcqVqJqjh_0J<UhYh_OJQJ^J hvh_ hgThgTh_ h{oh{o h5@h{oh{ohJ h%dh%dhR>;h%ph{/ h{/h{/2jhI:h5@0JUcHdhdhdhĺf%h{oh5@cHdhdhdhĺf2jhO-yh5@0JUcHdhdhdhĺf%h{/h5@cHdhdhdhĺf?`@`L`W`X`qqq$Ifgd{olzkd$$Ifl0T t0644 laX`Y`g``qq$Ifgd{olzkd$$Ifl0T t0644 la``````z4/gdJFEƀ*fgdR>;gd%dgd{/zkdo$$Ifl0T t0644 la``c cccddef^fWFEƀ*f.gd_^gd_gd_FEƀ*f.gdgT@^@gd{ogd{o ddeeeff]f^fgii_j`jajbj+p,ppp$q%qrrr[w\w]w^whxixxxxx5y6yyyyyEzFz]z^z_z`zzz/{0{G{H{{{{{{{J|K|񶲶 hm0JjhmUhmjhm0JUhLhh_mH sH hL#h_mH sH h_mH sH  hh_jh_0J<Uh_jh_0JU<^ffgggbhhilnnigd_FEƀ*f.gd_gd_FEƀ*f.gd_lnn1oop,ppp&q'qrrngggggggd_FEƀ*f.gd_gd_FEƀ*f.gd_ rr tuueI & FEƀ*fgd_gd_gd_FEƀ*f.gd_uuyvv]wwwxxhxxxxx3y4y5ytyygd>:~gd*gd_I & FEƀ*fgd_yyEz]z_zzzz/{E{F{G{U{V{z{{{{{{{{J|}}~Y~~- 7$8$H$gd_gd_gd]K|}}}}}}}~~Y~Z~~~ׁ؁فځ?@A뼸h_h5@%hhmB*CJOJQJ^Jphjhm0JU hm0JjhmUhmhmB*OJQJ^JaJph*-.؁ف?@Agd*gd_ 7$8$H$gd_ ,1h. A!"#$% B$$If!vh5J!#vJ!:Vl t65J!B$$If!vh5J!#vJ!:Vl t65J!B$$If!vh5J!#vJ!:Vl t65J!U$$If!vh5~5 #v~#v :Vl t65U$$If!vh5~5 #v~#v :Vl t65U$$If!vh5~5 #v~#v :Vl t65U$$If!vh5~5 #v~#v :Vl t65U$$If!vh5~5 #v~#v :Vl t65U$$If!vh5~5 #v~#v :Vl t65U$$If!vh5~5 #v~#v :Vl t65U$$If!vh5~5 #v~#v :Vl t65U$$If!vh5~5 #v~#v :Vl t65_$$If!vh5\5O#v\#vO:Vl t65gbfb$$If!vh5\5O#v\#vO:Vl t65gbfh6b$$If!vh5\5O#v\#vO:Vl t65gbfh6b$$If!vh5\5O#v\#vO:Vl t65gbfh6b$$If!vh5\5O#v\#vO:Vl t65gbfh6b$$If!vh5\5O#v\#vO:Vl t65gbfh6$$If!vh5*5#v*#v:V 406,5/ 34pCDyK  yK ../../Xpath/XPath Functions/XQuery 1.0 and XPath 2.0 Functions and Operators.htmyX;H,]ą'c func-true$$If!vh5*5#v*#v:V 06,5/ 34pEDyK  yK ../../Xpath/XPath Functions/XQuery 1.0 and XPath 2.0 Functions and Operators.htmyX;H,]ą'c func-false$$If!vh5*5#v*#v:V 06,5/ 34p$$If!vh55#v#v:V 406,5/ 34pADyK  yK ../../Xpath/XPath Functions/XQuery 1.0 and XPath 2.0 Functions and Operators.htmyX;H,]ą'c func-not$$If!vh55#v#v:V 06,5/ 34p]$$If!vh55 #v#v :Vl t655 ]$$If!vh55 #v#v :Vl t655 ]$$If!vh55 #v#v :Vl t655 ]$$If!vh55 #v#v :Vl t655 ]$$If!vh55 #v#v :Vl t655 $$If!vh55#v#v:V 406,5/ 34pADyK  yK ../../Xpath/XPath Functions/XQuery 1.0 and XPath 2.0 Functions and Operators.htmyX;H,]ą'c func-abs$$If!vh55#v#v:V 06,5/ 34pIDyK  yK ../../Xpath/XPath Functions/XQuery 1.0 and XPath 2.0 Functions and Operators.htmyX;H,]ą'c func-ceiling$$If!vh55#v#v:V 06,5/ 34pEDyK  yK ../../Xpath/XPath Functions/XQuery 1.0 and XPath 2.0 Functions and Operators.htmyX;H,]ą'c func-floor$$If!vh55#v#v:V 06,5/ 34pEDyK  yK ../../Xpath/XPath Functions/XQuery 1.0 and XPath 2.0 Functions and Operators.htmyX;H,]ą'c func-round$$If!vh55#v#v:V 06,5/ 34p_DyK  yK ../../Xpath/XPath Functions/XQuery 1.0 and XPath 2.0 Functions and Operators.htmyX;H,]ą'cfunc-round-half-to-even$$If!vh55#v#v:V 06,5/ 34p]$$If!vh55 #v#v :Vl t655 ]$$If!vh55 #v#v :Vl t655 ]$$If!vh55 #v#v :Vl t655 ]$$If!vh55 #v#v :Vl t655 ]$$If!vh55 #v#v :Vl t655 ]$$If!vh55 #v#v :Vl t655 $$If!vh5v5t#vv#vt:V 406,5/ 34giFph6#v#v>55GDyK  yK ../../Xpath/XPath Functions/XQuery 1.0 and XPath 2.0 Functions and Operators.htmyX;H,]ą'c func-concat$$If!vh5v5t#vv#vt:V 06,5/ 34giFph6#v#v>55MDyK  yK ../../Xpath/XPath Functions/XQuery 1.0 and XPath 2.0 Functions and Operators.htmyX;H,]ą'cfunc-substring$$If!vh5v5t#vv#vt:V 06,5/ 34giFph6#v#v>55UDyK  yK ../../Xpath/XPath Functions/XQuery 1.0 and XPath 2.0 Functions and Operators.htmyX;H,]ą'cfunc-string-length$$If!vh5v5t#vv#vt:V 06,5/ 34giFph6#v#v>55ODyK  yK ../../Xpath/XPath Functions/XQuery 1.0 and XPath 2.0 Functions and Operators.htmyX;H,]ą'cfunc-upper-case$$If!vh5v5t#vv#vt:V 06,5/ 34giFph6#v#v>55ODyK  yK ../../Xpath/XPath Functions/XQuery 1.0 and XPath 2.0 Functions and Operators.htmyX;H,]ą'cfunc-lower-case$$If!vh5v5t#vv#vt:V 06,5/ 34giFph6#v#v>55$$If!vh55I#v#vI:V 406,5/ 34goFph6"#v5KDyK  yK ../../Xpath/XPath Functions/XQuery 1.0 and XPath 2.0 Functions and Operators.htmyX;H,]ą'cfunc-contains$$If!vh55I#v#vI:V 06,5/ 34goFph6"#v5QDyK  yK ../../Xpath/XPath Functions/XQuery 1.0 and XPath 2.0 Functions and Operators.htmyX;H,]ą'cfunc-starts-with$$If!vh55I#v#vI:V 06,5/ 34goFph6"#v5MDyK  yK ../../Xpath/XPath Functions/XQuery 1.0 and XPath 2.0 Functions and Operators.htmyX;H,]ą'cfunc-ends-with$$If!vh55I#v#vI:V 06,5/ 34goFph6"#v5[DyK  yK ../../Xpath/XPath Functions/XQuery 1.0 and XPath 2.0 Functions and Operators.htmyX;H,]ą'cfunc-substring-before$$If!vh55I#v#vI:V 06,5/ 34goFph6"#v5YDyK  yK ../../Xpath/XPath Functions/XQuery 1.0 and XPath 2.0 Functions and Operators.htmyX;H,]ą'cfunc-substring-after$$If!vh55I#v#vI:V 06,5/ 34goFph6"#v5]$$If!vh55 #v#v :Vl t655 ]$$If!vh55 #v#v :Vl t655 ]$$If!vh55 #v#v :Vl t655 ]$$If!vh55 #v#v :Vl t655 ]$$If!vh55 #v#v :Vl t655 ]$$If!vh55 #v#v :Vl t655 ]$$If!vh55 #v#v :Vl t655 ]$$If!vh55 #v#v :Vl t655 $$If!vh5 5#v #v:V 406,5/ 34paDyK  yK ../../Xpath/XPath Functions/XQuery 1.0 and XPath 2.0 Functions and Operators.htmyX;H,]ą'cfunc-years-from-duration$$If!vh5 5#v #v:V 06,5/ 34pcDyK  yK ../../Xpath/XPath Functions/XQuery 1.0 and XPath 2.0 Functions and Operators.htmyX;H,]ą'cfunc-months-from-duration$$If!vh5 5#v #v:V 06,5/ 34p_DyK  yK ../../Xpath/XPath Functions/XQuery 1.0 and XPath 2.0 Functions and Operators.htmyX;H,]ą'cfunc-days-from-duration$$If!vh5 5#v #v:V 06,5/ 34paDyK  yK ../../Xpath/XPath Functions/XQuery 1.0 and XPath 2.0 Functions and Operators.htmyX;H,]ą'cfunc-hours-from-duration$$If!vh5 5#v #v:V 06,5/ 34peDyK  yK ../../Xpath/XPath Functions/XQuery 1.0 and XPath 2.0 Functions and Operators.htmyX;H,]ą'cfunc-minutes-from-duration$$If!vh5 5#v #v:V 06,5/ 34peDyK  yK ../../Xpath/XPath Functions/XQuery 1.0 and XPath 2.0 Functions and Operators.htmyX;H,]ą'cfunc-seconds-from-duration$$If!vh5 5#v #v:V 06,5/ 34p_DyK  yK ../../Xpath/XPath Functions/XQuery 1.0 and XPath 2.0 Functions and Operators.htmyX;H,]ą'cfunc-year-from-dateTime$$If!vh5 5#v #v:V 06,5/ 34paDyK  yK ../../Xpath/XPath Functions/XQuery 1.0 and XPath 2.0 Functions and Operators.htmyX;H,]ą'cfunc-month-from-dateTime$$If!vh5 5#v #v:V 06,5/ 34p]DyK  yK ../../Xpath/XPath Functions/XQuery 1.0 and XPath 2.0 Functions and Operators.htmyX;H,]ą'cfunc-day-from-dateTime$$If!vh5 5#v #v:V 06,5/ 34paDyK  yK ../../Xpath/XPath Functions/XQuery 1.0 and XPath 2.0 Functions and Operators.htmyX;H,]ą'cfunc-hours-from-dateTime$$If!vh5 5#v #v:V 06,5/ 34peDyK  yK ../../Xpath/XPath Functions/XQuery 1.0 and XPath 2.0 Functions and Operators.htmyX;H,]ą'cfunc-minutes-from-dateTime$$If!vh5 5#v #v:V 06,5/ 34peDyK  yK ../../Xpath/XPath Functions/XQuery 1.0 and XPath 2.0 Functions and Operators.htmyX;H,]ą'cfunc-seconds-from-dateTime$$If!vh5 5#v #v:V 06,5/ 34pgDyK  yK ../../Xpath/XPath Functions/XQuery 1.0 and XPath 2.0 Functions and Operators.htmyX;H,]ą'cfunc-timezone-from-dateTime$$If!vh5 5#v #v:V 06,5/ 34pWDyK  yK ../../Xpath/XPath Functions/XQuery 1.0 and XPath 2.0 Functions and Operators.htmyX;H,]ą'cfunc-year-from-date$$If!vh5 5#v #v:V 06,5/ 34pYDyK  yK ../../Xpath/XPath Functions/XQuery 1.0 and XPath 2.0 Functions and Operators.htmyX;H,]ą'cfunc-month-from-date$$If!vh5 5#v #v:V 06,5/ 34pUDyK  yK ../../Xpath/XPath Functions/XQuery 1.0 and XPath 2.0 Functions and Operators.htmyX;H,]ą'cfunc-day-from-date$$If!vh5 5#v #v:V 06,5/ 34p_DyK  yK ../../Xpath/XPath Functions/XQuery 1.0 and XPath 2.0 Functions and Operators.htmyX;H,]ą'cfunc-timezone-from-date$$If!vh5 5#v #v:V 06,5/ 34pYDyK  yK ../../Xpath/XPath Functions/XQuery 1.0 and XPath 2.0 Functions and Operators.htmyX;H,]ą'cfunc-hours-from-time$$If!vh5 5#v #v:V 06,5/ 34p]DyK  yK ../../Xpath/XPath Functions/XQuery 1.0 and XPath 2.0 Functions and Operators.htmyX;H,]ą'cfunc-minutes-from-time$$If!vh5 5#v #v:V 06,5/ 34p]DyK  yK ../../Xpath/XPath Functions/XQuery 1.0 and XPath 2.0 Functions and Operators.htmyX;H,]ą'cfunc-seconds-from-time$$If!vh5 5#v #v:V 06,5/ 34p_DyK  yK ../../Xpath/XPath Functions/XQuery 1.0 and XPath 2.0 Functions and Operators.htmyX;H,]ą'cfunc-timezone-from-time$$If!vh5 5#v #v:V 06,5/ 34p$$If!vh5L 5#vL #v:V 406,5/ 34pqDyK  yK ../../Xpath/XPath Functions/XQuery 1.0 and XPath 2.0 Functions and Operators.htmyX;H,]ą'c!func-adjust-dateTime-to-timezone$$If!vh5L 5#vL #v:V 06,5/ 34piDyK  yK ../../Xpath/XPath Functions/XQuery 1.0 and XPath 2.0 Functions and Operators.htmyX;H,]ą'cfunc-adjust-date-to-timezone$$If!vh5L 5#vL #v:V 06,5/ 34piDyK  yK ../../Xpath/XPath Functions/XQuery 1.0 and XPath 2.0 Functions and Operators.htmyX;H,]ą'cfunc-adjust-time-to-timezone$$If!vh5L 5#vL #v:V 06,5/ 34p$$If!vh558#v#v8:V 406,5/ 34pEDyK  yK ../../Xpath/XPath Functions/XQuery 1.0 and XPath 2.0 Functions and Operators.htmyX;H,]ą'c func-empty$$If!vh558#v#v8:V 06,5/ 34pGDyK  yK ../../Xpath/XPath Functions/XQuery 1.0 and XPath 2.0 Functions and Operators.htmyX;H,]ą'c func-exists$$If!vh558#v#v8:V 06,5/ 34p]$$If!vh55 #v#v :Vl t655 ]$$If!vh55 #v#v :Vl t655 ]$$If!vh55 #v#v :Vl t655 $$If!vh55#v#v:V 406,5/ 34pCDyK  yK ../../Xpath/XPath Functions/XQuery 1.0 and XPath 2.0 Functions and Operators.htmyX;H,]ą'c func-name$$If!vh55#v#v:V 06,5/ 34pODyK  yK ../../Xpath/XPath Functions/XQuery 1.0 and XPath 2.0 Functions and Operators.htmyX;H,]ą'cfunc-local-name$$If!vh55#v#v:V 06,5/ 34pUDyK  yK ../../Xpath/XPath Functions/XQuery 1.0 and XPath 2.0 Functions and Operators.htmyX;H,]ą'cfunc-namespace-uri$$If!vh55#v#v:V 06,5/ 34p]$$If!vh55 #v#v :Vl t655 ]$$If!vh55 #v#v :Vl t655 ]$$If!vh55 #v#v :Vl t655 $$If!vh55X#v#vX:V 406,5/ 34pCDyK  yK ../../Xpath/XPath Functions/XQuery 1.0 and XPath 2.0 Functions and Operators.htmyX;H,]ą'c func-name$$If!vh55X#v#vX:V 06,5/ 34p$$If!vh55X#v#vX:V 06,5/ 34p$$If!vh55X#v#vX:V 06,5/ 34p$$If!vh55X#v#vX:V 06,5/ 34p$$If!vh55X#v#vX:V 06,5/ 34p$$If!vh55X#v#vX:V 06,5/ 34p$$If!vh55X#v#vX:V 06,5/ 34p$$If!vh55X#v#vX:V 06,5/ 34p$$If!vh55X#v#vX:V 06,5/ 34p]$$If!vh55 #v#v :Vl t655 ]$$If!vh55 #v#v :Vl t655 ]$$If!vh55 #v#v :Vl t655 H@H _NormalxOJQJ_HaJmH sH tH V@V _ Heading 1$ & Fx<@&5KH \^JaJ N@N _ Heading 2$ & F@&5\]^JaJh@h _ Heading 3&$ & F @&^`5OJQJ\^JaJT@T _ Heading 4$$ & F<@&a$ 5\aJT@T _ Heading 5 & F<@&56CJ\]aJV@V _ Heading 6 & F<@&5CJOJQJ\aJL@L _ Heading 7 & F<@& CJOJQJR@R _ Heading 8 & F<@&6CJOJQJ]L @L _ Heading 9 & F<@& CJ^JaJDA@D Default Paragraph FontRi@R  Table Normal4 l4a (k@(No List.O. _nobreak$LOL _ nobreak CharOJQJ_HaJmH sH tH NON _ Char1*5KH OJQJ\^J_HaJ mH sH tH LO!L _ Char)5OJQJ\]^J_HaJmH sH tH 8@28 _ Comment TextaJB'@AB _Comment ReferenceCJaJH@RH _ Balloon TextCJOJQJ^JaJn@cn 2 Table Grid7:V0x@j@12@ {oComment Subject5\NON F Char5*5KH OJQJ\^J_HaJ mH sH tH NON F Char4)5OJQJ\]^J_HaJmH sH tH Bb@B & HTML CodeCJOJPJQJ^JaJf^@f & Normal (Web)dd[$\$$CJOJPJQJ_H mH nHsH tH4U@4 Yk Hyperlink >*ph"O" YkarrowMichael J. Beckerle Alan Powell Simon Parkerd :$+2MP5XX\\]]]^_babh$ij[oAMJBP MJB MJB MJB APAPMJB  MJB MJB`  MJB MJB MJB(  MJB  spG# MJBd sp*# MJBMJB MJBd sp# MJBd MJB sp;# sp# MJB$d FFFFFFFFFFFFFFFFFFFFFFFFF Oj)J8R| 6 % @A &UV23BCi%j%&&''(())****(,),--..h0i011B@00!00@00t"40@00t"(40@00t"`40@00t"40@0 0t"_40@0 Xp0S0@0X,q0S0@0Xdq0S0@0X0S0@0X0S0@0X80S0@0Xpr0S0@0Xr0S0@0Xr0S0@0X&0S0@0 X&0S0@0"X '0S00S9HIkU^noxy+ C ( 9 A   g r ?Tg  /0KLz{R W%d&UQ./6=CUV]ez{ 23<BCTenvwJrsHqrsms ! " ""##$$$$$$$$$$$$$$$$$$$$$$$$X%a%i%j%A&&&f'''((()))*******+(,), ---i.../h0i0R11111111111111111 2 2222$2%2&222324252X2]2f2n2o2`3334445556 7 776878,9c9d9S:::q;;;<<<===>>>? @!@AHAIA0BXBYBBCkClCQDxDyDhEEE~FFFGGGHHHIIIIJJ J KYKZKSLLLMMMMMMMNNFNONWNXN-OfOgO>P{P|P}PPPPPPPPPPPPPPPPQRRRCSDS)T U U U UUUU U!U"U0U1U2U3UBUCUDUMUUUVU-VVVVV*W+W7WnWoW{WWWWWWW"X#X$X%X&X'X(X)X*X+X,X-X>X?X@XLXWXXXYXgXXXXXXXX[ [[[\\]^^^^___b``alff1ggh,hhh&i'ijjj lmmmynn]ooopphppppp3q4q5qtqqqEr]r_rrrr/sEsFsGsUsVszs{ssssssJtuuvYvv-y.yyyz{|}~?B 0000 0 0 0 0 0 000 00k0k 0000 0 0 0 0 0 00 00+  00( 0( 0( 0( 0( 0( ( 0( ( 0 ( 0( ( 0g 0g 0g ( 0( ( 0 0  000000 0 0 0 00 0000 0000000 0( 0{{0 0 0 0 0 0 0 0 0 0 0  0  0 0 0 0 0 0 0 0 0 0 000000( 0{{00 0 0 0 0 0 0 0 0 0000000000(0(0(0 0 0 0 0 0 0 0 0 0 0 0 0000000000000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 000( 0{{0000000000000000000000000000000000000(0(0(0(0(0(0(0(0(0(0(0(0(0(0(000000000000000000000000000000000000000000(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(000000000000000000000000000000000000000000000000000000000000000000000000000000(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0(0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000(0(0(0(0(0(0(0(0(00000@00@00@00@00@00@00@00@00@00@0000000(0(0(0(0(0(0(0(0(0( 0{{0.W0.W0.W00.W00.W0@0.W0@0.W0@0.W0@0.W00.W0.W0@0.W00.W00.W00.W00.W00.W00.W00.W00.W00.W00.W00.W00.W0@0.W0@0.W0@0.W0@0.W0@0.W0@0.W0@0.W0@0.W0@0.W00.W0(0(0(0.W0.W(0.W(0.W(0.W(0.W(0.W(00.W 00 [0 [0 [0 [ 0 [ [0u]0u]0u] 0 [ [0c_0c_ 0 [ [0`0` 0 [ [0a0a0a0a 0ZZ0ih0ih0ih 0ZZ0j0j0j0j0j0j 0ZZ00 0 0000@0@0`t&@0`t&@0`t&@0`t&@0`t&@0`t&@0@0@0@0@0@0@0@0@0@0@0`t&@0`t&@0`t&@0`t&@0`t&@0`t&@0`t&@0@0@0`t&@0`t&@0`t&@0`t&@0`t&@0`t&@0`t&@0`t&@0@0`t&@0`t&@0`t&@0`@0@0`t&@0`t&@0`t&@0`t&@0`t&@0`t&@0`t&@0`t&@0`t&@0`t& 039HIkU^noxy+ C ( 9 A   g r ?Tg  /0KLz{R W%d&UQ./6=CUV]ez{ 23<BCTenvwJrsHqrsms ! " ""##$$$$$$$$$$$$$$$$$$$$$$$$X%a%i%j%A&&&f'''((()))*******+(,), ---i.../h0i0R11111111111111111 2 2222$2%2&222324252X2]2f2n2o2`3334445556 7 776878,9c9d9S:::q;;;<<<===>>>? @!@AHAIA0BXBYBBCkClCQDxDyDhEEE~FFFGGGHHHIIIIJJ J KYKZKSLLLMMMMMMMNNFNONWNXN-OfOgO>P{P|P}PPPPPPPPPPPPPPPPQRRRCSDS)T U U U UUUU U!U"U0U1U2U3UBUCUDUMUUUVU-VVVVV*W+W7WnWoW{WWWWWWW"X#X%X&X(X)X*X+X,X-X?X@XXXYXgXXX]oppp3q4q5qtqqqB 0000 0 0 0 0 0 000 00k0k 00000000000 00+  00( 0( 0( 0( 0( 0( ( 0( ( 0 ( 0( ( 0g 0g 0g ( 0( ( 0 0  000000 0 0 0 00 0000 0000000 0( 0{{0 0 0 0 0 0 0 0 0 0 0  0  0 0 0 0 0 0 0 0 0 0 000000( 0{{0000000000000000000000000000000000000000000000000000000000( 0{{000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000808008080080800808008080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 0 00 0 00 0 00 00000000000000000000000000000 0000000000@00@00@0@00@00@0@00@00@0@00@00000000 000 0000( 0{{@0R0@0@01@01@00@01@01@00@01@0@01@00@0 00@0 00@0 04@01@0 00@0 04@01@0 00@0 04@0@0 00@0 04@0 06@006 @006 @01@01@0@0R0@0R0@0R0$H@00$@0T0$@00@01@0V0@000S@00#@00 @00 X@00@00@00@00@00 G = n!x"s$%&'*,k-W/123Y679_;5@EJhNQ[SUVhWXY\ ]V]y^^)_W_z__-`dK|ADIKOPSYZ]dpvz|  k xT0d . 6 U e !!2!B!!!!!e"w"q$s$$%%%%%%&&'( *+,,,,,,,X-i-j-..//00112222(4)45566h8i899999 ::%:3:f:o:<= ?6@cABCDEF HHIXJkKxLMNOPQQ RTUVWVfW{X}XXXXXZC[ ] ]]1]B]D]V]^*_n___"`%`(`+`?`X```^flnruy-AEGHJLMNQRTUVWX[\^_`abcefghijklmnoqrstuwxy{}~    @Fw@Hs=Fdkf q !! """##$j%5&?&&W'd''((()))***++),,--Z.g..//i0=1P1o2G3^33n44455566 777789*9d9;:Q::X;o;;u<<<===>>>??!@@AIAB.BYB-C@ClC>DODyDPEfEEiF|FF~GGGHHHII JJKZK6LQLL{MMXN"O+OgO2P @Y!!!!!8@0(  B S  ? _Toc174796501 _Toc174796502 _Toc174796503func-years-from-duration _Toc174796504 _Toc174796505 _Toc174796506 _Toc174796507 _Toc174796508 _Toc99787986 _Toc112836557 _Toc112826279 _Toc113075257 _Toc174796509kI\^^_lfhjjjjjB I[]^_f+hjjjjjBc9TP<BAB9*urn:schemas-microsoft-com:office:smarttagsplace  P       `    (    G# d  *# d # d  ;# # $d K` 3$&252}P-XYX\\]]]?b?b,hhwjBo_o d :$+2MP5XX\\]]^_babh$ij[o_o ?M!-3F    %4>MQ s}(*-1AGPR\^aeu{ +-04DJUWbdgk{#69=Mdnpsw$&-/26FLSUdfim}!#&*:@OQegjn~MXfmz/168@BITW^AHYc>FWaekg q !!""##3%<%6&?&Z&j&}&&X'd'r'{'''(())**+++++,,---6-b-k-[.b.....///000?0H0>1J1q1z11111H3P333o4x4445555666777#8.899P9[9<:Q:l:w:Y;o;;;v<<<<====>>>>?? @@@A$A,A5A@AB$BIBPB.C6C\CcC?DEDiDpDQE\EtE|EEEjFrFFFGGGGHHHHIIIIIIJKK K5K=KHKPK7LQL^LeLzLLLL|MMMMMMMM#O+O3P>@@7A@AKBPB^CcCkDpDEEFFGGHHIIK K`LeLMMRR:SASKTRTTT{VVVVbWgWWWWWXX\\\\ ````eeffIhQh mm]opppptqxqFrIrrr0s2sdsms{s}sssB333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333k\y+ C ( 8  Tg 0L{W=CV{:<TeJsHms ! ""$$$$X%A&&f''(())**+), -m-i../J0R1152X2\2]2`3344556 7778,9d9S::q;;<<==>>?!@AIA0BYBBClCQDyDhEE~FFGGHHII JMNFN-OgO>P}PPPPPQRRDS)T3UAUDU-VVVWWWW-XgXXXXXJ[[\]__lffh,hjjmm]oppppErUrGsVs{ssssB]oB d u , S fN3#>H MbeJNBtna|h",'Ev֥Rh ^`hH.h ^`hH.h pLp^p`LhH.h @ @ ^@ `hH.h ^`hH.h L^`LhH.h ^`hH.h ^`hH.h PLP^P`LhH.h^`OJQJo(hHh^`OJQJ^Jo(hHohpp^p`OJ QJ o(hHh@ @ ^@ `OJQJo(hHh^`OJQJ^Jo(hHoh^`OJ QJ o(hHh^`OJQJo(hHh^`OJQJ^Jo(hHohPP^P`OJ QJ o(hHh P^`PhHh @@^@`hH.h 0^`0hH..h ``^``hH... h ^`hH .... h ^`hH ..... h ^`hH ...... h `^``hH....... h 00^0`hH........^`CJOJQJo(^`CJOJQJo(opp^p`CJOJ QJ o(@ @ ^@ `CJOJ QJ o(^`CJOJ QJ o(^`CJOJ QJ o(^`CJOJ QJ o(^`CJOJ QJ o(PP^P`CJOJ QJ o(^`CJOJQJo(^`CJOJQJo(opp^p`CJOJ QJ o(@ @ ^@ `CJOJ QJ o(^`CJOJ QJ o(^`CJOJ QJ o(^`CJOJ QJ o(^`CJOJ QJ o(PP^P`CJOJ QJ o(^`CJOJQJo(^`CJOJQJo(opp^p`CJOJ QJ o(@ @ ^@ `CJOJ QJ o(^`CJOJ QJ o(^`CJOJ QJ o(^`CJOJ QJ o(^`CJOJ QJ o(PP^P`CJOJ QJ o(h^`OJQJo(hHh^`OJQJ^Jo(hHohpp^p`OJ QJ o(hHh@ @ ^@ `OJQJo(hHh^`OJQJ^Jo(hHoh^`OJ QJ o(hHh^`OJQJo(hHh^`OJQJ^Jo(hHohPP^P`OJ QJ o(hH^`CJOJQJo(^`CJOJQJo(opp^p`CJOJ QJ o(@ @ ^@ `CJOJ QJ o(^`CJOJ QJ o(^`CJOJ QJ o(^`CJOJ QJ o(^`CJOJ QJ o(PP^P`CJOJ QJ o( ^`OJ QJ o( ^`OJ QJ o( pp^p`OJ QJ o( @ @ ^@ `OJ QJ o( ^`OJ QJ o( ^`OJ QJ o( ^`OJ QJ o( ^`OJ QJ o( PP^P`OJ QJ o( u 'EvJN Ma|h#f                            b vz wb0TVj[-zX>SAaDmsb!l.Dkj5Dn}9*D_DWD^kD Aw'l DSAI ? -- DajD=UJ?DlDVDpgDEg Dsb!#!DGR%Df &Dm#(Dyc(D{(DrF)is,D 40Df4D-dS5DV9D29D65:Dd4<l<DFVBx9SD#2FDAEFAl{KD@OLD)PNC[NDjPDx9Sd4<B7UmWVD?YD=$_D aDTxdDGhDb~kD nD!!pUrj!tDr;wD=Ufdx[ o:x!j>q"$`$\%&ud( }-E15b9I:";R>;S;?5@NE FRiIJ*JY KgT$FUKUfnYnZ~]Y^_vb%dy^eh3gXjYk{ozsO-yAynU{;a{>:~:~@~duq^h9-p* AEKg>@`hX9VZ2({/&a0x%OKmmi%p1UUd}uK{>m_Dl'~kR]:H u^noxy./CUVez{23<BCTenvwJrsHqrms ! " ""##$$$$$$$$$$$$$$$$$$$$$$X%a%i%j%A&&&f'''((()))*******+(,), ---i.../h0i0R11111111111111111 2 2222$2%2&2223242]2f2n2o2`3334445556 7 776878,9c9d9S:::q;;;<<<===>>>? @!@AHAIA0BXBYBBCkClCQDxDyDhEEE~FFFGGGHHHIIIIJJ J KYKZKSLLLMMMFNONWNXN-OfOgO>P{P|P}PPPPPPPPPPPPPPQRRRCSDS)T U U UUUU U!U"U0U1U2UDUMUUUVU-VVVV*W+W7WnWoW{WWWWWWW"X#X$X%X&X'X(X)X*X+X,X-X>X?X@XWXXXYXgXXXB@XX^XX@{A@UnknownMichael J. Beckerle Alan PowellIBM_USER Gz Times New Roman5Symbol3& z Arial?5 z Courier NewG5  hMS Mincho-3 fg1" Helv7Tms Rmn;& z Helvetica5& zaTahoma;Wingdings"qh Fĺf^8^8!24d%o%o 3qHP)?3_1 Alan Powell Alan Powell0         Oh+'0p  , 8 DPX`h1 Alan Powell Normal.dot Alan Powell5Microsoft Word 10.0@hP@T]@ ]^՜.+,D՜.+,, hp|  IBM8%o 1 Title/ 8@ _PID_HLINKSA\/ Q../../Xpath/XPath Functions/XQuery 1.0 and XPath 2.0 Functions and Operators.htm func-name6mQ../../Xpath/XPath Functions/XQuery 1.0 and XPath 2.0 Functions and Operators.htmfunc-namespace-uri<eQ../../Xpath/XPath Functions/XQuery 1.0 and XPath 2.0 Functions and Operators.htmfunc-local-nameQ../../Xpath/XPath Functions/XQuery 1.0 and XPath 2.0 Functions and Operators.htm func-nameu}Q../../Xpath/XPath Functions/XQuery 1.0 and XPath 2.0 Functions and Operators.htm func-existsgi~Q../../Xpath/XPath Functions/XQuery 1.0 and XPath 2.0 Functions and Operators.htm func-emptyM{Q../../Xpath/XPath Functions/XQuery 1.0 and XPath 2.0 Functions and Operators.htmfunc-adjust-time-to-timezoneD xQ../../Xpath/XPath Functions/XQuery 1.0 and XPath 2.0 Functions and Operators.htmfunc-adjust-date-to-timezone]uQ../../Xpath/XPath Functions/XQuery 1.0 and XPath 2.0 Functions and Operators.htm!func-adjust-dateTime-to-timezone5#rQ../../Xpath/XPath Functions/XQuery 1.0 and XPath 2.0 Functions and Operators.htmfunc-timezone-from-time; oQ../../Xpath/XPath Functions/XQuery 1.0 and XPath 2.0 Functions and Operators.htmfunc-seconds-from-time,)lQ../../Xpath/XPath Functions/XQuery 1.0 and XPath 2.0 Functions and Operators.htmfunc-minutes-from-timeHCiQ../../Xpath/XPath Functions/XQuery 1.0 and XPath 2.0 Functions and Operators.htmfunc-hours-from-time=*fQ../../Xpath/XPath Functions/XQuery 1.0 and XPath 2.0 Functions and Operators.htmfunc-timezone-from-date=8cQ../../Xpath/XPath Functions/XQuery 1.0 and XPath 2.0 Functions and Operators.htmfunc-day-from-dateGN`Q../../Xpath/XPath Functions/XQuery 1.0 and XPath 2.0 Functions and Operators.htmfunc-month-from-date,?]Q../../Xpath/XPath Functions/XQuery 1.0 and XPath 2.0 Functions and Operators.htmfunc-year-from-date13ZQ../../Xpath/XPath Functions/XQuery 1.0 and XPath 2.0 Functions and Operators.htmfunc-timezone-from-dateTime+$WQ../../Xpath/XPath Functions/XQuery 1.0 and XPath 2.0 Functions and Operators.htmfunc-seconds-from-dateTime<-TQ../../Xpath/XPath Functions/XQuery 1.0 and XPath 2.0 Functions and Operators.htmfunc-minutes-from-dateTimeXGQQ../../Xpath/XPath Functions/XQuery 1.0 and XPath 2.0 Functions and Operators.htmfunc-hours-from-dateTime$4NQ../../Xpath/XPath Functions/XQuery 1.0 and XPath 2.0 Functions and Operators.htmfunc-day-from-dateTime^BKQ../../Xpath/XPath Functions/XQuery 1.0 and XPath 2.0 Functions and Operators.htmfunc-month-from-dateTime &HQ../../Xpath/XPath Functions/XQuery 1.0 and XPath 2.0 Functions and Operators.htmfunc-year-from-dateTime/?EQ../../Xpath/XPath Functions/XQuery 1.0 and XPath 2.0 Functions and Operators.htmfunc-seconds-from-duration86BQ../../Xpath/XPath Functions/XQuery 1.0 and XPath 2.0 Functions and Operators.htmfunc-minutes-from-duration\\?Q../../Xpath/XPath Functions/XQuery 1.0 and XPath 2.0 Functions and Operators.htmfunc-hours-from-duration5'<Q../../Xpath/XPath Functions/XQuery 1.0 and XPath 2.0 Functions and Operators.htmfunc-days-from-durationOQ9Q../../Xpath/XPath Functions/XQuery 1.0 and XPath 2.0 Functions and Operators.htmfunc-months-from-durationVY6Q../../Xpath/XPath Functions/XQuery 1.0 and XPath 2.0 Functions and Operators.htmfunc-years-from-durationJ 3Q../../Xpath/XPath Functions/XQuery 1.0 and XPath 2.0 Functions and Operators.htmfunc-substring-afterC0Q../../Xpath/XPath Functions/XQuery 1.0 and XPath 2.0 Functions and Operators.htmfunc-substring-before`(-Q../../Xpath/XPath Functions/XQuery 1.0 and XPath 2.0 Functions and Operators.htmfunc-ends-withO*Q../../Xpath/XPath Functions/XQuery 1.0 and XPath 2.0 Functions and Operators.htmfunc-starts-with 'Q../../Xpath/XPath Functions/XQuery 1.0 and XPath 2.0 Functions and Operators.htmfunc-contains8|$Q../../Xpath/XPath Functions/XQuery 1.0 and XPath 2.0 Functions and Operators.htmfunc-lower-case'b!Q../../Xpath/XPath Functions/XQuery 1.0 and XPath 2.0 Functions and Operators.htmfunc-upper-caser-Q../../Xpath/XPath Functions/XQuery 1.0 and XPath 2.0 Functions and Operators.htmfunc-string-lengthdnQ../../Xpath/XPath Functions/XQuery 1.0 and XPath 2.0 Functions and Operators.htmfunc-substringriQ../../Xpath/XPath Functions/XQuery 1.0 and XPath 2.0 Functions and Operators.htm func-concatz Q../../Xpath/XPath Functions/XQuery 1.0 and XPath 2.0 Functions and Operators.htmfunc-round-half-to-evenfQ../../Xpath/XPath Functions/XQuery 1.0 and XPath 2.0 Functions and Operators.htm func-round}~Q../../Xpath/XPath Functions/XQuery 1.0 and XPath 2.0 Functions and Operators.htm func-floor Q../../Xpath/XPath Functions/XQuery 1.0 and XPath 2.0 Functions and Operators.htm func-ceiling Q../../Xpath/XPath Functions/XQuery 1.0 and XPath 2.0 Functions and Operators.htm func-absQ../../Xpath/XPath Functions/XQuery 1.0 and XPath 2.0 Functions and Operators.htm func-notljQ../../Xpath/XPath Functions/XQuery 1.0 and XPath 2.0 Functions and Operators.htm func-false Q../../Xpath/XPath Functions/XQuery 1.0 and XPath 2.0 Functions and Operators.htm func-true  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~Root Entry F0᯲]Data ΄1TableWJWordDocument.&SummaryInformation(DocumentSummaryInformation80CompObjj  FMicrosoft Word Document MSWordDocWord.Document.89q