private void MovePageNumber(XElement pageNumSpan) { var parent = pageNumSpan.Parent; if (parent == null || parent == Body || BlockContainerNames.Contains(parent.Name)) { return; } pageNumSpan.Remove(); parent.AddAfterSelf(pageNumSpan); MovePageNumber(pageNumSpan); }
private IEnumerable <XElement> ExpandBlockContainers(XElement elem) { if (elem == null) { throw new ArgumentNullException(nameof(elem)); } if (BlockContainerNames?.Contains(elem.Name) ?? false) { if (elem.Nodes().OfType <XText>().Any(t => !String.IsNullOrWhiteSpace(t.Value))) { var lineInfo = (IXmlLineInfo)elem; throw new InvalidOperationException( $"Div element with mixed or pure text content not supported ({lineInfo})"); } return(elem.Elements().SelectMany(ExpandBlockContainers)); } return(new[] { elem }); }