private XElement CreateMetadata(OpfMetadata metadata) { XElement element = new XElement(XMLNS + "metadata", new XAttribute(XNamespace.Xmlns + "dc", DC), new XElement(DC + metadata.Identifier.Name, new XAttribute("id", "uid"), new XText(metadata.Identifier.Text))); element.Add(CreateMetadataElements( metadata.Title, metadata.Language, metadata.Contributor, metadata.Coverage, metadata.Creator, metadata.Date, metadata.Description, metadata.Format, metadata.Publisher, metadata.Relation, metadata.Rights, metadata.Source, metadata.Subject, metadata.Type ).Cast <object>().ToArray()); element.Add(metadata.Meta.Select(p => new XElement("meta", new XAttribute("property", p.Property), new XAttribute("refines", p.Refines), new XAttribute("id", p.Id), new XAttribute("scheme", p.Scheme), new XText(p.Text) ) )); return(element); }
private void Init(OpfMetadata metadata) { _metadata = CreateMetadata(metadata); _manifest = new XElement(XMLNS + "manifest"); _spine = new XElement(XMLNS + "spine"); Document = new XDocument( new XElement(XMLNS + "package", new XAttribute("version", "3.0"), new XAttribute("unique-identifier", "uid"), _metadata, _manifest, _spine ) ); }
public OpfFile(OpfMetadata metadata) { Init(metadata); }
private XElement CreateMetadata(OpfMetadata metadata) { XElement element = new XElement(XMLNS + "metadata", new XAttribute(XNamespace.Xmlns + "dc", DC), new XElement(DC + metadata.Identifier.Name, new XAttribute("id", "uid"), new XText(metadata.Identifier.Text))); element.Add(CreateMetadataElements( metadata.Title, metadata.Language, metadata.Contributor, metadata.Coverage, metadata.Creator, metadata.Date, metadata.Description, metadata.Format, metadata.Publisher, metadata.Relation, metadata.Rights, metadata.Source, metadata.Subject, metadata.Type ).Cast<object>().ToArray()); element.Add(metadata.Meta.Select(p => new XElement("meta", new XAttribute("property", p.Property), new XAttribute("refines", p.Refines), new XAttribute("id", p.Id), new XAttribute("scheme", p.Scheme), new XText(p.Text) ) )); return element; }