public ListDefinition CreateListDefinition(string name, MultiLevelType multiLevelType, string?nsid = null, string?tmpl = null, bool?restartNumberingAfterBreak = null) { var root = GetOrCreatePackagePartAndDocumentRoot(); var abstractNumId = GetMaxAbstractNumId() + 1; var xml = new XElement(Namespaces.w + "abstractNum", new XAttribute(Namespaces.w + "abstractNumId", abstractNumId), new XElement(Namespaces.w + "name", new XAttribute(Namespaces.w + "val", name)), new XElement(Namespaces.w + "nsid", new XAttribute(Namespaces.w + "val", nsid ?? "")), new XElement(Namespaces.w + "tmpl", new XAttribute(Namespaces.w + "val", tmpl ?? "")), new XElement(Namespaces.w + "multiLevelType", new XAttribute(Namespaces.w + "val", multiLevelType.ToCamelCase())) ); if (restartNumberingAfterBreak.HasValue) { xml.SetAttributeValue(Namespaces.w + "restartNumberingAfterBreak", restartNumberingAfterBreak); } root.Add(xml); return(new ListDefinition(xml)); }