public static SchemaResult From(SchemaData item, string currentUserId) { var result = new SchemaResult { Description = TextEntry.From(item.Description, Resources.LabelDescription), Namespace = TextEntry.From(item.NamespaceUri, Resources.LabelNamespace), RootElementName = TextEntry.From(item.RootElementName, Resources.LabelRootElementName) }; AddFieldsSummary(item, result); AddCommonProperties(item, result); AddPropertiesForRepositoryLocalObject(item, result, currentUserId); return(result); }
public static SchemaResult From(SchemaData item, string currentUserId) { var result = new SchemaResult { Description = TextEntry.From(item.Description, Resources.LabelDescription), Namespace = TextEntry.From(item.NamespaceUri, Resources.LabelNamespace), RootElementName = TextEntry.From(item.RootElementName, Resources.LabelRootElementName) }; AddFieldsSummary(item, result); AddCommonProperties(item, result); AddPropertiesForRepositoryLocalObject(item, result, currentUserId); return result; }
private static void AddFieldsSummary(SchemaData schema, SchemaResult result) { try { XDocument doc = XDocument.Parse(schema.Xsd); const string nameAttr = "name"; if (!string.IsNullOrWhiteSpace(schema.RootElementName)) { var rootElement = doc.Descendants(schemaFields).FirstOrDefault(e => e.Attribute(nameAttr) != null && e.Attribute(nameAttr).Value == schema.RootElementName); result.FieldsSummary = TextEntry.From(GetFieldSummary(rootElement, Resources.None), Resources.LabelFieldsSummary); } bool expectFields = (schema.Purpose == SchemaPurpose.Metadata || schema.Purpose == SchemaPurpose.Multimedia || schema.Purpose == SchemaPurpose.Bundle); var metadataRoot = doc.Descendants(schemaFields).FirstOrDefault(e => e.Attribute(nameAttr) != null && e.Attribute(nameAttr).Value == "Metadata"); result.MetadataFieldsSummary = TextEntry.From(GetFieldSummary(metadataRoot, expectFields ? Resources.None : null), Resources.LabelMetadataFieldsSummary); } catch (System.Xml.XmlException) { } }
private static void AddFieldsSummary(SchemaData schema, SchemaResult result) { try { XDocument doc = XDocument.Parse(schema.Xsd); const string nameAttr = "name"; if (!string.IsNullOrWhiteSpace(schema.RootElementName)) { var rootElement = doc.Descendants(schemaFields).FirstOrDefault(e => e.Attribute(nameAttr) != null && e.Attribute(nameAttr).Value == schema.RootElementName); result.FieldsSummary = TextEntry.From(GetFieldSummary(rootElement, Resources.None), Resources.LabelFieldsSummary); } bool expectFields = (schema.Purpose == SchemaPurpose.Metadata || schema.Purpose == SchemaPurpose.Multimedia || schema.Purpose == SchemaPurpose.Bundle); var metadataRoot = doc.Descendants(schemaFields).FirstOrDefault(e => e.Attribute(nameAttr) != null && e.Attribute(nameAttr).Value == "Metadata"); result.MetadataFieldsSummary = TextEntry.From(GetFieldSummary(metadataRoot, expectFields ? Resources.None : null), Resources.LabelMetadataFieldsSummary); } catch (System.Xml.XmlException) { } }