Vai al contenuto

Wikisource:Metadati

Da Wikisource.

Immaginiamo questa struttura:

<span class="metadata" title="Author">Alessandro Manzoni</span>

In questa struttura, che può essere generata in qualsiasi punto della pagina, può essere registrato il metadato Author di valore "Alessandro Manzoni". Il dato è presente nel codice html della pagina, dov'è accessibile da uno script js; è anche presente e utilizzabile da un bot che scarichi ed utilizzi il codice html della pagina. NON è utilizzabile come metadato della pagina da parte di un template, o comunque via transclusione. Tuttavia, l'utilizzazione del dato non richiede l'estensione #lst, che gestisce la trasclusione selettiva, e quindi è una tecnica applicabile a qualsiasi wiki. Il dato può essere completamente creato via template (vedi es. template di prova {{Metadato}})

Immaginiamo quest'altra struttura:

<section begin="Author" />Alessandro Manzoni<section end="Author" />

In questa struttura, il metadato Author è all'interno di una section ed è quindi recuperabile e utilizzabile da qualsiasi pagina wiki del progetto, via tranclusione, tranne che nella stessa pagina dov'è presente. Il contenuto della section è visualizzato normalmente, come se il codice section non esistesse. Nell'html della pagina, il codice section scompare, mentre il contenuto è presente, come se il codice section non esistesse. Il dato (inteso come nome metadato:contenuto metadato) è unicamente presente nel codice wiki della pagina; dal codice wiki può essere letto sia da un js (sempre che il codice sia disponibile nella pagina dove lo script js sta correndo, ossia in Edit e in Anteprima) che da un bot, che scarichi il codice wiki della pagina. Potrebbe inoltre essere letto da uno script AJAX, che scarichi il codice wiki della pagina in fase di visualizzazione. E' però utilizzabile solo nei progetti wiki che dispongono dell'estensione #lst.

Il dato non può essere creato via template in modo normale (forse con subst:); normalmente viene creato "a mano" sul codice wiki, oppure via js in fase di modifica.

Immaginiamo infine questa struttura, che "annida" le due precedenti:

<span class="metadata" title="Author"><section begin="Author">Alessandro Manzoni<section end="Author"></span>

In questa struttura, i dati sono accessibili in tutti i casi:

  1. via template per tranclusione selettiva;
  2. via js dal codice html della pagina:
  3. via bot, sia dal codice della pagina che dall'html.

Qui sotto pongo il codice:

<span class="metadata" title="Author"><section begin="Author" />Alessandro Manzoni<section end="Author"></span><span class="metadata" title="Year" /><section begin="Year" />1840<section end="Year"></span>

esattamente prima della parola qui. Provate a estrarre i metadati dalla pagina con il codice: {{#section:Wikisource:Metadati|Author}} oppure {{#section:Wikisource:Metadati|Year}} da qualsiasi pagina wiki.

Metadati e file epub

[modifica]

La struttura epub prevede un set di metadati rigidamente organizzati per nome e tipo, per i quali Wikisource ha un interesse specifico perchè si rifanno a standard bibliotecari, e che rispettano le convenzioni DC (Dublin Core).

Il set di metadati previsto è il seguente:

  • Elementi obbligatori:
    • title
    • language — utilizzare un codice lingua RFC3066
    • identifier — utilizzare una stringa unica: possono andare bene un URI o un ISBN
  • Elementi opzionali:
    • creator
    • contributor
    • publisher
    • subject
    • description
    • date
    • type
    • format
    • source
    • relation
    • coverage
    • rights

Per i dettagli vedi ad esempio: http://www.hxa.name/articles/content/epub-guide_hxa7241_2007.html

Attributi dei campi

[modifica]

Il metadato "dc:creator" gestito da epub ha questo formato:

<dc:creator>James F. Smith</dc:creator>
<dc:creator>Thomas Jones</dc:creator>

ossia: per ogni autore, un tag dc:creator.

Sono gestiti anche attributi:

  • oct:role  : ruolo del contributore (autore, traduttore, editore....), vedi http://www.loc.gov/marc/relators/
  • oct:file-as  : stringa da utilizzare per gli ordinamenti. Es. per "Alessandro Manzoni" si può prevedere "Manzoni, Alessandro".

Un tag completo potrebbe quindi essere:

<dc:creator oct:role="aut" oct:file-as="Smith, James F.">James F. Smith</dc:creator>

Non avendo noi XML ma XHTML questi dati possono essere "impacchettati" in questo tag span class metadata (invisibile ma presente nel codice html):

<span class="metadata" title="creator">dc:creator="James F. Smith" oct:role="aut" oct:file-as="Smith, James F."</span>

che, dal punto di vista dei contenuti, è informativo al 100% per quanto riguarda la conversione in tag xml ePub ed inoltre dovrebbe poter essere prodotto automaticamente da codice template.