Código:
<?xml version="1.0" encoding="UTF-8"?> <!ELEMENT recursos (recurso*) > <!ELEMENT recurso (descripcion, tipo, idioma, contenido, version, unidad) > <!ELEMENT descripcion (#PCDATA) > <!ELEMENT tipo (#PCDATA) > <!ELEMENT idioma (#PCDATA) > <!ELEMENT contenido (#PCDATA) > <!ELEMENT version (#PCDATA) > <!ELEMENT unidad (#PCDATA) > <!ATTLIST tipo url CDATA #IMPLIED > <!ATTLIST tipo fichero CDATA #IMPLIED>
Código:
Lo primero que tengo que hacer es una ordenación de este xml en otro xml, lo he hecho con el siguiente código, me lo ordena pero se pierde la estructura.<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE recursos SYSTEM "recursos.dtd"> <?xml-stylesheet type="text/xsl" href="file:///C:/xampp/htdocs/Practica/recursos/ordena_recursos.xsl"?> <recursos> <recurso> <descripcion>Transparencias PHP</descripcion> <tipo fichero="lenguajes de programacion web servidor(php).pdf"> Interno</tipo> <idioma>Español</idioma> <contenido>PHP</contenido> <version/> <unidad>Unidad 4</unidad> </recurso> <recurso> <descripcion>Práctica PHP</descripcion> <tipo fichero="PracticaPI_PHP_200910.pdf">Interno</tipo> <idioma>Español</idioma> <contenido>PHP</contenido> <version/> <unidad>Unidad 4</unidad> </recurso> <recurso> <descripcion>Consorcio W3C</descripcion> <tipo url="http://www.w3c.org">Externo</tipo> <idioma>Inglés</idioma> <contenido>General</contenido> <version/> <unidad>Unidad 0</unidad> </recurso> <recurso> <descripcion>Transparencias Lenguajes Publicación Web</descripcion> <tipo fichero="lenguajes_de_publicacion_web_200910_.pdf">Interno</tipo> <idioma>Español</idioma> <contenido>HTML</contenido> <version>4.01</version> <unidad>Unidad 0</unidad> </recurso> <recurso> <descripcion>Práctica HTML</descripcion> <tipo fichero="PracticaPI_HTML_200910.pdf">Interno</tipo> <idioma>Español</idioma> <contenido>HTML</contenido> <version>4.01</version> <unidad>Unidad 2</unidad> </recurso> <recurso> <descripcion>Práctica CSS</descripcion> <tipo fichero="PracticaPI_CSS_200910.pdf">Interno</tipo> <idioma>Español</idioma> <contenido>CSS</contenido> <version>2.0</version> <unidad>Unidad 2</unidad> </recurso> <recurso> <descripcion>Práctica XML</descripcion> <tipo fichero="PracticaPI_XML_XSLT_200910.pdf">Interno</tipo> <idioma>Español</idioma> <contenido>XML</contenido> <version>1.0</version> <unidad>Unidad 2</unidad> </recurso> <recurso> <descripcion>Escuela W3C</descripcion> <tipo url="http://www.w3schools.com">Externo</tipo> <idioma>Inglés</idioma> <contenido>HTML</contenido> <version>4.01</version> <unidad>Unidad 2</unidad> </recurso> <recurso> <descripcion>Transparencias Javascript</descripcion> <tipo fichero="lenguajes de programacion web cliente(javascript).pdf">Interno</tipo> <idioma>Español</idioma> <contenido>Javascript</contenido> <version/> <unidad>Unidad 3</unidad> </recurso> <recurso> <descripcion>Práctica Javascript</descripcion> <tipo fichero="PracticaPI_JAVASCRIPT_200910.pdf">Interno</tipo> <idioma>Español</idioma> <contenido>Javascript</contenido> <version/> <unidad>Unidad 3</unidad> </recurso> </recursos>
Código:
No se que estará mal, me muestra los datos ordenados de cada recurso, pero no me sale la estructura, solo los datos. <?xml version="1.0" encoding="UTF-8"?> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0" > <xsl:output method="xml" version="1.0" encoding="utf-8" standalone="no" doctype-system="recursos.dtd"/> <xsl:template match="/"> <xsl:apply-templates select="recursos/recurso"> <xsl:sort select="unidad" order="ascending"/> <xsl:sort select="contenido" order="ascending"/> <xsl:sort select="tipo" order="descending"/> </xsl:apply-templates> </xsl:template> </xsl:stylesheet>