private static void GetRootItem([NotNull] XmlNode child, [NotNull] Field field) { Assert.ArgumentNotNull(child, nameof(child)); Assert.ArgumentNotNull(field, nameof(field)); var root = child.SelectSingleNode(@"root/item"); if (root == null) { return; } var databaseUri = field.FieldUris.First().ItemVersionUri.ItemUri.DatabaseUri; var urlString = new UrlString(field.Source); var databaseName = urlString[@"databasename"]; if (!string.IsNullOrEmpty(databaseName)) { databaseUri = new DatabaseUri(databaseUri.Site, new DatabaseName(databaseName)); } field.Root = GetItemHeader.Call(root, databaseUri); }
private static void GetBaseTemplates([NotNull] XmlElement root, [NotNull] Item item) { Assert.ArgumentNotNull(root, nameof(root)); Assert.ArgumentNotNull(item, nameof(item)); item.BaseTemplates = new List <ItemHeader>(); var templates = root.SelectNodes(@"/basetemplates/template"); if (templates == null) { return; } foreach (XmlNode template in templates) { item.BaseTemplates.Add(GetItemHeader.Call(template, item.Uri.ItemUri.DatabaseUri)); } }