Documentos de Académico
Documentos de Profesional
Documentos de Cultura
atributoNombre Nombre del atributo. No puede repetirse dentro del mismo elemento.
atributoTipo CDATA: cualquier texto, es el default.
( ): selección de entre algún valor de la lista allí mencionada. Los valores se
separan con el símbolo (|)
ID: si el valor es único dentro del documento. No puede haber mas de un
atributo ID para el mismo elemento. El valor de un atributo ID debe ser
alfanumerico comenzando con letra o “_”. No puede usarse junto con #FIXED.
IDREF: el valor es un ID existente de otro elemento.
IDREFS: el valor es una lista de IDs.
ENTITY, ENTITIES, NOTATION: indicamos que un “entity” esuna asociación
(shortcut) entre un nombre y cierto texto (como las macros de lenguaje C). Su
declaración es <!ENTITY entityNombre “entityValor” >.
Ejemplo: <!ENTITY email
valorDefault #REQUIRED: el atributo es obligatorio.
#IMPLIED: el valor del atributo es opcional y no hay default asumido.
“valor”: el valor del atributo es asignado automáticamente si no se lo
proporciona.
#FIXED “valor”: solo ese valor indicado es el admitido cada vez que aparezca
en el documento.
• Una regla en un DTD no puede reusarse en otro DTD => no hay extensibilidad.
XML Schema (xsd)
1. schema: raíz del xsd. Es un tag reservado para marcar principio y fin.
2. element: declaración de un elemento:
a. name: especifica el nombre del tag del elemento.
b. minOccurs, maxOccurs: cantidad mínima o máxima. El default es 1.
c. type: tipo de dato del documento, el default es string.
d. default, fixed
3. attribute: declaración de un atributo
a. name
b. type
c. use
SIMPLETYPE
Ejemplo de sympleType:
1. Con restriccion:
<element name=”nroEdicion”>
<simpleType>
<restriction base=”integer”>
<minInclusive value=”1000”/>
<maxInclusive value=”1500”/>
</restriction>
</simpleType>
</element>
<elment name=”nroEdicion”>
<simpleType>
<restriction base=”integer”>
<enumeration value=”1000”/>
<enumeration value=”1001”/>
<enumeration value=”1002”/>
</restriction>
</simpleType>
</element>
XPATH
1. Nodos: En XPath, todo se trata de nodos. Los nodos pueden ser elementos, atributos, texto o
cualquier otra parte de un documento XML.
3. Ubicaciones: Las ubicaciones XPath describen la ruta para encontrar un nodo en el árbol de
nodos de un documento XML. Por ejemplo, ‘/library/book’ selecciona todos los nodos
"book" que son hijos directos del nodo "library".
4. Predicados: Los predicados se utilizan para filtrar nodos basados en ciertas condiciones. Por
ejemplo, ‘//book[@category='fiction']’ selecciona todos los nodos "book" que tienen el
atributo "category" con el valor "fiction".
5. Funciones XPath: XPath también proporciona una variedad de funciones incorporadas que
se pueden utilizar en las expresiones XPath para realizar operaciones específicas. Algunas
funciones comunes incluyen ‘text()’, ‘contains()’, ‘starts-with()’, ‘count()’ entre otras.
Ejemplo:
/child::universidad/child::curso/attribute::ID puede escribirse como /universidad/curso/@ID
Ejemplos:
Calcular los @ID de alumnos que alguna vez desaprobaron alguna materia:
➔//alumno/@ID[../nota<4]
➔/universidad/alumno[@ID=//alumno/@ID[../nota<4]]
Calcular los cursos cuyo promedio de notas de sus alumnos es >=5.
➔//alumno[contains(name, ‘n’)]/@ID
Funciones node-set:
· count() = devuelve la cantidad de nodos
· name() = devuelve el nombre del atributo o elemento
· last() = devuelve el ultimo nodo de un conjunto
· position() = devuelve la posición del nodo
· text() = retorna el contenido texto del elemento al que se aplique
Funciones lógicas:
· not(), or, and, =, !=, <, <=, >, >=