parse static method

Item? parse(
  1. XmlNode element,
  2. String filePath,
  3. Map<String, String> prefixMap
)

Implementation

static Item? parse(
    XmlNode element, String filePath, Map<String, String> prefixMap) {
  String? href = element
      .getAttribute("href")
      ?.let((it) => Href(it, baseHref: filePath).string);
  if (href == null) {
    return null;
  }
  String propAttr = element.getAttribute("properties") ?? "";
  List<String> properties = parseProperties(propAttr)
      .mapNotNull((it) =>
          resolveProperty(it, prefixMap, defaultVocab: DefaultVocab.item))
      .toList();
  return Item(
      href: href,
      id: element.id,
      fallback: element.getAttribute("fallback"),
      mediaOverlay: element.getAttribute("media-overlay"),
      mediaType: element.getAttribute("media-type"),
      properties: properties);
}