コード例 #1
0
        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;
                }
            }
        }
コード例 #2
0
ファイル: MlEncode.cs プロジェクト: BEXIS2/OAI-PMH-Module
        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;
                }
            }
        }
コード例 #3
0
ファイル: MlEncode.cs プロジェクト: BEXIS2/OAI-PMH-Module
        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);
            }
        }
コード例 #4
0
        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);
            }
        }