Książki elektroniczne
Do systemu elibri są dodawane zarówno e-booki, jak i audiobooki. E-book może być dostępny w jednym lub większej ilości formatów, na przykład::
<Product> <DescriptiveDetail> <ProductForm>EA</ProductForm> <!-- e-book --> <ProductFormDetail>E101</ProductFormDetail> <!-- EPUB --> <ProductFormDetail>E127</ProductFormDetail> <!-- Mobipocket --> </DescriptiveDetail> </Product>
Audiobook ma zawsze tylko jeden format, jest nim albo archiwum zip z zapakowanymi w nim plikami mp3, albo format Audiobook W3C, czyli też archiwum zip z plikami, ale dodatkowo uzupełniony o plik json z manifestem.
<Product> <DescriptiveDetail> <ProductForm>AJ</ProductForm> <!-- audiobook w formie pliku --> <ProductFormDetail>A113</ProductFormDetail> <!-- Audiobook W3C (LPF) --> </DescriptiveDetail> </Product>
ProductFormDetail
zawiera informację o formacie pliku e-booka lub audiobooka:
Wartość | Opis |
---|---|
E101 (EPUB) |
EPUB |
E107 (PDF) |
PDF |
E127 (MOBIPOCKET) |
Mobipocket |
A103 (MP3) |
Pliki MP3 w archiwum ZIP |
A113 (LPF) |
Audiobook W3C (LPF) |
Wydawnictwa mogą podać również datę, po której e-book czy audiobook cyfrowy automatycznie zostaną wycofane ze sprzedaży. Używana jest do tego, podobnie jak to podania daty premiery,
struktura w PublishingDate
. PublishingDateRole
może przyjmować wartości:
Wartość | Opis |
---|---|
01 (PUBLICATION_DATE) |
data publikacji |
13 (OUT_OF_PRINT_DATE) |
data, po której książka zostanie wycofana z rynku |
<Product> <PublishingDetail> <PublishingDate> <PublishingDateRole>01</PublishingDateRole> <!-- data publikacji --> <Date dateformat="00">20210307</Date> </PublishingDate> <PublishingDate> <PublishingDateRole>13</PublishingDateRole> <!-- data, po której książka zostanie wycofana z rynku --> <Date dateformat="00">20340307</Date> </PublishingDate> </PublishingDetail> </Product>
Audiobook W3C (LPF)
Format ten jest odpowiedzią na problem braku standardu przekazywania metadanych dla plików wchodzących w skład audiooboka. Nagranie ksiażki jest zwyczajowo dystrybuowane jako plik zip zawierający pliki mp3 z uzupełnionymi znacznikami (tytuł, artysta, album). W praktyce jednak nie działa to zbyt dobrze. Nowy standard rozwiązuje te problemy. Z perspektywy polskiego runku dwa problemy są najważniejsze: wydawca może przekazać spis treści audiobooka oraz załączyć dodatkowe dodatkowe pliki. Obie te informajce zostaną umieszczone w manifeście (plik package.json). Stworzyliśmy również bezpłatne narzędzie pozwalające na pakowanie audiobooków w nowym formacie: https://bookery.pl/w3c_audiobook_packager
Oto przykładowy manifest:
{ "@context": [ "https://schema.org", "https://www.w3.org/ns/pub-context", { "language": "pl", "direction": "ltr" } ], "conformsTo": "https://www.w3.org/TR/audiobooks/", "type": "Audiobook", "accessMode": "auditory", "accessibilityFeature": [ "readingOrder", "unlocked" ], "accessModeSufficient": [ { "type": "ItemList", "itemListElement": [ "auditory" ], "description": "Audio" } ], "id": "0d1c3367-2771-4cd4-b00d-aa6f099c140c", "duration": "PT1H17M58S", "name": "Wojna biedaków", "author": "Éric Vuillard", "readBy": "Waldemar Barwiński", "publisher": "Wydawnictwo Literackie", "inLanguage": "pl", "readingOrder": [ { "url": "001-i-dzieje-to-ma-sza-mun-zera.mp3", "encodingFormat": "audio/mpeg", "duration": "PT5M19S", "name": "I. Dzieje Tomasza Münzera" }, { "url": "002-ii-zwic-kau.mp3", "encodingFormat": "audio/mpeg", "duration": "PT4M9S", "name": "II. Zwickau" }, { "url": "003-iii-bog-i-lud-mo-wia-tym-sa-mym-je-zy-kiem.mp3", "encodingFormat": "audio/mpeg", "duration": "PT19M7S", "name": "III. Bóg i lud mówią tym samym językiem" }, { "url": "004-iv-w-cze-chach.mp3", "encodingFormat": "audio/mpeg", "duration": "PT5M19S", "name": "IV. W Czechach" }, { "url": "005-v-caly-swiat.mp3", "encodingFormat": "audio/mpeg", "duration": "PT3M", "name": "V. Cały świat" }, { "url": "006-vi-slowo.mp3", "encodingFormat": "audio/mpeg", "duration": "PT2M16S", "name": "VI. Słowo" }, { "url": "007-vii-ka-za-nie-do-ksia-zat.mp3", "encodingFormat": "audio/mpeg", "duration": "PT4M49S", "name": "VII. Kazanie do książąt" }, { "url": "008-viii-lato-stoi-u-progu.mp3", "encodingFormat": "audio/mpeg", "duration": "PT3M49S", "name": "VIII. Lato stoi u progu" }, { "url": "009-ix-bunt-zwy-klego-czlo-wieka.mp3", "encodingFormat": "audio/mpeg", "duration": "PT10M26S", "name": "IX. Bunt zwykłego człowieka" }, { "url": "010-x-ostat-nie-li-sty.mp3", "encodingFormat": "audio/mpeg", "duration": "PT4M24S", "name": "X. Ostatnie listy" }, { "url": "011-xi-slowa.mp3", "encodingFormat": "audio/mpeg", "duration": "PT2M54S", "name": "XI. Słowa" }, { "url": "012-xii-bi-twa-pod-fran-ken-hau-sen.mp3", "encodingFormat": "audio/mpeg", "duration": "PT6M9S", "name": "XII. Bitwa pod Frankenhausen" }, { "url": "013-xiii-mun-zer-sciety.mp3", "encodingFormat": "audio/mpeg", "duration": "PT6M17S", "name": "XIII. Münzer ścięty" } ], "resources": [ { "rel": "cover", "url": "cover.jpeg", "encodingFormat": "image/jpeg" }, { "url": "map.jpeg", "encodingFormat": "image/jpeg", "name": "Mapa Czech" } ] }
Fragmenty książek cyfrowych
W przypadku e-booków i audiobooków dołączana jest również informacja o plikach towarzyszących książce (jeśli tylko zostaną wgrane przez wydawcę).
Fragmenty książki są reprezentowane identycznie jak załączniki,
przy czym ResourceContentType
ma wartość 15 (fragment publikacji), a linki do poszczególnych formatów są umieszczone w ResourceVersion
.
W ResourceLink
jest bezpośredni link do pliku, a wartości w ResourceVersionFeature
oraz ContentDate
pozwalają sprawdzić, czy posiadają Państwo
u siebie aktualną wersję pliku. Proszę nie linkować bezpośrednio do serwera elibri.
<Product> <CollateralDetail> <SupportingResource> <ResourceContentType>15</ResourceContentType> <!-- fragment książki --> <ContentAudience>00</ContentAudience> <!-- brak ograniczeń --> <ResourceMode>04</ResourceMode> <!-- tekst --> <ResourceVersion> <ResourceForm>02</ResourceForm> <!-- plik do pobrania --> <ResourceVersionFeature> <ResourceVersionFeatureType>01</ResourceVersionFeatureType> <!-- format pliku --> <FeatureValue>E101</FeatureValue> <!-- EPUB --> </ResourceVersionFeature> <ResourceVersionFeature> <ResourceVersionFeatureType>06</ResourceVersionFeatureType> <!-- wartość hasha md5 --> <FeatureValue>4b145ff46636b06f49225abdab70927f</FeatureValue> </ResourceVersionFeature> <ResourceVersionFeature> <ResourceVersionFeatureType>07</ResourceVersionFeatureType> <!-- rozmiar w bajtach --> <FeatureValue>2100230</FeatureValue> </ResourceVersionFeature> <ResourceLink> https://www.elibri.com.pl/excerpt/767/fragment.epub </ResourceLink> <ContentDate> <ContentDateRole>17</ContentDateRole> <!-- zawsze: data ostatniej aktualizacji --> <Date dateformat="13">20121230T1518Z</Date> </ContentDate> </ResourceVersion> <ResourceVersion> <ResourceForm>02</ResourceForm> <!-- plik do pobrania --> <ResourceVersionFeature> <ResourceVersionFeatureType>01</ResourceVersionFeatureType> <!-- format pliku --> <FeatureValue>E127</FeatureValue> <!-- Mobipocket --> </ResourceVersionFeature> <ResourceVersionFeature> <ResourceVersionFeatureType>06</ResourceVersionFeatureType> <!-- wartość hasha md5 --> <FeatureValue>6f534ab6ab573845bb7ab221192aa86a</FeatureValue> </ResourceVersionFeature> <ResourceVersionFeature> <ResourceVersionFeatureType>07</ResourceVersionFeatureType> <!-- rozmiar w bajtach --> <FeatureValue>2101254</FeatureValue> </ResourceVersionFeature> <ResourceLink> https://www.elibri.com.pl/excerpt/768/fragment.mobi </ResourceLink> <ContentDate> <ContentDateRole>17</ContentDateRole> <!-- zawsze: data ostatniej aktualizacji --> <Date dateformat="13">20121230T1516Z</Date> </ContentDate> </ResourceVersion> </SupportingResource> </CollateralDetail> </Product>
ResourceVersionFeatureType
może przyjmować wartości:
Wartość | Opis |
---|---|
01 (FILE_FORMAT) |
format pliku |
06 (MD5_HASH_VALUE) |
wartość hasha md5 |
07 (SIZE_IN_BYTES) |
rozmiar w bajtach |
Informacja o masterach
W opisie produktu można również znaleźć informację, czy wydawca wgrał do kartoteki produktu tzw. pliki master, a więc pliki, które będą sprzedawane (po zwatermarkowaniu). Przy każdym pliku jest podana jego suma kontrolna md5 oraz data wgrania pliku.
<Product> <ProductionDetail> <ProductionManifest> <BodyManifest> <BodyResource> <SequenceNumber>1</SequenceNumber> <ResourceIdentifier> <ResourceIDType>01</ResourceIDType> <!-- zawsze: wewnętrzny identyfikator --> <IDTypeName>elibri internal numerical ID</IDTypeName> <IDValue>765</IDValue> </ResourceIdentifier> <ResourceFileFeature> <ResourceFileFeatureType>07</ResourceFileFeatureType> <!-- dokładny rozmiar pliku --> <ResourceFileFeatureValue>4197382</ResourceFileFeatureValue> </ResourceFileFeature> <ResourceFileFeature> <ResourceFileFeatureType>06</ResourceFileFeatureType> <!-- md5 --> <ResourceFileFeatureValue>e9353ce40eaa677f8c5d666c2f8bbb3f</ResourceFileFeatureValue> </ResourceFileFeature> <ResourceFileLink>ebook.epub</ResourceFileLink> <ResourceFileDate> <ResourceFileDateRole>17</ResourceFileDateRole> <!-- zawsze: data ostatniej aktualizacji --> <Date dateformat="13">20121230T1518Z</Date> </ResourceFileDate> </BodyResource> <BodyResource> <SequenceNumber>2</SequenceNumber> <ResourceIdentifier> <ResourceIDType>01</ResourceIDType> <!-- zawsze: wewnętrzny identyfikator --> <IDTypeName>elibri internal numerical ID</IDTypeName> <IDValue>766</IDValue> </ResourceIdentifier> <ResourceFileFeature> <ResourceFileFeatureType>07</ResourceFileFeatureType> <!-- dokładny rozmiar pliku --> <ResourceFileFeatureValue>5246982</ResourceFileFeatureValue> </ResourceFileFeature> <ResourceFileFeature> <ResourceFileFeatureType>06</ResourceFileFeatureType> <!-- md5 --> <ResourceFileFeatureValue>d2c75a26973a1888f241125717b166cf</ResourceFileFeatureValue> </ResourceFileFeature> <ResourceFileLink>ebook.mobi</ResourceFileLink> <ResourceFileDate> <ResourceFileDateRole>17</ResourceFileDateRole> <!-- zawsze: data ostatniej aktualizacji --> <Date dateformat="13">20121230T1516Z</Date> </ResourceFileDate> </BodyResource> </BodyManifest> </ProductionManifest> </ProductionDetail> </Product>
ResourceFileFeatureType
może przyjmować wartości:
Wartość | Opis |
---|---|
06 (MD5) |
md5 |
07 (EXACT_FILE_SIZE) |
dokładny rozmiar pliku |
E-prasa
Prasa w wydaniu elektronicznym ma identyczny format, jak e-book, z dwoma wyjątkami: wydanie prasy ma numer ISSN (w poniższym przykładzie 0137-8929), na ogół nie ma też numeru ISBN.
<Product> <RecordReference>fdb8fa072be774d97a97</RecordReference> <DescriptiveDetail> <ProductComposition>00</ProductComposition> <!-- zawsze: samodzielny produkt --> <ProductForm>EA</ProductForm> <!-- e-book --> <Collection> <CollectionType>10</CollectionType> <!-- zawsze: kolekcja wydawnictwa --> <CollectionIdentifier> <CollectionIDType>02</CollectionIDType> <IDValue>0137-8929</IDValue> </CollectionIdentifier> <TitleDetail> <TitleType>01</TitleType> <!-- tytuł --> <TitleElement> <TitleElementLevel>02</TitleElementLevel> <!-- kolekcja --> <PartNumber>10/2014</PartNumber> <TitleText>Wiedza i Życie</TitleText> </TitleElement> </TitleDetail> </Collection> <TitleDetail> <TitleType>01</TitleType> <!-- tytuł --> <TitleElement> <TitleElementLevel>01</TitleElementLevel> <!-- produkt --> <TitleText language="pol">Wiedza i życie 10/2014</TitleText> </TitleElement> </TitleDetail> <TitleDetail> <TitleType>10</TitleType> <!-- tytuł wydawcy --> <TitleElement> <TitleElementLevel>01</TitleElementLevel> <!-- produkt --> <TitleText>WIEDZIA I ŻYCIE 10/2014</TitleText> </TitleElement> </TitleDetail> </DescriptiveDetail> </Product>