Inheritance: IXmlEncoder
        public void should_have_correct_root_element()
        {
            var metadata = Library.Blank();
            var xml = new XmlEncoder().Create(Guid.NewGuid(), metadata);

            string root = XName.Get("MD_Metadata", "http://www.isotc211.org/2005/gmd").ToString();
            xml.Should().HaveRoot(root);
        }
Esempio n. 2
0
        public HttpResponseMessage Get(Guid id)
        {
            var record = db.Load<Record>(id);

            var xml = new XmlEncoder().Create(record.Id, record.Gemini);
            var result = new HttpResponseMessage(HttpStatusCode.OK) { Content = new StringContent(xml.ToString()) };

            result.Content.Headers.ContentDisposition = new ContentDispositionHeaderValue("attachment")
            {
                FileName = "topcat-record-" + record.Id.ToString().ToLower() + ".xml"
            };
            result.Content.Headers.ContentType = new MediaTypeHeaderValue("application/xml");

            return result;
        }
        public void should_be_valid_gemini()
        {
            // without this we get an error message 417
            // http://stackoverflow.com/questions/566437/http-post-returns-the-error-417-expectation-failed-c
            ServicePointManager.Expect100Continue = false;

            // start with the example document
            Metadata metadata = Library.Example();

            // ...encode it into xml
            XDocument doc = new XmlEncoder().Create(new Guid("b97aac01-5e5d-4209-b626-514e40245bc1"), metadata);

            // ...validate it with the CEH validator
            ValidationResultSet result = new Validator().Validate(doc);

            // IGNORE MEDIN VALIDATION ERRORS
            result.Results.Single(r => r.Validation.StartsWith("GEMINI2"))
                .Valid
                .Should().BeTrue();
        }