示例#1
0
        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);
        }
示例#2
0
        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
                )
            );
        }
示例#3
0
        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
                             )
                );
        }
示例#4
0
 public OpfFile(OpfMetadata metadata)
 {
     Init(metadata);
 }
示例#5
0
        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;
        }
示例#6
0
 public OpfFile(OpfMetadata metadata)
 {
     Init(metadata);
 }