Strumenti Utente

Strumenti Sito


struttura_xml

Struttura di un documento xml

Elementi e attributi

Un documento xml è composto di elementi strutturati come segue:

<tipo_elemento>...</tipo_elemento>

A un elemento possono essere associati dei valori determinati di specifici attributi secondo la sintassi seguente:

<tipo_elemento nome_attributo1="valore_attributo1" nome_attributo2="valore_attributo2"...>...</tipo_elemento>

Un elemento può contenere del testo.

<tipo_elemento>testo</tipo_elemento>

Un elemento può contenere altri elementi.

<tipo_elemento>
    <tipo_elemento>...</tipo_elemento>
    <tipo_elemento>...</tipo_elemento>
    ...
</tipo_elemento>

Un elemento può non contenere nulla.

<tipo_elemento/>

Esempi tratti da corpora annotati

Un esempio dal Latin Dependency Treebank.

Id fieri posse, si suas copias Haedui in fines Bellovacorum introduxerint et eorum agros populari coeperint. His datis mandatis eum a se dimittit.
<treebank>
    [...]
    <sentence id="17" document_id="Perseus:text:1999.02.0002" subdoc="Book=2:chapter=5" span="Id0:coeperint0">
        <word id="1" form="Id" lemma="is1" postag="p-s---na-" head="3" relation="SBJ" />
        <word id="2" form="fieri" lemma="fio1" postag="v--pnp---" head="3" relation="OBJ" />
        <word id="3" form="posse" lemma="possum1" postag="v--pna---" head="0" relation="ExD" />
        <word id="4" form="," lemma="comma1" postag="u--------" head="5" relation="AuxX" />
        <word id="5" form="si" lemma="si1" postag="c--------" head="2" relation="AuxC" />
        <word id="6" form="suas" lemma="suus1" postag="a-p---fa-" head="7" relation="ATR" />
        <word id="7" form="copias" lemma="copia1" postag="n-p---fa-" head="12" relation="OBJ" />
        <word id="8" form="Haedui" lemma="Aedui1" postag="n-p---mn-" head="12" relation="SBJ" />
        <word id="9" form="in" lemma="in1" postag="r--------" head="12" relation="AuxP" />
        <word id="10" form="fines" lemma="finis1" postag="n-p---ma-" head="9" relation="OBJ" />
        <word id="11" form="Bellovacorum" lemma="Bellovaci1" postag="n-p---mg-" head="10" relation="ATR" />
        <word id="12" form="introduxerint" lemma="introduco1" postag="v3ptia---" head="13" relation="ADV_CO" />
        <word id="13" form="et" lemma="et1" postag="c--------" head="5" relation="COORD" />
        <word id="14" form="eorum" lemma="is1" postag="p-p---mg-" head="15" relation="ATR" />
        <word id="15" form="agros" lemma="ager1" postag="n-p---ma-" head="16" relation="OBJ" />
        <word id="16" form="populari" lemma="populor1" postag="v--pnp---" head="17" relation="OBJ" />
        <word id="17" form="coeperint" lemma="coepio1" postag="v3ptia---" head="13" relation="ADV_CO" />
    </sentence>
    <sentence id="18" document_id="Perseus:text:1999.02.0002" subdoc="Book=2:chapter=5" span="His1:dimittit0">
        <word id="1" form="His" lemma="hic1" postag="p-p---nb-" head="3" relation="ATR" />
        <word id="2" form="datis" lemma="do1" postag="t-prppnb-" head="7" relation="ADV" />
        <word id="3" form="mandatis" lemma="mandatum1" postag="n-p---nb-" head="2" relation="SBJ" />
        <word id="4" form="eum" lemma="is1" postag="p-s---ma-" head="7" relation="OBJ" />
        <word id="5" form="a" lemma="ab1" postag="r--------" head="7" relation="AuxP" />
        <word id="6" form="se" lemma="sui1" postag="p-s---mb-" head="5" relation="OBJ" />
        <word id="7" form="dimittit" lemma="dimitto1" postag="v3spia---" head="0" relation="PRED" />
    </sentence>
    [...]
</treebank>

Un esempio dal corpus sloveno jos100k.

Večjega občutka sreče si ni mogoče predstavljati.'Gioia più grande non si può immaginare.'

Si noti che mentre nell'esempio precedente le parole di cui si compone il testo sono inserite come valore dell'attributo 'form' degli elementi 'word', in questo esempio le parole di cui si compone il testo sono inserite come testi contenuti negli elementi 'w'.

[...]
<s xml:id="F0002008.72.10" n="7 8">
    <w xml:id="F0002008.72.10.1" lemma="velik" msd="Pppmer">Večjega</w>
    <S/>
    <w xml:id="F0002008.72.10.2" lemma="občutek" msd="Somer">občutka</w>
    <S/>
    <w xml:id="F0002008.72.10.3" lemma="sreča" msd="Sozer">sreče</w>
    <S/>
    <w xml:id="F0002008.72.10.4" lemma="se" msd="Zp---d--k">si</w>
    <S/>
    <w xml:id="F0002008.72.10.5" lemma="biti" msd="Gp-ste-d">ni</w>
    <S/>
    <w xml:id="F0002008.72.10.6" lemma="mogoče" msd="Rsn">mogoče</w>
    <S/>
    <w xml:id="F0002008.72.10.7" lemma="predstavljati" msd="Ggnn">predstavljati</w>
    <c xml:id="F0002008.72.10.8">.</c>
    <S/>
</s>
[...]

Struttura di un documento json

Un documento json può contenere:

Un dizionario, delimitato da {}

Una lista, delimitata da []

Le stringhe sono delimitate da apici doppi “”

Un dizionario contiene:

Una collezione di coppie di “chiavi” e “valori”; ogni chiave è seguita dai due punti e quindi dal suo valore; ogni coppia chiave-valore è separata dalla successiva (se presente) per mezzo di una virgola

Una chiave di un dizionario è una stringa

Un valore di un dizionario può essere: un dizionario, una lista, stringa, un numero, un booleano, o null.

Una lista contiene:

Una collezione di elementi; ogni elemento è separato dal successivo (se presente) per mezzo di una virgola

Un elemento di una lista può essere: un dizionario, una lista, una stringa, un numero, un booleano, o null.

Per ottenere un json da un parsing effettuato con spacy:

installare spacy da terminale con:

pip install spacy

python -m spacy download it_core_news_sm

nella shell di python:

import spacy, json
nlp = spacy.load("it_core_news_sm")
doc = nlp("Il cane di Luigi ha rotto il vetro")
print(json.dumps(doc.to_json()))
struttura_xml.txt · Ultima modifica: 2026/03/31 13:22 da admin