tsacdop-podcast-app-android/lib/webfeed/domain/dublin_core/dublin_core.dart

62 lines
1.8 KiB
Dart

import '../../util/helpers.dart';
import 'package:xml/xml.dart';
class DublinCore {
final String title;
final String description;
final String creator;
final String subject;
final String publisher;
final String contributor;
final String date;
final String type;
final String format;
final String identifier;
final String source;
final String language;
final String relation;
final String coverage;
final String rights;
DublinCore({
this.title,
this.description,
this.creator,
this.subject,
this.publisher,
this.contributor,
this.date,
this.type,
this.format,
this.identifier,
this.source,
this.language,
this.relation,
this.coverage,
this.rights,
});
factory DublinCore.parse(XmlElement element) {
if (element == null) {
return null;
}
return DublinCore(
title: findElementOrNull(element, "dc:title")?.text,
description: findElementOrNull(element, "dc:description")?.text,
creator: findElementOrNull(element, "dc:creator")?.text,
subject: findElementOrNull(element, "dc:subject")?.text,
publisher: findElementOrNull(element, "dc:publisher")?.text,
contributor: findElementOrNull(element, "dc:contributor")?.text,
date: findElementOrNull(element, "dc:date")?.text,
type: findElementOrNull(element, "dc:type")?.text,
format: findElementOrNull(element, "dc:format")?.text,
identifier: findElementOrNull(element, "dc:identifier")?.text,
source: findElementOrNull(element, "dc:source")?.text,
language: findElementOrNull(element, "dc:language")?.text,
relation: findElementOrNull(element, "dc:relation")?.text,
coverage: findElementOrNull(element, "dc:coverage")?.text,
rights: findElementOrNull(element, "dc:rights")?.text,
);
}
}