toXml method

  1. @override
void toXml(
  1. XmlBuilder context,
  2. NamespaceManager nsmgr
)
override

Implementation

@override
void toXml(XmlBuilder context, NamespaceManager nsmgr) {
  const davns = kDavNamespaceUrlStr;
  nsmgr.generate(davns);
  for (var p in props) {
    final ns = p.namespace;
    if (ns != null) nsmgr.generate(ns);
  }
  context.element(
    WebDavElementNames.propfind,
    namespace: davns,
    namespaces: Map.fromEntries(nsmgr.all.where((e) => e.value.isNotEmpty)),
    nest: () {
      context.element(
        WebDavElementNames.prop,
        namespace: davns,
        nest: () {
          for (var prop in _props ?? const []) {
            prop.toXml(context, nsmgr);
          }
        },
      );
    },
  );
}