Package

org.apache.daffodil

dpath

Permalink

package dpath

Visibility
  1. Public
  2. All

Type Members

  1. trait BinaryOpMixin extends AnyRef

    Permalink
  2. case class BooleanOp(op: String, left: CompiledDPath, right: CompiledDPath) extends RecipeOp with BinaryOpMixin with Product with Serializable

    Permalink
  3. abstract class CompareOp extends RecipeOp with BinaryOpMixin

    Permalink
  4. trait CompareOpBase extends AnyRef

    Permalink
  5. case class CompareOperator(cop: CompareOpBase, left: CompiledDPath, right: CompiledDPath) extends RecipeOp with BinaryOpMixin with Product with Serializable

    Permalink
  6. class CompiledDPath extends Serializable

    Permalink
  7. abstract class Converter extends RecipeOp

    Permalink
  8. case class DAFTrace(recipe: CompiledDPath, msg: String) extends RecipeOpWithSubRecipes with Product with Serializable

    Permalink
  9. case class DFDLByte(recipe: CompiledDPath, argType: Kind) extends DFDLConstructorFunction with Product with Serializable

    Permalink
  10. case class DFDLCheckConstraints(recipe: CompiledDPath) extends RecipeOpWithSubRecipes with Product with Serializable

    Permalink
  11. abstract class DFDLConstructorFunction extends FNOneArg

    Permalink
  12. case class DFDLContainsDFDLEntities(recipe: CompiledDPath, argType: Kind) extends FNOneArg with Product with Serializable

    Permalink
  13. case class DFDLContentLength(recipes: List[CompiledDPath]) extends DFDLLengthFunctionBase with Product with Serializable

    Permalink
  14. class DFDLDateFormat extends AnyRef

    Permalink
  15. case class DFDLDecodeDFDLEntities(recipe: CompiledDPath, argType: Kind) extends FNOneArg with Product with Serializable

    Permalink
  16. case class DFDLEncodeDFDLEntities(recipe: CompiledDPath, argType: Kind) extends FNOneArg with Product with Serializable

    Permalink
  17. case class DFDLHexBinary(recipe: CompiledDPath, argType: Kind) extends FNOneArg with HexBinaryKind with Product with Serializable

    Permalink

    The argument can also be a long, unsignedLong, or any subtype thereof, and in that case a xs:hexBinary value containing a number of hex digits is produced.

    The argument can also be a long, unsignedLong, or any subtype thereof, and in that case a xs:hexBinary value containing a number of hex digits is produced. The ordering and number of the digits correspond to a binary big-endian twos- complement implementation of the type of the argument. Digits 0-9, A-F are used. The number of digits produced depends on the type of $arg, being 2, 4, 8 or 16. If $arg is a literal number then the type is the smallest signed type (long, int, short, byte) that can contain the value. If a literal number is not able to be represented by a long, it is a schema definition error.

    • dfdl:hexBinary(xs:short(208)) is the hexBinary value "00D0". • dfdl:hexBinary(208) is the hexBinary value "D0". • dfdl:hexBinary(-2084) is the hexBinary value "F7DC".

  18. case class DFDLInt(recipe: CompiledDPath, argType: Kind) extends DFDLConstructorFunction with Product with Serializable

    Permalink
  19. sealed abstract class DFDLLengthFunctionBase extends FNTwoArgsNodeAndValue

    Permalink
  20. case class DFDLLong(recipe: CompiledDPath, argType: Kind) extends DFDLConstructorFunction with Product with Serializable

    Permalink
  21. case class DFDLSetBits(bitRecipes: List[CompiledDPath]) extends RecipeOpWithSubRecipes with Product with Serializable

    Permalink
  22. case class DFDLShort(recipe: CompiledDPath, argType: Kind) extends DFDLConstructorFunction with Product with Serializable

    Permalink
  23. case class DFDLTestBit(dataRecipe: CompiledDPath, bitPos1bRecipe: CompiledDPath) extends RecipeOpWithSubRecipes with Product with Serializable

    Permalink
  24. case class DFDLTimeZoneFromDFDLCalendar(recipe: CompiledDPath, argType: Kind) extends FNOneArg with Product with Serializable

    Permalink

    Returns the timezone component, if any, of $arg as an xs:string.

    Returns the timezone component, if any, of $arg as an xs:string. The $arg is of type xs:dateTime, xs:date, or xs:time.

    If $arg has a timezone component, then the result is a string in the format of an ISO Time zone designator. Interpreted as an offset from UTC, its value may range from +14:00 to -14:00 hours, both inclusive. The UTC time zone is represented as "+00:00". If the $arg has no timezone component, then "" (empty string) is returned.

  25. case class DFDLUnsignedByte(recipe: CompiledDPath, argType: Kind) extends DFDLConstructorFunction with Product with Serializable

    Permalink
  26. case class DFDLUnsignedInt(recipe: CompiledDPath, argType: Kind) extends DFDLConstructorFunction with Product with Serializable

    Permalink
  27. case class DFDLUnsignedLong(recipe: CompiledDPath, argType: Kind) extends DFDLConstructorFunction with Product with Serializable

    Permalink
  28. case class DFDLUnsignedShort(recipe: CompiledDPath, argType: Kind) extends DFDLConstructorFunction with Product with Serializable

    Permalink
  29. case class DFDLValueLength(recipes: List[CompiledDPath]) extends DFDLLengthFunctionBase with Product with Serializable

    Permalink
  30. case class DState() extends Product with Serializable

    Permalink

    expression evaluation side-effects this state block.

    expression evaluation side-effects this state block.

    For DPath expressions, all infoset content must be obtained via methods on this object so that if used in a forward referencing expression the expression can block until the information becomes available.

  31. class DStateForConstantFolding extends DState

    Permalink
  32. trait DateFormatters extends AnyRef

    Permalink
  33. trait DateTimeFormatters extends AnyRef

    Permalink
  34. case class DownArray(info: DPathElementCompileInfo) extends RecipeOp with Product with Serializable

    Permalink
  35. case class DownArrayExists(info: DPathElementCompileInfo) extends RecipeOp with Product with Serializable

    Permalink
  36. case class DownArrayOccurrence(info: DPathElementCompileInfo, indexRecipe: CompiledDPath) extends RecipeOpWithSubRecipes with Product with Serializable

    Permalink

    Move down to an occurrence of an array element.

  37. case class DownElement(info: DPathElementCompileInfo) extends RecipeOp with Product with Serializable

    Permalink

    Down to a non-array element.

    Down to a non-array element. Can be optional or scalar.

  38. sealed trait EvalMode extends AnyRef

    Permalink

    Modes for expression evaluation.

  39. trait ExistsKind extends AnyRef

    Permalink
  40. class ExpressionEvaluationException extends ProcessingError

    Permalink
  41. case class FNAbs(recipe: CompiledDPath, argType: Kind) extends FNOneArg with Product with Serializable

    Permalink
  42. abstract class FNArgsList extends RecipeOpWithSubRecipes

    Permalink
  43. case class FNCeiling(recipe: CompiledDPath, argType: Kind) extends FNOneArg with Product with Serializable

    Permalink
  44. case class FNConcat(recipes: List[CompiledDPath]) extends FNArgsList with Product with Serializable

    Permalink
  45. case class FNContains(recipes: List[CompiledDPath]) extends FNTwoArgs with Product with Serializable

    Permalink
  46. case class FNCount(recipe: CompiledDPath, argType: Kind) extends RecipeOpWithSubRecipes with ExistsKind with Product with Serializable

    Permalink
  47. case class FNDateTime(recipes: List[CompiledDPath]) extends FNTwoArgs with Product with Serializable

    Permalink
  48. case class FNDayFromDate(recipe: CompiledDPath, argType: Kind) extends FNFromDate with Product with Serializable

    Permalink
  49. case class FNDayFromDateTime(recipe: CompiledDPath, argType: Kind) extends FNFromDateTime with Product with Serializable

    Permalink
  50. case class FNEmpty(recipe: CompiledDPath, argType: Kind) extends RecipeOpWithSubRecipes with ExistsKind with Product with Serializable

    Permalink
  51. case class FNEndsWith(recipes: List[CompiledDPath]) extends FNTwoArgs with Product with Serializable

    Permalink
  52. case class FNError(recipes: List[CompiledDPath]) extends FNArgsList with Product with Serializable

    Permalink
  53. trait FNErrorException extends AnyRef

    Permalink
  54. case class FNErrorFunctionException(schemaContext: Maybe[SchemaFileLocation], dataContext: Maybe[DataLocation], errorMessage: String) extends ProcessingError with FNErrorException with Product with Serializable

    Permalink
  55. case class FNExists(recipe: CompiledDPath, argType: Kind) extends RecipeOpWithSubRecipes with ExistsKind with Product with Serializable

    Permalink
  56. case class FNFloor(recipe: CompiledDPath, argType: Kind) extends FNOneArg with Product with Serializable

    Permalink
  57. abstract class FNFromDate extends FNOneArg with FNFromDateTimeKind

    Permalink
  58. abstract class FNFromDateTime extends FNOneArg with FNFromDateTimeKind

    Permalink
  59. trait FNFromDateTimeKind extends AnyRef

    Permalink
  60. abstract class FNFromTime extends FNOneArg with FNFromDateTimeKind

    Permalink
  61. case class FNHoursFromDateTime(recipe: CompiledDPath, argType: Kind) extends FNFromDateTime with Product with Serializable

    Permalink
  62. case class FNHoursFromTime(recipe: CompiledDPath, argType: Kind) extends FNFromTime with Product with Serializable

    Permalink
  63. case class FNLocalName0(recipe: CompiledDPath, argType: Kind) extends RecipeOpWithSubRecipes with Product with Serializable

    Permalink

    Returns the local part of the name of $arg as an xs:string that will either be the zero-length string or will have the lexical form of an xs:NCName

    Returns the local part of the name of $arg as an xs:string that will either be the zero-length string or will have the lexical form of an xs:NCName

    If the argument is omitted, it defaults to the context item (.). The behavior of the function if the argument is omitted is exactly the same as if the context item had been passed as the argument.

    This function is called when 0 arguments are provided. We treat this as if the argument passed was "." to denote self.

  64. case class FNLocalName1(recipe: CompiledDPath, argType: Kind) extends FNOneArg with Product with Serializable

    Permalink

    Returns the local part of the name of $arg as an xs:string that will either be the zero-length string or will have the lexical form of an xs:NCName

  65. case class FNLowerCase(recipe: CompiledDPath, argType: Kind) extends FNOneArg with Product with Serializable

    Permalink
  66. case class FNMinutesFromDateTime(recipe: CompiledDPath, argType: Kind) extends FNFromDateTime with Product with Serializable

    Permalink
  67. case class FNMinutesFromTime(recipe: CompiledDPath, argType: Kind) extends FNFromTime with Product with Serializable

    Permalink
  68. case class FNMonthFromDate(recipe: CompiledDPath, argType: Kind) extends FNFromDate with Product with Serializable

    Permalink
  69. case class FNMonthFromDateTime(recipe: CompiledDPath, argType: Kind) extends FNFromDateTime with Product with Serializable

    Permalink
  70. case class FNNilled(recipe: CompiledDPath, argType: Kind) extends RecipeOpWithSubRecipes with Product with Serializable

    Permalink
  71. case class FNNot(recipe: CompiledDPath, argType: Kind = null) extends FNOneArg with Product with Serializable

    Permalink
  72. abstract class FNOneArg extends RecipeOpWithSubRecipes

    Permalink
  73. case class FNRound(recipe: CompiledDPath, argType: Kind) extends FNOneArg with Product with Serializable

    Permalink
  74. case class FNRoundHalfToEven(recipeNum: CompiledDPath, recipePrecision: CompiledDPath) extends RecipeOpWithSubRecipes with Product with Serializable

    Permalink
  75. case class FNRoundHalfToEven1(recipe: CompiledDPath, argType: Kind) extends FNOneArg with FNRoundHalfToEvenKind with Product with Serializable

    Permalink

    The value returned is the nearest (that is, numerically closest) value to $arg that is a multiple of ten to the power of minus $precision.

    The value returned is the nearest (that is, numerically closest) value to $arg that is a multiple of ten to the power of minus $precision.

    If two such values are equally near (e.g. if the fractional part in $arg is exactly .500...), the function returns the one whose least significant digit is even.

    This particular function expects a single argument which is a Numeric. $precision is assumed 0.

  76. case class FNRoundHalfToEven2(recipes: List[CompiledDPath]) extends FNTwoArgs with FNRoundHalfToEvenKind with Product with Serializable

    Permalink

    The value returned is the nearest (that is, numerically closest) value to $arg that is a multiple of ten to the power of minus $precision.

    The value returned is the nearest (that is, numerically closest) value to $arg that is a multiple of ten to the power of minus $precision.

    If two such values are equally near (e.g. if the fractional part in $arg is exactly .500...), the function returns the one whose least significant digit is even.

    This particular function expects a two arguments: $arg and $precision.

  77. trait FNRoundHalfToEvenKind extends AnyRef

    Permalink
  78. case class FNSecondsFromDateTime(recipe: CompiledDPath, argType: Kind) extends FNFromDateTime with Product with Serializable

    Permalink
  79. case class FNSecondsFromTime(recipe: CompiledDPath, argType: Kind) extends FNFromTime with Product with Serializable

    Permalink
  80. case class FNStartsWith(recipes: List[CompiledDPath]) extends FNTwoArgs with Product with Serializable

    Permalink
  81. case class FNStringLength(recipe: CompiledDPath, argType: Kind) extends FNOneArg with Product with Serializable

    Permalink
  82. case class FNSubstring2(recipes: List[CompiledDPath]) extends FNTwoArgs with SubstringKind with Product with Serializable

    Permalink
  83. case class FNSubstring3(recipes: List[CompiledDPath]) extends FNThreeArgs with SubstringKind with Product with Serializable

    Permalink
  84. case class FNSubstringAfter(recipes: List[CompiledDPath]) extends FNTwoArgs with SubstringKind with Product with Serializable

    Permalink
  85. case class FNSubstringBefore(recipes: List[CompiledDPath]) extends FNTwoArgs with SubstringKind with Product with Serializable

    Permalink
  86. abstract class FNThreeArgs extends RecipeOpWithSubRecipes

    Permalink
  87. abstract class FNTwoArgs extends RecipeOpWithSubRecipes

    Permalink
  88. abstract class FNTwoArgsNodeAndValue extends RecipeOpWithSubRecipes

    Permalink
  89. case class FNUpperCase(recipe: CompiledDPath, argType: Kind) extends FNOneArg with Product with Serializable

    Permalink
  90. case class FNYearFromDate(recipe: CompiledDPath, argType: Kind) extends FNFromDate with Product with Serializable

    Permalink
  91. case class FNYearFromDateTime(recipe: CompiledDPath, argType: Kind) extends FNFromDateTime with Product with Serializable

    Permalink
  92. trait HexBinaryKind extends AnyRef

    Permalink
  93. case class IF(predRecipe: CompiledDPath, thenPartRecipe: CompiledDPath, elsePartRecipe: CompiledDPath) extends RecipeOpWithSubRecipes with Product with Serializable

    Permalink
  94. case class Literal(v: Any) extends RecipeOp with Product with Serializable

    Permalink
  95. case class MATHPow(recipes: List[CompiledDPath]) extends FNTwoArgs with Product with Serializable

    Permalink
  96. case class NegateOp(recipe: CompiledDPath) extends RecipeOpWithSubRecipes with Product with Serializable

    Permalink
  97. trait NumberCompareOp extends CompareOpBase

    Permalink
  98. trait NumericOp extends AnyRef

    Permalink
  99. case class NumericOperator(nop: NumericOp, left: CompiledDPath, right: CompiledDPath) extends RecipeOp with BinaryOpMixin with Product with Serializable

    Permalink
  100. sealed trait ParserMode extends EvalMode

    Permalink

    Parsing always uses this mode, for everything except discriminators.

    Parsing always uses this mode, for everything except discriminators.

    Unparsing never uses this mode for anything.

    In this mode, evaluation is simple. If a child doesn't exist but is needed to be traversed, an exception is thrown. If a value doesn't exist an exception is thrown. fn:exists and fn:count return the answers immediately based on the current state of the infoset object.

    In this mode, if an infoset node or value that is needed for evaluation is not found, then it is a Runtime Schema Definition Error, i.e., a fatal error.

  101. sealed abstract class PrimTypeNode extends TypeNode with PrimType

    Permalink
  102. abstract class RecipeOp extends Serializable

    Permalink
  103. abstract class RecipeOpWithSubRecipes extends RecipeOp

    Permalink
  104. final class RuntimeExpressionDPath[T <: AnyRef] extends CompiledExpression[T] with DoSDEMixin

    Permalink
  105. trait StringCompareOp extends CompareOpBase

    Permalink
  106. trait SubstringKind extends AnyRef

    Permalink
  107. trait SuspendableExpression extends Suspension

    Permalink

    Base for unparse-time expression evaluation that can have forward reference.

    Base for unparse-time expression evaluation that can have forward reference. There are only two such cases, which is dfdl:outputValueCalc, and dfdl:setVariable expressions (which variables are in-turn used by dfdl:outputValueCalc.

  108. trait TimeFormatters extends AnyRef

    Permalink
  109. trait ToString extends Converter

    Permalink
  110. sealed abstract class TypeNode extends Serializable

    Permalink

    We need to have a data structure that lets us represent a type, and its relationship (conversion, subtyping) to other types.

    We need to have a data structure that lets us represent a type, and its relationship (conversion, subtyping) to other types.

    This is what TypeNodes are for. They are linked into a graph that can answer questions about how two types are related. It can find the least general supertype, or most general subtype of two types.

  111. case class VRef(vrd: VariableRuntimeData, context: ThrowsSDE) extends RecipeOp with Product with Serializable

    Permalink
  112. case class XSDate(recipe: CompiledDPath, argType: Kind) extends FNOneArg with Product with Serializable

    Permalink
  113. case class XSDateTime(recipe: CompiledDPath, argType: Kind) extends FNOneArg with Product with Serializable

    Permalink
  114. trait XSDateTimeKind extends Serializable

    Permalink
  115. case class XSHexBinary(recipe: CompiledDPath, argType: Kind) extends FNOneArg with HexBinaryKind with Product with Serializable

    Permalink
  116. case class XSInt(recipe: CompiledDPath) extends RecipeOpWithSubRecipes with Product with Serializable

    Permalink
  117. case class XSString(recipe: CompiledDPath, argType: Kind) extends FNOneArg with Product with Serializable

    Permalink
  118. case class XSTime(recipe: CompiledDPath, argType: Kind) extends FNOneArg with Product with Serializable

    Permalink

Value Members

  1. object AnyAtomicToString extends Converter with Product with Serializable

    Permalink
  2. object ArrayIndexToLong extends Converter with Product with Serializable

    Permalink
  3. object BigIntToLong extends Converter with Product with Serializable

    Permalink
  4. object BooleanToLong extends Converter with Product with Serializable

    Permalink
  5. object BooleanToString extends Converter with Product with Serializable

    Permalink
  6. object ByteToLong extends Converter with Product with Serializable

    Permalink
  7. object Conversion

    Permalink
  8. object DAFError extends RecipeOp with Product with Serializable

    Permalink
  9. object DFDLCheckConstraintsFunction

    Permalink
  10. object DFDLOccursIndex extends RecipeOp with Product with Serializable

    Permalink
  11. object DPathUtil

    Permalink
  12. object DState extends Serializable

    Permalink
  13. object DateTimeToDate extends Converter with Product with Serializable

    Permalink
  14. object DateTimeToString extends Converter with ToString with Product with Serializable

    Permalink
  15. object DateTimeToTime extends Converter with Product with Serializable

    Permalink
  16. object DateToDateTime extends Converter with Product with Serializable

    Permalink
  17. object DecimalToBoolean extends Converter with Product with Serializable

    Permalink
  18. object DecimalToDouble extends Converter with Product with Serializable

    Permalink
  19. object DecimalToInteger extends Converter with Product with Serializable

    Permalink
  20. object DecimalToLong extends Converter with Product with Serializable

    Permalink
  21. object DecimalToNonNegativeInteger extends Converter with Product with Serializable

    Permalink
  22. object DecimalToUnsignedLong extends Converter with Product with Serializable

    Permalink
  23. object DivByte extends NumericOp with Product with Serializable

    Permalink
  24. object DivDecimal extends NumericOp with Product with Serializable

    Permalink

    Division with rounding for decimals

    Division with rounding for decimals

    About the rounding.

    Without rounding specified here, you can get an java arithmetic exception Specifically:

    java.lang.ArithmeticException: Non-terminating decimal expansion; no exact representable decimal result.

    What's questionable here, is to what number of fraction digits it will round. That can be specified also as an argument to divide(), but we have no information here (or anywhere really) about what precision is desired. So we're omitting that and just saying "round it".

    Really, there's no rounding scale/precision until we're ready to represent the number in a string. In this case we're not. We're in the middle of an expression, just happen to have two BigDecimal operands, and we're dividing them, which should produce a BigDecimal result.

    DFDL expressions are supposed to be consistent with XPath, so we look there for suggestions. The XPath spec https://www.w3.org/TR/xpath-functions-3/#op.numeric says it is implementation defined.

    For xs:decimal values, let N be the number of digits of precision supported by the implementation, and let M (M <= N) be the minimum limit on the number of digits required for conformance (18 digits for XSD 1.0, 16 digits for XSD 1.1). Then for addition, subtraction, and multiplication operations, the returned result should be accurate to N digits of precision, and for division and modulus operations, the returned result should be accurate to at least M digits of precision. The actual precision is ·implementation-defined·. If the number of digits in the mathematical result exceeds the number of digits that the implementation retains for that operation, the result is truncated or rounded in an ·implementation-defined· manner

    In our case, the implementation does what the JVM and java libraries do when divide() is called with two arguments the second of which specifies to round half-up.

  25. object DivDouble extends NumericOp with Product with Serializable

    Permalink
  26. object DivFloat extends NumericOp with Product with Serializable

    Permalink
  27. object DivInt extends NumericOp with Product with Serializable

    Permalink
  28. object DivInteger extends NumericOp with Product with Serializable

    Permalink
  29. object DivLong extends NumericOp with Product with Serializable

    Permalink
  30. object DivNonNegativeInteger extends NumericOp with Product with Serializable

    Permalink
  31. object DivShort extends NumericOp with Product with Serializable

    Permalink
  32. object DivUnsignedByte extends NumericOp with Product with Serializable

    Permalink
  33. object DivUnsignedInt extends NumericOp with Product with Serializable

    Permalink
  34. object DivUnsignedLong extends NumericOp with Product with Serializable

    Permalink
  35. object DivUnsignedShort extends NumericOp with Product with Serializable

    Permalink
  36. object DoubleToBoolean extends Converter with Product with Serializable

    Permalink
  37. object DoubleToDecimal extends Converter with Product with Serializable

    Permalink
  38. object DoubleToFloat extends Converter with Product with Serializable

    Permalink
  39. object DoubleToLong extends Converter with Product with Serializable

    Permalink
  40. object DoubleToUnsignedLong extends Converter with Product with Serializable

    Permalink
  41. object EQ_Compare extends CompareOpBase with Product with Serializable

    Permalink
  42. object EQ_CompareByteArray extends CompareOpBase with Product with Serializable

    Permalink
  43. object EqualityNoWarn

    Permalink
  44. object EqualityNoWarn2

    Permalink
  45. object FNExactlyOne extends RecipeOp with Product with Serializable

    Permalink

    Returns $arg if it contains exactly one item.

    Returns $arg if it contains exactly one item. Otherwise, raises an error

  46. object FNToBoolean extends Converter with Product with Serializable

    Permalink

    Summary: Computes the effective boolean value of the sequence $arg.

    Summary: Computes the effective boolean value of the sequence $arg.

    If $arg is the empty sequence, fn:boolean returns false.

    If $arg is a sequence whose first item is a node, fn:boolean returns true.

    If $arg is a singleton value of type xs:boolean or a derived from xs:boolean, fn:boolean returns $arg.

    If $arg is a singleton value of type xs:string or a type derived from xs:string, xs:anyURI or a type derived from xs:anyURI or xs:untypedAtomic, fn:boolean returns false if the operand value has zero length; otherwise it returns true.

    If $arg is a singleton value of any numeric type or a type derived from a numeric type, fn:boolean returns false if the operand value is NaN or is numerically equal to zero; otherwise it returns true.

    In all other cases, fn:boolean raises a type error [err:FORG0006].

  47. object FloatToDouble extends Converter with Product with Serializable

    Permalink
  48. object GE_Boolean extends CompareOpBase with Product with Serializable

    Permalink
  49. object GE_Byte extends NumberCompareOp with Product with Serializable

    Permalink
  50. object GE_Date extends CompareOpBase with Product with Serializable

    Permalink
  51. object GE_DateTime extends CompareOpBase with Product with Serializable

    Permalink
  52. object GE_Decimal extends NumberCompareOp with Product with Serializable

    Permalink
  53. object GE_Double extends NumberCompareOp with Product with Serializable

    Permalink
  54. object GE_Float extends NumberCompareOp with Product with Serializable

    Permalink
  55. object GE_Int extends NumberCompareOp with Product with Serializable

    Permalink
  56. object GE_Integer extends NumberCompareOp with Product with Serializable

    Permalink
  57. object GE_Long extends NumberCompareOp with Product with Serializable

    Permalink
  58. object GE_NonNegativeInteger extends NumberCompareOp with Product with Serializable

    Permalink
  59. object GE_Short extends NumberCompareOp with Product with Serializable

    Permalink
  60. object GE_String extends StringCompareOp with Product with Serializable

    Permalink
  61. object GE_Time extends CompareOpBase with Product with Serializable

    Permalink
  62. object GE_UnsignedByte extends NumberCompareOp with Product with Serializable

    Permalink
  63. object GE_UnsignedInt extends NumberCompareOp with Product with Serializable

    Permalink
  64. object GE_UnsignedLong extends NumberCompareOp with Product with Serializable

    Permalink
  65. object GE_UnsignedShort extends NumberCompareOp with Product with Serializable

    Permalink
  66. object GT_Boolean extends CompareOpBase with Product with Serializable

    Permalink
  67. object GT_Byte extends NumberCompareOp with Product with Serializable

    Permalink
  68. object GT_Date extends CompareOpBase with Product with Serializable

    Permalink
  69. object GT_DateTime extends CompareOpBase with Product with Serializable

    Permalink
  70. object GT_Decimal extends NumberCompareOp with Product with Serializable

    Permalink
  71. object GT_Double extends NumberCompareOp with Product with Serializable

    Permalink
  72. object GT_Float extends NumberCompareOp with Product with Serializable

    Permalink
  73. object GT_Int extends NumberCompareOp with Product with Serializable

    Permalink
  74. object GT_Integer extends NumberCompareOp with Product with Serializable

    Permalink
  75. object GT_Long extends NumberCompareOp with Product with Serializable

    Permalink
  76. object GT_NonNegativeInteger extends NumberCompareOp with Product with Serializable

    Permalink
  77. object GT_Short extends NumberCompareOp with Product with Serializable

    Permalink
  78. object GT_String extends StringCompareOp with Product with Serializable

    Permalink
  79. object GT_Time extends CompareOpBase with Product with Serializable

    Permalink
  80. object GT_UnsignedByte extends NumberCompareOp with Product with Serializable

    Permalink
  81. object GT_UnsignedInt extends NumberCompareOp with Product with Serializable

    Permalink
  82. object GT_UnsignedLong extends NumberCompareOp with Product with Serializable

    Permalink
  83. object GT_UnsignedShort extends NumberCompareOp with Product with Serializable

    Permalink
  84. object HexBinaryConversions

    Permalink
  85. object HexBinaryToString extends Converter with Product with Serializable

    Permalink
  86. object HexStringToLong extends Converter with Product with Serializable

    Permalink
  87. object HexStringToUnsignedLong extends Converter with Product with Serializable

    Permalink
  88. object IDivByte extends NumericOp with Product with Serializable

    Permalink
  89. object IDivDecimal extends NumericOp with Product with Serializable

    Permalink
  90. object IDivDouble extends NumericOp with Product with Serializable

    Permalink
  91. object IDivFloat extends NumericOp with Product with Serializable

    Permalink
  92. object IDivInt extends NumericOp with Product with Serializable

    Permalink
  93. object IDivInteger extends NumericOp with Product with Serializable

    Permalink
  94. object IDivLong extends NumericOp with Product with Serializable

    Permalink
  95. object IDivNonNegativeInteger extends NumericOp with Product with Serializable

    Permalink
  96. object IDivShort extends NumericOp with Product with Serializable

    Permalink
  97. object IDivUnsignedByte extends NumericOp with Product with Serializable

    Permalink
  98. object IDivUnsignedInt extends NumericOp with Product with Serializable

    Permalink
  99. object IDivUnsignedLong extends NumericOp with Product with Serializable

    Permalink
  100. object IDivUnsignedShort extends NumericOp with Product with Serializable

    Permalink
  101. object IntToLong extends Converter with Product with Serializable

    Permalink
  102. object IntegerToDecimal extends Converter with Product with Serializable

    Permalink
  103. object IntegerToUnsignedLong extends Converter with Product with Serializable

    Permalink
  104. object LE_Boolean extends CompareOpBase with Product with Serializable

    Permalink
  105. object LE_Byte extends NumberCompareOp with Product with Serializable

    Permalink
  106. object LE_Date extends CompareOpBase with Product with Serializable

    Permalink
  107. object LE_DateTime extends CompareOpBase with Product with Serializable

    Permalink
  108. object LE_Decimal extends NumberCompareOp with Product with Serializable

    Permalink
  109. object LE_Double extends NumberCompareOp with Product with Serializable

    Permalink
  110. object LE_Float extends NumberCompareOp with Product with Serializable

    Permalink
  111. object LE_Int extends NumberCompareOp with Product with Serializable

    Permalink
  112. object LE_Integer extends NumberCompareOp with Product with Serializable

    Permalink
  113. object LE_Long extends NumberCompareOp with Product with Serializable

    Permalink
  114. object LE_NonNegativeInteger extends NumberCompareOp with Product with Serializable

    Permalink
  115. object LE_Short extends NumberCompareOp with Product with Serializable

    Permalink
  116. object LE_String extends StringCompareOp with Product with Serializable

    Permalink
  117. object LE_Time extends CompareOpBase with Product with Serializable

    Permalink
  118. object LE_UnsignedByte extends NumberCompareOp with Product with Serializable

    Permalink
  119. object LE_UnsignedInt extends NumberCompareOp with Product with Serializable

    Permalink
  120. object LE_UnsignedLong extends NumberCompareOp with Product with Serializable

    Permalink
  121. object LE_UnsignedShort extends NumberCompareOp with Product with Serializable

    Permalink
  122. object LT_Boolean extends CompareOpBase with Product with Serializable

    Permalink
  123. object LT_Byte extends NumberCompareOp with Product with Serializable

    Permalink
  124. object LT_Date extends CompareOpBase with Product with Serializable

    Permalink
  125. object LT_DateTime extends CompareOpBase with Product with Serializable

    Permalink
  126. object LT_Decimal extends NumberCompareOp with Product with Serializable

    Permalink
  127. object LT_Double extends NumberCompareOp with Product with Serializable

    Permalink
  128. object LT_Float extends NumberCompareOp with Product with Serializable

    Permalink
  129. object LT_Int extends NumberCompareOp with Product with Serializable

    Permalink
  130. object LT_Integer extends NumberCompareOp with Product with Serializable

    Permalink
  131. object LT_Long extends NumberCompareOp with Product with Serializable

    Permalink
  132. object LT_NonNegativeInteger extends NumberCompareOp with Product with Serializable

    Permalink
  133. object LT_Short extends NumberCompareOp with Product with Serializable

    Permalink
  134. object LT_String extends StringCompareOp with Product with Serializable

    Permalink
  135. object LT_Time extends CompareOpBase with Product with Serializable

    Permalink
  136. object LT_UnsignedByte extends NumberCompareOp with Product with Serializable

    Permalink
  137. object LT_UnsignedInt extends NumberCompareOp with Product with Serializable

    Permalink
  138. object LT_UnsignedLong extends NumberCompareOp with Product with Serializable

    Permalink
  139. object LT_UnsignedShort extends NumberCompareOp with Product with Serializable

    Permalink
  140. object LongToArrayIndex extends Converter with Product with Serializable

    Permalink
  141. object LongToBoolean extends Converter with Product with Serializable

    Permalink
  142. object LongToByte extends Converter with Product with Serializable

    Permalink
  143. object LongToDecimal extends Converter with Product with Serializable

    Permalink
  144. object LongToDouble extends Converter with Product with Serializable

    Permalink
  145. object LongToFloat extends Converter with Product with Serializable

    Permalink
  146. object LongToInt extends Converter with Product with Serializable

    Permalink
  147. object LongToInteger extends Converter with Product with Serializable

    Permalink
  148. object LongToNonNegativeInteger extends Converter with Product with Serializable

    Permalink
  149. object LongToShort extends Converter with Product with Serializable

    Permalink
  150. object LongToUnsignedByte extends Converter with Product with Serializable

    Permalink
  151. object LongToUnsignedInt extends Converter with Product with Serializable

    Permalink
  152. object LongToUnsignedLong extends Converter with Product with Serializable

    Permalink
  153. object LongToUnsignedShort extends Converter with Product with Serializable

    Permalink
  154. object MinusByte extends NumericOp with Product with Serializable

    Permalink
  155. object MinusDecimal extends NumericOp with Product with Serializable

    Permalink
  156. object MinusDouble extends NumericOp with Product with Serializable

    Permalink
  157. object MinusFloat extends NumericOp with Product with Serializable

    Permalink
  158. object MinusInt extends NumericOp with Product with Serializable

    Permalink
  159. object MinusInteger extends NumericOp with Product with Serializable

    Permalink
  160. object MinusLong extends NumericOp with Product with Serializable

    Permalink
  161. object MinusNonNegativeInteger extends NumericOp with Product with Serializable

    Permalink
  162. object MinusShort extends NumericOp with Product with Serializable

    Permalink
  163. object MinusUnsignedByte extends NumericOp with Product with Serializable

    Permalink
  164. object MinusUnsignedInt extends NumericOp with Product with Serializable

    Permalink
  165. object MinusUnsignedLong extends NumericOp with Product with Serializable

    Permalink
  166. object MinusUnsignedShort extends NumericOp with Product with Serializable

    Permalink
  167. object ModByte extends NumericOp with Product with Serializable

    Permalink
  168. object ModDecimal extends NumericOp with Product with Serializable

    Permalink
  169. object ModDouble extends NumericOp with Product with Serializable

    Permalink
  170. object ModFloat extends NumericOp with Product with Serializable

    Permalink
  171. object ModInt extends NumericOp with Product with Serializable

    Permalink
  172. object ModInteger extends NumericOp with Product with Serializable

    Permalink
  173. object ModLong extends NumericOp with Product with Serializable

    Permalink
  174. object ModNonNegativeInteger extends NumericOp with Product with Serializable

    Permalink
  175. object ModShort extends NumericOp with Product with Serializable

    Permalink
  176. object ModUnsignedByte extends NumericOp with Product with Serializable

    Permalink
  177. object ModUnsignedInt extends NumericOp with Product with Serializable

    Permalink
  178. object ModUnsignedLong extends NumericOp with Product with Serializable

    Permalink
  179. object ModUnsignedShort extends NumericOp with Product with Serializable

    Permalink
  180. object NE_Compare extends CompareOpBase with Product with Serializable

    Permalink
  181. object NE_CompareByteArray extends CompareOpBase with Product with Serializable

    Permalink
  182. object NodeInfo extends Enum

    Permalink

    A NodeInfo.Kind describes what kind of result we want from the expression.

    A NodeInfo.Kind describes what kind of result we want from the expression. E.g., a + b we want numbers from both a and b expressions. In /a/b we want a "complex" node from the expression a, and a value from the expression b. But fn:exists(../a/b) we need complex node a so that we can test if b exists. In case of a[b] for b we need a value, but furthermore an array index, so 1..n.

    Functions motivate some of the options here. e.g., fn:nilled( exp ) is the test for a nilled value. There we want an expression to something that is nillable.

    This same Kind is also used to describe the inherent value (bottom up) of an expression. So a literal "foo" is of string kind, whereas 5.0 is Numeric

    The nested objects here allow one to write NodeInfo.Kind (type of any of these enums) NodeInfo.Number.Kind (type of just the number variants) NodeInfo.Value.Kind (type of just the value variants) The enums themselves are just NodeInfo.Decimal (for example)

    Note that you can talk about types using type node objects: E.g., NodeInfo.Number. But you can also use Scala typing to ask whether a particular type object is a subtype of another: e.g.

    val x = NodeInfo.String
    val aa = NodeInfo.AnyAtomic
    x.isSubTypeOf(aa) // true. Ordinary way to check. Navigates our data structure.
    x.isInstanceOf[NodeInfo.AnyAtomic.Kind] // true. Uses scala type checking
    
    So each NodeInfo object has a corresponding class (named with .Kind suffix) which is actually a super-type (in Scala sense) of the enums for the types beneath.

    The primary advantage of the latter is that this is a big bunch of sealed traits/classes, so if you have a match-case analysis by type, scala's compiler can tell you if your match-case exhausts all possibilities and warn you if it does not.

  183. object NumericToString extends Converter with ToString with Product with Serializable

    Permalink
  184. object ParserDiscriminatorNonBlocking extends ParserMode with Product with Serializable

    Permalink

    Used when evaluating discriminators, which only occurs during parsing.

    Used when evaluating discriminators, which only occurs during parsing.

    In this mode, if a failure occurs in that an infoset node or value is not found then it is a Processing error.

  185. object ParserNonBlocking extends ParserMode with Product with Serializable

    Permalink
  186. object PlusByte extends NumericOp with Product with Serializable

    Permalink
  187. object PlusDecimal extends NumericOp with Product with Serializable

    Permalink
  188. object PlusDouble extends NumericOp with Product with Serializable

    Permalink
  189. object PlusFloat extends NumericOp with Product with Serializable

    Permalink
  190. object PlusInt extends NumericOp with Product with Serializable

    Permalink
  191. object PlusInteger extends NumericOp with Product with Serializable

    Permalink
  192. object PlusLong extends NumericOp with Product with Serializable

    Permalink
  193. object PlusNonNegativeInteger extends NumericOp with Product with Serializable

    Permalink
  194. object PlusShort extends NumericOp with Product with Serializable

    Permalink
  195. object PlusUnsignedByte extends NumericOp with Product with Serializable

    Permalink
  196. object PlusUnsignedInt extends NumericOp with Product with Serializable

    Permalink
  197. object PlusUnsignedLong extends NumericOp with Product with Serializable

    Permalink
  198. object PlusUnsignedShort extends NumericOp with Product with Serializable

    Permalink
  199. object SelfMove extends RecipeOp with Product with Serializable

    Permalink
  200. object ShortToLong extends Converter with Product with Serializable

    Permalink
  201. object StringToBoolean extends Converter with Product with Serializable

    Permalink
  202. object StringToDate extends Converter with XSDateTimeKind with DateFormatters with Product with Serializable

    Permalink
  203. object StringToDateTime extends Converter with XSDateTimeKind with DateTimeFormatters with Product with Serializable

    Permalink
  204. object StringToDecimal extends Converter with Product with Serializable

    Permalink
  205. object StringToDouble extends Converter with Product with Serializable

    Permalink
  206. object StringToLong extends Converter with Product with Serializable

    Permalink
  207. object StringToNonEmptyString extends RecipeOp with Product with Serializable

    Permalink
  208. object StringToTime extends Converter with XSDateTimeKind with TimeFormatters with Product with Serializable

    Permalink
  209. object StringToUnsignedLong extends Converter with Product with Serializable

    Permalink
  210. object TimesByte extends NumericOp with Product with Serializable

    Permalink
  211. object TimesDecimal extends NumericOp with Product with Serializable

    Permalink
  212. object TimesDouble extends NumericOp with Product with Serializable

    Permalink
  213. object TimesFloat extends NumericOp with Product with Serializable

    Permalink
  214. object TimesInt extends NumericOp with Product with Serializable

    Permalink
  215. object TimesInteger extends NumericOp with Product with Serializable

    Permalink
  216. object TimesLong extends NumericOp with Product with Serializable

    Permalink
  217. object TimesNonNegativeInteger extends NumericOp with Product with Serializable

    Permalink
  218. object TimesShort extends NumericOp with Product with Serializable

    Permalink
  219. object TimesUnsignedByte extends NumericOp with Product with Serializable

    Permalink
  220. object TimesUnsignedInt extends NumericOp with Product with Serializable

    Permalink
  221. object TimesUnsignedLong extends NumericOp with Product with Serializable

    Permalink
  222. object TimesUnsignedShort extends NumericOp with Product with Serializable

    Permalink
  223. object ToRoot extends RecipeOp with Product with Serializable

    Permalink

    Moves to above the root element so that an absolute path that begins with the name of the root element will descend into the root element.

  224. object UnparserBlocking extends EvalMode with Product with Serializable

    Permalink

    Unparsing uses this mode for outputValueCalc, variables, and length expressions, when it wants to actually suspend a co-routine that can be resumed.

    Unparsing uses this mode for outputValueCalc, variables, and length expressions, when it wants to actually suspend a co-routine that can be resumed.

    In this mode, we must be running on a co-routine which can be blocked.

    In this mode, evaluation can suspend waiting for a child node to be added/appended, or for a value to be set.

    fn:count can block if the array isn't final yet. fn:exists can block if the array or element isn't final yet.

    Once the situation leading to the suspension changes, evaluation is retried.

  225. object UnparserNonBlocking extends EvalMode with Product with Serializable

    Permalink

    Unparsing uses this mode for evaluation to determine whether or not something will block.

    Unparsing uses this mode for evaluation to determine whether or not something will block.

    In this mode, we are running on the main co-routine, so we can't actually block.

    However, unlike ParserNonBlocking mode, in this mode fn:count of a non-final array will error, indicating to the caller that the expression would have blocked waiting for that array to be finalized. Similarly fn:exists can error, as can many other things. Anything that would have blocked in UnparserBlocking mode will instead error.

  226. object UnsignedByteToLong extends Converter with Product with Serializable

    Permalink
  227. object UnsignedIntToLong extends Converter with Product with Serializable

    Permalink
  228. object UnsignedLongToLong extends Converter with Product with Serializable

    Permalink
  229. object UnsignedShortToLong extends Converter with Product with Serializable

    Permalink
  230. object UpMove extends RecipeOp with Product with Serializable

    Permalink
  231. object UpMoveArray extends RecipeOp with Product with Serializable

    Permalink

Ungrouped