Llenguatge natural en nodes de tipus atribut
Publicat el 25/04/2009
El contingut permès en un node de tipus atribut és text sense format, la qual cosa és útil per valors tancats o per tipus de valors sense ambigüitat (xs:anyURI, xs:QName, etc) però en el cas de valors de llenguatge natural apareixen deficiències.
- No es pot marcar un idioma diferent per l'atribut i pel contingut de l'element pare.
- No es pot marcar canvi d'idioma en un fragment.
- La internacionalització no és possible en tots els idiomes i grafies. Per exemple les grafies que necessiten marcar elements compostos mitjançant ruby.
En X/HTML el problema es pot notar en atributs com @title o @alt.
En RDFa el problema apareix en l'atribut @content tot i que la definició diu que és per allotjar un text machine-readable el resultat pot ser deficient en algun cas.
Per altre banda, un atribut té la virtud de ser molt compacte i de considerar-se implícitament, a parer meu, una metadada de l'element pare.
Agafant el cas de l'atribut @title d'X/HTML i fent l'exercici de convertir-lo a element per solucionar els problemes mencionats s'obté quelcom tipus:
<abbr>
<title>eXtensible Markup Language</title>
XML
</abbr>
El problema d'una estructura com aquesta és que no és distingible el contingut del metacontingut. En DML, aprofitant que qualsevol element pot dur un contenidor per metadades es pot expressar com:
<abbr>
<metadata>
<span property="dct:description">eXtensible Markup Language</span>
</metadata>
XML
</abbr>
Fins i tot es pot estendre a quelcom tipus:
<abbr>
<metadata>
<list typeof="rdf:Alt">
<item property="dct:description" xml:lang="en">eXtensible Markup Language</item>
<item property="dct:description" xml:lang="ca">Llenguatge de marcatge extensible</item>
</list>
</metadata>
XML
</abbr>
Tot i permetre expressar molt més, la verbositat augmenta extraordinariament, la qual cosa no ajuda a la legibilitat del document.
Comentaris