Plantilla para el Examen Presencial de la 2ª Evaluación

Anuncio
I.E.S. Suárez de Figueroa
@vanza
C.F.G.S. Administración de Sistemas Informáticos en Red
Módulo "Lenguaje de Marcas y Sistemas de Gestión de la Información"
PLANTILLAS RSS ATOM DTD XSD XPath XSL
PLANTILLA RSS
PLANTILLA DTD
Fichero HTML:
Fichero XML con DTD en fichero.dtd externo:
<!DOCTYPE html>
<html><head><title>...</title>
<link
rel="alternate"
type="application/rss+xml"
title="..." href="./fichero.rss" />
</head>
<body>...</body></html>
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
<!DOCTYPE ejemplar SYSTEM "fichero.dtd">
<ejemplar>
...
</ejemplar>
Fichero RSS:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<rss version="2.0">
<channel>
<title>...</title>
<link>...</link>
<description>...</description>
<language>...</language>
<item>
<title>...</title>
<link>...</link>
<description>...</description>
</item>
<item>...</item>
...
</channel>
</rss>
PLANTILLA ATOM
Fichero HTML:
<!DOCTYPE html>
<html><head><title>...</title>
<link
rel="alternate"
type="application/atom+xml"
title="..." href="./fichero.atom" />
</head>
<body>...</body></html>
Fichero ATOM:
<?xml version="1.0" encoding="ISO-8859-1"
standalone="yes"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="eses">
<title>...</title>
<id>...</id>
<link rel="self" type="application/atom+xml" href=".."/>
<link rel="alternate" type="text/html" href="..."/>
<updated>...</updated>
<author>
<name>...</name>
<email>...</email>
</author>
<entry>
<title>...</title>
<id>...</id>
<link rel="alternate" type="text/html"
href="..."/>
<updated>...</updated>
<author>
<name>...</name>
</author>
<summary>...</summary>
</entry>
<entry>...</entry>
...
</feed>
Fichero DTD:
Tipo de elemento terminal:
<!ELEMENT ElementoTerminal (#PCDATA)>
Tipo de elemento no terminal:
<!ELEMENT ElementoNoTerminal (elem1, elem2,...)>
Operadores ? + * |
<!ELEMENT ElemNoTerm (elem1?, elem2+, elem3*)>
<!ELEMENT ElemNoTerm (elem4 | elem5 | elem6)>
Ejemplos de variaciones:
<!ELEMENT ElemNoTerm ((elem1+, (elem2, elem3)*)>
<!ELEMENT ElemNoTerm (elem4 | (elem5,elem6))>
Atributos
<!ATTLIST Elemento NombreAtributo Tipo>
El Tipo puede ser:
CDATA
NMTOKEN
(Valor1 | Valor2 | ...)
Modificadores de atributos:
<!ATTLIST
<!ATTLIST
<!ATTLIST
<!ATTLIST
Elem
Elem
Elem
Elem
NombreAtributo
NombreAtributo
NombreAtributo
NombreAtributo
Tipo
Tipo
Tipo
Tipo
#IMPLIED>
#REQUIRED>
#FIXED "Valor">
"Literal">
Entidades
<
<
>
>
"
"
'
'
&
&
€
€
©
©
&#UNICODE;
Carácter código UNICODE
Constante: <!ENTITY NombreEntidad "Valor">
Uso en .xml: &NombreEntidad;
Trozo de código: <!ENTITY % NombEntidad "Trozo código">
Uso en .dtd: %NombEntidad;
PLANTILLA XSD
PLANTILLA XPath
Fichero XML con fichero.xsd:
Elementos y atributos:
<?xml version="1.0" encoding="UTF-8" ?>
<ejemplar xmlns:xs="http://www.w3.org/2001/XMLSchemainstance" xs:noNamespaceSchemaLocation="fichero.xsd">
...
</ejemplar>
/Elemento
/ElemPadre/ElemHijo/ElemNieto
/Elemento/@Atributo
//Elemento
//@Atributo
/Elemento/.
/Elemento/..
Fichero XSD:
Predicados:
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="ejemplar" type="TipoEjemplar" />
...
</xs:schema>
/Elemento[Número]
/Elemento1[Elemento2]
/Elemento1[Elemento2 = "Valor"]
/Elemento[@Atributo]
/Elemento[@Atributo = "Valor"]
Operadores: =
!=
<
>
<=
>=
Comodines *: /Elemento/*
/Elemento/@*
Elemento:
<xs:element name="NombreElem" type="TipoElem" />
TipoElem puede ser: tipo base, simple o complex.
Número de elementos mínimo y máximo:
<xs:element name="NombreElem" type="TipoElem"
minOccurs="Valor" maxOccurs="Valor"/>
El Valor es un número o unbounded.
Tipos Base:
xs:string
xs:boolean
xs:positiveInteger
xs:decimal
xs:dateTime
xs:time
xs:date
xs:gYear
xs:gMonthDay
xs:gMonth
xs:language
xs:integer
xs:negativeInteger
xs:duration
xs:gYearMonth
xs:gDay
Tipo simpleType:
<xs:element name="NombreElem" type="TipoElem"/>
<xs:simpleType name="TipoElem">
<xs:restriction base="TipoBase">
...Facetas...
</xs:restriction>
</xs:simpleType>
Facetas:
<xs:length value="Valor"/>
<xs:minLength value="Valor"/>
<xs:maxLength value="Valor"/>
<xs:enumeration value="Valor"/>
<xs:whiteSpace value="preserve o replace o collapse"/>
<xs:maxInclusive value="Valor"/>
<xs:maxExclusive value="Valor"/>
<xs:minInclusive value="Valor"/>
<xs:minExclusive value="Valor"/>
<xs:totalDigits value="Valor"/>
<xs:fractionDigits value="Valor"/>
<xs:pattern value="Patrones"/> Los Patrones pueden ser:
[A-Za-z]
[A-Z]
[a-z]
[0-9]
\D
(A)
A|B
AB
A?
A+
A*
[abcd]
[^abcd]
\t
[XYZ]
[XYZ]
[3-7XYZ]
[A-DZ]
Tipo complexType:
<xs:complexType name="TipoElem">
<xs:sequence>
<xs:element name="Elem1" type="TipoE1" />
<xs:element name="Elem2" type="TipoE2" />
...
</xs:sequence>
</xs:complexType>
Secuencias de complexType:
<xs:sequence>
<xs:all>
<xs:choice>
Grupo xs:group (para complexType):
<xs:group name="NombreGrupo">
<xs:sequence>
<xs:element name="Elem1" type="TipoEle1"/>
...
</xs:sequence>
</xs:group>
Uso de xs:group: <xs:group ref="NombreGrupo"/>
Atributos (en complexType):
<xs:attribute name="NomAtrib" type="TipoAtrib"/>
TipoAtrib es un TipoBase
<xs:attribute name="NomAt" type="TipAt" use="required"/>
Funciones:
boolean()
not()
count()
name()
string()
concat()
string-length()
Varias selecciones: operador |
Predicados compuestos:
and
true()
false()
position()
last()
sum()
normalize-space()
or
PLANTILLA XSL
Fichero XML con fichero.xsl:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<?xml-stylesheet type="text/xsl" href="fichero.xsl"?>
<ejemplar>
...
</ejemplar>
Ejemplo de fichero XSL:
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="2.0">
<xsl:template match="/">
<html><head><title>TITULO</title></head>
<body bgcolor="#00dd00">
...
</body>
</html>
</xsl:template>
</xsl:stylesheet>
Selección de datos:
<xsl:value-of select="...Expresión XPath..."/>
Añadir texto:
<xsl:text>...Texto a añadir...</xsl:text>
Estructura repetitiva:
<xsl:for-each select="...Expresión XPath...">
...
</xsl:for-each>
Estructura condicional:
<xsl:if test="...Condición XPath...">
...
</xsl:if>
Estructura condicional múltiple:
<xsl:choose>
<xsl:when test="...Condición1 XPath...">
...
</xsl:when>
<xsl:when test="...Condición2 XPath...">
...
</xsl:when>
<xsl:otherwise>
...
</xsl:otherwise>
</xsl:choose>
Ordenación:
<xsl:sort select="...Expresión XPath..."
order="ascending o descending"/>
Descargar