Esta página está traduciéndose a partir del artículo XUL Tutorial:Introduction to RDF, razón por la cual puede haber algunos errores sintácticos o partes sin traducir. Puedes colaborar continuando con la traducción
En ésta sección, miraremos el Marco de Descripción de Recursos (RDF) (Resource Description Framework).
Marco de descripción de recursos
Podemos usar los elementos del árbol para mostrar un conjunto de datos, tales como bookmarks o mensajes de email. Sin embargo, Sería inconveniente hacerlo así ingresando los archivos diretamente en el archivo XUL. Eso haría muy difícil modificar los (marcadores) bookmarks si ellos estuviesen directamente en el archivo XUL. La forma de solucionar ésto es usando un recurso de datos RDF.
RDF (Marco de Descripción de Recursos) Es un formato que puede ser usado para almacenar recursos tales como marcadores o bookmarks y correos. Alternativamente, datos en otros formatos pueden ser usados y códigos de escritura que leerán el archivo y crearán datos RDF de ellos. Así es como Mozilla funciona, cuando él lee los datos tal como marcadores o bookmarks, el historial o los correos, Mozilla provee datos de recurso para este dato común para que pueda facilmente usarlos.
Puedes usar cualquiera de los datos de recurso RDF proveidos para poblar árboles con datos a or you can point to an RDF file stored in XML which contains the data. This makes it very convenient to display trees with lots of rows in them. RDF can also populate other XUL elements as well such as listboxes and menus. We'll see this in the next section.
A very brief overview of RDF will be provided here. For a more detailed guide to RDF, ver Introducción al modelo RDF, en XULPlanet. It is recommended that you read this guide if you are new to RDF.
Para más información sobre RDF, ver la especificación RDF.
RDF/XML
RDF consta de un modelo, el cual es una representación gráfica de datos. RDF/XML es un lenguaje XML que puede ser usado para representar un dato RDF. Ello contiene un conjunto de elementos bastante simples. El ejemplo de abajo muestra una simple plantilla RDF
<?xml version="1.0"?> <RDF:RDF xmlns:RDF="https://www.w3.org/1999/02/22-rdf-syntax-ns#"> ... </RDF:RDF>
Ésto tiene similitudes con el encabezador de XUL. En vez de window
element, el elemento RDF
es usado. puedes ver el namespace (espacio de nombre) para RDF fue declarado así para que los elementos RDF sean reconocidos apropiadamente. Dentro del elemento RDF
, podrás colocar el dato. para ver algún ejemplo de archivos RDF/XML, Mira aquellas proveidas por Mozilla. Ellos tienen la extensión rdf.
Base de datos RDF
Tomemos el ejemplo de una lista de marcadores generados desde RDF.Una lista de marcadores contiene un conjunto de registros,Cada uno con un conjunto asociado a ello, tal como una URL, Un título de marcador y un fecha de visita.
Piensa en el marcador como una base de datos, el cual es almacenado en una grande tabla con numerosos campos. En el caso de RDF o como sea, Las listas pueden ser jerarquizadas también. Esto es necesario para nosotros podamos tener carpetas o categorías de los marcadores. cada uno de los campos en la base de datos RDF es un recurso, cada uno con su nombre asociado a ello. El nombre es descrito por un URI.
Por ejemplo, una selección de campos en la lista de marcadores de Mozilla es descrito por los URIs below:
Nombre | https://home.netscape.com/NC-rdf#Nombre | Bookmark name |
URL | https://home.netscape.com/NC-rdf#URL | URL to link to |
Descripción | https://home.netscape.com/NC-rdf#Descripción | Bookmark description |
Fecha última visita | https://home.netscape.com/WEB-rdf#FechaÚltimaVisita | La fecha en la cual se visitó por última vez |
These are generated by taking a namespace name and appending the field name. In the next section, we'll look at how we can use these to fill in the field values automatically. Note that the last visited date has a slightly different namespace than the other three.
Ejemplo de archivo RDF/XML
Below, a sample RDF/XML file is shown, listing a table with three records and three fields.
<RDF:RDF xmlns:RDF="https://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:ANIMALS="https://www.some-fictitious-zoo.com/rdf#"> <RDF:Seq about="https://www.some-fictitious-zoo.com/all-animals"> <RDF:li> <RDF:Description about="https://www.some-fictitious-zoo.com/mammals/lion"> <ANIMALS:name>León</ANIMALS:name> <ANIMALS:species>Panthera leo</ANIMALS:species> <ANIMALS:class>Mamífero</ANIMALS:class> </RDF:Description> </RDF:li> <RDF:li> <RDF:Description about="https://www.some-fictitious-zoo.com/arachnids/tarantula"> <ANIMALS:name>Tarántula</ANIMALS:name> <ANIMALS:species>Avicularia avicularia</ANIMALS:species> <ANIMALS:class>Araña</ANIMALS:class> </RDF:Description> </RDF:li> <RDF:li> <RDF:Description about="https://www.some-fictitious-zoo.com/mammals/hippopotamus"> <ANIMALS:name>Hipopótamo</ANIMALS:name> <ANIMALS:species>Hippopotamus amphibius</ANIMALS:species> <ANIMALS:class>Mamífero</ANIMALS:class> </RDF:Description> </RDF:li> </RDF:Seq> </RDF:RDF>
Here, three records have been described, one for each animal. Each RDF:Description
tag describes a single record. Within each record, three fields are described, name
, species
and class
. It isn't necessary for all records to have the same fields but it makes more sense to have them all the same.
Each of three fields have been given a namespace of ANIMALS
, the URL of which has been declared on the RDF
tag. The name was selected because it has meaning in this case, but we could have selected something else. The namespace feature is useful because the class
field might conflict with that used for styles.
The Seq
and li
elements are used to specify that the records are in a list. This is much like how HTML lists are declared. The Seq
element is used to indicate that the elements are ordered, or in sequence. Instead of the Seq
element, you can also use Bag
to indicate unordered data, and Alt
to indicate data where each record specifies alternative values (such as mirror URLs).
The resources can be referred to in a XUL file by combining the namespace URL followed by the field name. In the example above, the following URIs are generated which can be used to refer to the specific fields:
Nombre | https://www.some-fictitious-zoo.com/rdf#name |
Especies | https://www.some-fictitious-zoo.com/rdf#species |
Clase | https://www.some-fictitious-zoo.com/rdf#class |
Next, we'll see how we can use RDF to populate XUL elements.