Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

TEI Header - Špecifikácia #4

Open
psekan opened this issue Aug 10, 2021 · 7 comments
Open

TEI Header - Špecifikácia #4

psekan opened this issue Aug 10, 2021 · 7 comments
Assignees

Comments

@psekan
Copy link

psekan commented Aug 10, 2021

V nadväznosti na issue #2 je potrebné definovať, aký obsah má mať element teiHeader a odkiaľ majú byť čerpané dáta do jeho podčastí. Momentálne má element nasledujúcu štruktúru:

  <teiHeader>
    <fileDesc>
      <titleStmt>
        <title>${title}</title>
        <author>
          <orgName>${orgName}</orgName>
          <persName>${persName}</persName>
          <idno type="mods:nameIdentifier">${nameIdentifier}</idno>
        </author>
      </titleStmt>
      <extent>${extent}</extent>
      <publicationStmt>
        <publisher>${publisher}</publisher>
        <pubPlace>${place}</pubPlace>
        <date>${date}</date>
{for identifiers as type => value}
        <idno type="mods:${type}">${value}</idno>
{/for}
        <availability>
          <licence resp="#NameTag">CC BY-NC-SA</licence>
        </availability>
        <availability>
          <licence resp="#UDPipe">CC BY-NC-SA</licence>
        </availability>
      </publicationStmt>
      <sourceDesc>
        <bibl/>
      </sourceDesc>
    </fileDesc>
    <profileDesc>
      <textClass>
        <classCode scheme="https://ufal.mff.cuni.cz/nametag/2/models">
          <interpGrp>
...
          </interpGrp>
        </classCode>
      </textClass>
      <langUsage>
        <language ident="${lang}">${lang}</language>
      </langUsage>
    </profileDesc>
  </teiHeader>

Obsah elementu interpGrp je fixný podľa ukážky TEI od @daliboris v #2 .
Namiesto výrazov ${...} sa vkladajú príslušne hodnoty, ktoré sú momentálne vyťahované z formátu MODS. Tie sme dedukovali pomocou reverzného inžinierstva zo spomínanej ukážky nasledovne:

Výraz element z MODS formátu
title /mods/titleInfo/title
orgName /mods/name/namePart - vypĺňa sa len ak /mods/name[@type='corporate']
persName /mods/name/namePart - vypĺňa sa len ak /mods/name[not(@type='corporate')]
nameIdentifier /mods/name/nameIdentifier
extent /mods/physicalDescription/extent
publisher /mods/originInfo/publisher
place /mods/originInfo/place/placeTerm[@type='text']
date /mods/originInfo/dateIssued
identifiers vytiahnuté pole údajov z elementov /mods/identifier
lang /mods/language/languageTerm

Prosíme o potvrdenie, či:

  • je aktuálna verzia správna a konečná, alebo sa bude ešte rozširovať o nejaké elementy
  • údaje sú správne vyťahované z MODS formátu a zo správnych častí tohto formátu, alebo má byť využitý iný formát (FOXML, MARC, ...)
  • ak z MODS danú hodnotu nie sme schopní vytiahnuť (napríklad element /mods/physicalDescription/extent neexistuje), má byť element v TEI, do ktorého sa daná hodnota dopĺňa prázdny, alebo odmazaný
  • atribút ident elementu language má mať rovnakú hodnotu ako obsah daného elementu
  • element fileDesc/sourceDesc/bibl má byť prázdny?
@bodnarIQ
Copy link

Doplňujúci dotaz ohľadom elementu /mods/identifier

V MODS pre publikáciu s ID: uuid:319546a0-5a42-11eb-b4d1-005056827e51 - Protokol ... veřejné schůze bratrstva sv. Michala v Praze dne majú niektoré elementy identifikátorov atribút invalid="yes", inde naopak chýbajú. Podľa xsd špecifikácie MODS je ale default pre atribút invalid hodnota "yes", takže pokiaľ tento atribút chýba, nastaví sa na "yes".

Ukážka
        <mods:identifier type="barCode">1004407716</mods:identifier>
        <mods:identifier type="uuid">319546a0-5a42-11eb-b4d1-005056827e51</mods:identifier>
        <mods:identifier invalid="yes" type="ccnb">cnb000964752</mods:identifier>
        <mods:identifier invalid="yes" type="ccnb">cnb001503907</mods:identifier>
        <mods:identifier type="oclc">85591009</mods:identifier>
        <mods:identifier type="oclc">85001648</mods:identifier>

Súdiac z toho, že atribút je definovaný iba s hodnotou "yes" sa domnievam, že to bolo myslené tak, že ak tam ten atribút nie je, tak bude default "no". Do Krameria+ sa ale tým pádom bude dostávať stále hodnota "yes". Neviem, či je to atribút, na ktorom nejak záleží, prípadne či sa bude nejak ďalej využívať, ale vnímam to ako možnú chybu pri vytváraní MODS metadát.

