NclDocument.fromContent constructor

NclDocument.fromContent(
  1. String xml, {
  2. String? docSrc,
  3. GingaCC? gingacc,
})

Implementation

factory NclDocument.fromContent(
  String xml, {
  String? docSrc,
  GingaCC? gingacc,
}) {
  if (xml.trim().isEmpty) {
    throw ArgumentError('empty src');
  }
  final resolvedDocSrc = docSrc ?? 'tmp.ncl';
  _logger.fine('Creating NclDocument from content (src: $resolvedDocSrc)');
  final cc = gingacc ?? GingaCC();
  final Uri? resolvedUri = docSrc != null ? cc.resolveUri(docSrc) : null;
  final (head, body) = NclParser(
    docUri: resolvedUri,
  ).parseString(xml);
  return NclDocument._(
    head: head,
    body: body,
    docSrc: resolvedDocSrc,
    docUri: resolvedUri,
    gingacc: cc,
  );
}