isValidQName function

bool isValidQName(
  1. String s
)

Checks whether s is a valid lexical QName (either NCName or NCName:NCName).

Implementation

bool isValidQName(String s) {
  final colonIndex = s.indexOf(':');
  if (colonIndex == -1) return isValidNCName(s);
  if (s.indexOf(':', colonIndex + 1) != -1) return false;
  return isValidNCName(s.substring(0, colonIndex)) &&
      isValidNCName(s.substring(colonIndex + 1));
}