public static IEnumerable <Metadata> MetaList(IList <XElement> metaList) { if (metaList == null || metaList.Count == 0) { yield break; } foreach (var item in metaList) { switch (item.Name.LocalName) { case "oai_dc": yield return(DublinCore.Decode(item)); break; case "provenance": yield return(Provenance.Decode(item)); break; case "pan_simple": yield return(PanSimple.Decode(item)); break; // TODO: Add format here default: break; } } }
public static IEnumerable <XElement> MetaList(string containerName, IList <Metadata> metaList, string granularity) { if (string.IsNullOrEmpty(containerName) || metaList == null || metaList.Count == 0 || string.IsNullOrEmpty(granularity)) { yield break; } foreach (var metaItem in metaList) { switch (FormatList.Int2Format(metaItem.MdFormat)) { case Enums.MetadataFormats.DublinCore: yield return(new XElement(containerName, DublinCore.Encode(metaItem, granularity))); break; case Enums.MetadataFormats.PanSimple: yield return(new XElement(containerName, PanSimple.Encode(metaItem, granularity))); break; case Enums.MetadataFormats.Provenance: yield return(new XElement(containerName, Provenance.Encode(metaItem, granularity))); break; // TODO: Add format here case Enums.MetadataFormats.None: default: break; } } }
public static XElement Metadata(string containerName, Metadata metadata, string granularity) { if (string.IsNullOrEmpty(containerName) || metadata == null || string.IsNullOrEmpty(granularity)) { return(null); } switch (FormatList.Int2Format(metadata.MdFormat)) { case Enums.MetadataFormats.DublinCore: return(new XElement(containerName, DublinCore.Encode(metadata, granularity))); case Enums.MetadataFormats.PanSimple: return(new XElement(containerName, PanSimple.Encode(metadata, granularity))); case Enums.MetadataFormats.Provenance: return(new XElement(containerName, Provenance.Encode(metadata, granularity))); // TODO: Add format here case Enums.MetadataFormats.None: default: return(null); } }
public static Metadata Metadata(XElement metadata, string format) { if (metadata == null || string.IsNullOrEmpty(format)) { return(null); } switch (format) { case "oai_dc": return(DublinCore.Decode(metadata)); case "provenance": return(Provenance.Decode(metadata)); case "pan_simple": return(PanSimple.Decode(metadata)); // TODO: Add format here default: return(null); } }