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 includes) {
    final ns = p.namespace;
    if (ns != null) nsmgr.generate(ns);
  }
  context.element(
    WebDavElementNames.propfind,
    namespace: davns,
    namespaces: Map.fromEntries(nsmgr.all),
    nest: () {
      context.element(WebDavElementNames.allprop, namespace: davns);
      if (_includes != null) {
        context.element(
          WebDavElementNames.include,
          namespace: davns,
          nest: () {
            for (var prop in _includes ?? const []) {
              prop.toXml(context, nsmgr);
            }
          },
        );
      }
    },
  );
}