requireRootElement function

XmlElementNode requireRootElement(
  1. XmlElementNode element,
  2. String localName, {
  3. String? namespace,
})

Implementation

XmlElementNode requireRootElement(
  final XmlElementNode element,
  final String localName, {
  final String? namespace,
}) {
  final bool localOk = element.name.local == localName;
  final bool nsOk = namespace == null || element.name.namespaceUri == namespace;
  if (localOk && nsOk) return element;
  final String? prefix = element.name.prefix;
  final String got = prefix == null
      ? element.name.local
      : '$prefix:${element.name.local}';
  final String? uri = element.name.namespaceUri;
  throw XmlDeserializationException(
    'expected root <$localName>'
    '${namespace == null ? '' : ' in $namespace'}, got <$got>'
    '${uri == null ? ' (no namespace)' : ' in $uri'}',
  );
}