@daliboris
Copy link
Collaborator

Na stránce s dokumentací je tato poznámka:

If invalid="yes" is not present, the identifier is assumed to be valid. Do not use invalid="no."

Máte pravdu, že tomu neodpovídá definice v XSD, ale vycházejme raději z výše uvedené poznámky.

Myslím, že nevalidní identifikátory bychom do výstupu v TEI nemuseli zahrnovat.

@bodnarIQ
Copy link

bodnarIQ commented Aug 11, 2021

V tom prípade by som navrhoval riešiť to úpravou defínice XSD pre naše potreby. XSD používame pre automatické generovanie tried a v jej momentálnej podobe vracia atribút invalid hodnotu "yes" v oboch prípadoch (aj ak je atribút definovaný s hodnotou "yes" , a aj ak atribút nie je v elemente definovaný)

@daliboris
Copy link
Collaborator

Souhlasím, z hlediska XSD bude mít nejblíže našemu záměru tato definice atributu:

   <xs:attribute name="invalid" use="optional">
    <xs:simpleType>
     <xs:restriction base="xs:NMTOKEN">
      <xs:enumeration value="yes" />
     </xs:restriction>
    </xs:simpleType>
   </xs:attribute>

Doporučuju ale, abyste tuto úpravu původní XSD nějak automatizovali, např. pomocí XSLT, aby se na to při aktualizaci vašeho softwaru při přechodu na novější verzi MODS nezapomnělo.

@daliboris
Copy link
Collaborator

Do elementu <publicationStmt> je potřeba ještě doplnit element <availability>, který se bude vztahovat na celý text publikace.

Ukázka:

<availability status="free">
 <licence>[????není jasné, pod jakou licencí jsou volná díla zpřístupněna???]</licence>
</availability>

Hodnota atributu @status bude záležet na hodnotě elementu <dc:rights>

<oai_dc:dc xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:oai_dc="http://www.openarchives.org/OAI/2.0/oai_dc/">
<dc:rights>policy:public</dc:rights>
</oai_dc:dc>

TEI definuje pro tento atribut hodnoty free, unknown a restricted.

Upřesňující informace by měla být také součástí elementu <licence>, ale to bude záležet nejspíš na jednotlivých knihovnách, tj. jakým způsobem licenci pro konkrétní text nastaví (pro ne/komerční použití ap.). Nevím, odkud tuto informaci přebírat.

@motyc motyc transferred this issue from LIBCAS/DL4DH Dec 8, 2022
@sekanIQ
Copy link
Collaborator

sekanIQ commented May 4, 2023

@daliboris prosíme o kontrolu, či je možné uvádzať tag availability aj bez licence, nakoľko zo vstupných metadát nie je možné zistiť informáciu o licencií.

Pokiaľ to bude takto možné, prenesieme dc:rights do tagu availability. Inak vynecháme tento návrh.

Pokiaľ budete chcieť aj iné údaje preniesť do TEI hlavičky, napíšte z akých metadát a aké.

@daliboris
Copy link
Collaborator

  • atribút ident elementu language má mať rovnakú hodnotu ako obsah daného elementu

atribut @ident má mít podobu identifikátoru jazyka podle standardu BCP 47 (viz dobrý přehled), obsahem elementu je označení jazyka "v lidské řeči", např.

<language ident="en-CA" usage="20">Canadian business English</language>

MODS používá asi pouze identifikátory:

    <mods:language>
      <mods:languageTerm authority="iso639-2b" type="code">cze</mods:languageTerm>
    </mods:language>

Navrhuju tedy vytvořit převodník mezi iso639-2b a BCP 47 + lidským označením jazyka (to, co se objevuje ve Feederu ve fasetě Jazyk

  • element fileDesc/sourceDesc/bibl má byť prázdny?

Součástí tohoto elementu mám být bibliografický záznam o předloze digitalizátu, tj. to, co se objevuje ve Feederu pod odkazem Citace, např. WEYR, FRANTIŠEK. Československé právo ústavní. V Praze: Melantrich, 1937. Dostupné také z: https://feeder.nkp.cz/uuid/uuid:c4f88690-3642-11e3-8d9d-005056827e51

Ideálně ale tak, aby jednotlivé části bibliografického záznamu byly označeny odpovídajícími elementy, tj. autor, titul, vydavatel, místo vydání ap. Tj. např. nějak takto:

<bibl>
     <author><surname>WEYR</surname>, <forename>FRANTIŠEK</forename></author>. <title>Československé právo ústavní.</title>. <pubPlace>V Praze</pubPlace>: <publisher>Melantrich</publisher>,
     <date>1937</date>. Dostupné také z: <ref target="https://feeder.nkp.cz/uuid/uuid:17d9a8c4-52a3-4437-afe1-41bf42c813bc">https://feeder.nkp.cz/uuid/uuid:17d9a8c4-52a3-4437-afe1-41bf42c813bc</ref>
 </bibl>

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants