// for list item sources that use numStyleLink, there are two abstractId values. // The abstractId that is use is in num->abstractNum->numStyleLink->style->num->abstractNum public ListItemSource(XDocument numXDoc, XDocument stylesXDoc, int numId) { Main = new ListItemSourceSet(numXDoc, stylesXDoc, numId); NumStyleLinkName = (string)Main .AbstractNum .Elements(W.numStyleLink) .Attributes(W.val) .FirstOrDefault(); if (NumStyleLinkName != null) { var numStyleLinkNumId = (int?)stylesXDoc .Root .Elements(W.style) .Where(s => (string)s.Attribute(W.styleId) == NumStyleLinkName) .Elements(W.pPr) .Elements(W.numPr) .Elements(W.numId) .Attributes(W.val) .FirstOrDefault(); if (numStyleLinkNumId != null) { NumStyleLink = new ListItemSourceSet(numXDoc, stylesXDoc, (int)numStyleLinkNumId); } } }
// for list item sources that use numStyleLink, there are two abstractId values. // The abstractId that is use is in num->abstractNum->numStyleLink->style->num->abstractNum public ListItemSource(XDocument numXDoc, XDocument stylesXDoc, int numId) { Main = new ListItemSourceSet(numXDoc, stylesXDoc, numId); NumStyleLinkName = (string)Main .AbstractNum .Elements(W.numStyleLink) .Attributes(W.val) .FirstOrDefault(); if (NumStyleLinkName != null) { var numStyleLinkNumId = (int?)stylesXDoc .Root .Elements(W.style) .Where(s => (string)s.Attribute(W.styleId) == NumStyleLinkName) .Elements(W.pPr) .Elements(W.numPr) .Elements(W.numId) .Attributes(W.val) .FirstOrDefault(); if (numStyleLinkNumId != null) NumStyleLink = new ListItemSourceSet(numXDoc, stylesXDoc, (int)numStyleLinkNumId); } }