XPathBinary.fromHex constructor

XPathBinary.fromHex(
  1. String text
)

Creates a new XPathBinary from hex encoded text.

Implementation

factory fromHex(String text) {
  final clean = text.replaceAll(RegExp(r'\s+'), '').toUpperCase();
  if (clean.length.isOdd) {
    throw XPathEvaluationException(
      XPathErrorCode.FORG0001,
      'Invalid hex length: ${clean.length}',
    );
  }
  final bytes = Uint8List(clean.length ~/ 2);
  for (var i = 0; i < bytes.length; i++) {
    bytes[i] = int.parse(clean.substring(i * 2, i * 2 + 2), radix: 16);
  }
  return XPathBinary(bytes, xsHexBinary);
}