Tecnologias XML. Extensible Stylesheet Language

Hasonló dokumentumok
<?xml version="1.0" encoding="shift_jis"?> <xsl:stylesheet xmlns:xsl=" version="1.0"> <xsl:output method="html"

Aspektus-orientált nyelvek XML reprezentációja. Kincses Róbert Debreceni Egyetem, Informatikai Intézet

V. gyakorlat: XML alapú adatkezelés

Escalas métricas em metal RL

XSLT ( XSL Transformations)

Transformer des données XML XSLT

XSLT XML. DEIM Forum 2013 B2-1 XML XML XML XML XSLT XSLT XSLT XML XSLT XSLT

CABO VERDE ILHA DO SAL

ASP.NET 2.0 (Whidbey) Mi várható a 2005-ös ASP.NET-ben?

XML (DTD) (XSD) DOM SAX XSL. XML feldolgozás

Aspektus-orientált nyelvek XML reprezentációja

Az XSLT elemei. Az XSLT áttekintése

Á Á Ö Ö Ü É Ö É É Á Ú É É É É Á Á Ö Ö Ő

Rack Station RS409, RS409+, RS409RP+ Guia de Instalação Rápida

XML-HMTL Beadandó Dolgozat. Avagy, mit sikerült validálnunk fél év alatt

Ed. Version 1.2. Az XML nyelv. Az XML nyelv. Győri László munkája. Ed. Version 1.2

Az XML kidolgozásakor a fejlesztés szempontjait tíz pontban foglalták össze:

XmlGessünk 15: XSLT. Az egyik legellentmondásosabb és mégis nagyon srn használt xml technológia az XSLT. Barátkozzunk meg vele! NetAcademia-tudástár

Á É É É Á ó Ú ú Í ó ó ú ű ú ó Ü

ü ő Á Á ö ö ő ő ő ö ü Á ő ü ü ü ü ü ő ü ö ü ő ö ő ú ú ö ő ö ő ő ö ö ő ö ő

ű é á ü ó í á é é ü é ó á á ó í á á é ő á é á Ü Ö Ú á é á

ó ő ü ú ú ó ó ü ú ú ő ő ó ó ü ó ú ü ő ó ü Ü ó ó ó ó ő ó ó ő ó ő ó ó ó ő ő ó ó ő ó ú ó ó ó Ú ő ó ő ó ő ó ő ő ó ő ő ó ó ő ő

ő ü ö ö ó ő ú ü ö ü ü ö ő ö ö ö ő ö ő ó ö ö ő ö ö ő ó ó ő ő ü ő ő ő ü ő ő ü ő ő ó ö É Ö Ü Á Á ö ö ő ö ü ó ö ü ő ő ó ö ö ö ü ö ö ö ő ö ü ő ü ö ö ő ö ü

ő ü ö ő ü ö ő ő ó ó ö í ö ő ö ő ő ő ö ö ö ö ó ö ő ö ő Ö ü ö ó ö ú ó ő Ö í ö í ö ü ö ö ó ő ő ö ő ü ő ő í ő ü ö í ö ö ö ő ö ő ó ő í ú ö ő ő í ő ü ó ó ő

ö ö ú ú ó ö ü ú ó ű ő ú ü ú ó ó ó ó ó ö ű ő É ő ó ö ő Á ó ö ö ó ó ú ő ö ű ó ű ö ő ő Á ó ó ö ü ó ó ö ö ó ó ö ö ó ó ó

É É Í ú ú Ü ú ú ű

Ó ö ü í ü ö ü ü ü ö ü ö ö í ü ü ü ü ö ö í ö ü ö É ü ü ü É ö ü ö ö ü ü ö ü í ü ö í

ű ö ő ó ő ő ű ö ő ü ó ö ő ő ő ó ő ő Á ó ő ő ó ó ő ú ő ő ó ó ó ő ö ő ó ó ó ö ö ö

XML technikák II Kovács, László

V. gyakorat: XML technikák MS SQL 2008-ban

ű Ö ö ü Ö ö ú ú Ö ü ö ú ü ö ü ö ö ö ü ü ü ö ö ű ü ö ö ü ö ö ü

extensible Markup Language:

HTML, XML szerkesztés

XML és XSLT (a színfalak mögül)

FELHASZNÁLÓI DOKUMENTÁCIÓ

ö ö ö ö ö ő ú ü ő ö ü ő ú ő ő ő ö ő ö ü ű ö ü ő ú ő ő ő ű ű ö ő ő ü

ő ő Á Á ó ü ő ó Í ő ö í ö ö óú óú ő ú í ő ú ó ó ó ü ö ö ü ö í ő ö ő ó ü ö ö ü ő í ő ő ó í ó ó ő ő ő ő ü Í ó É ü Ö í ö ő Í Í ő Í ő

í ö ü ö í ó ü ó ó ö í ó ó ó ó ó ó í ü ó ó ö ü ó ó ü ó ó É í ó ö í í ó ó í ö ó ö í ö ö ó í í ó ö í ó ú í ó í ó ü ö ó í ö í ű í ű ó ö í ú í ó ú ö ü í ó

ő ő ő ü ő í ő ü ő í ü Í ő ú ü ő Í ő ö ö ő ü ö ö ő ő ö Í ő ú í ö í Í ő ü ő ö ő ú Í ú í ü ö ö ő ű ő Í ú ö ű ú ő ő í ü ő ő ö ő í í ő Í ő ő ő ő ú ő ú Í ő

ö Ú ö Í ö ö ú ö Í ö ö ö ö ö ö ö ö ö ö ú ö Í ö ö ö ú ö ö ö ö ö Ó ö É ö ö Ö ö

ű ű É ü ü ő Ó Ü ő ő ü É ő ő ő ő ő ü ő ő Ü ő ő Ü ü

ú É ú Ú ű Ú ű Ú ú Ú ú Ó ú ű ú Ü ú ú ű ű Á ű Ú Á ű ű ű ú Ú ú ú ű Ú Ő Ú

Ó ő ű ó ő ó ű ő ű ó ó ü ű ő ó ő ó ó ó ú ő ü ő ó ü ó ü ő ő ű ü ú ú ü ő ő ó ó ó ő ó ó Í ő ű ó ó ó ó ő ó ó ó ő ő ő ó ú ó ő ő ü ó ó ő ő ő ú ü ó ű ő ő ó ó

ő í ö ü ö ő ő ü ö ü ő ő ö ö ö ü í ő ö ö ü í í í ü ő ő í í ú í ő

ő ü ö ő ö ö ő ő ó ó ö ő ö ó ő ő ö ö ö ö ó ö ő ö ő Ö ü ö ó ö ú ó ő Ö ö í ú ö ü ö ö ó ő ő ö ő ü ő ő í ó ü ö í ö ü ö ö ő ö ő ő ő í í ö ő ő í ő ü ó ó ő í

SZAKDOLGOZAT. Bak Dániel Krisztián



















ö ó ö ö ö ú ő ö ő ő ü ő ű í í ö ö ő ö ú ö ö ó í í ő ó ö ö ö ó ó ö ő ó ü ö í ó ö ú ö ö ó ó ő í ő ő ő ó ő ő ö ő ö ő ö ö ö ö ő ő ő ú í ó í ő ő ü ö ö ó ó

í í ú Í ő ő ó í ő ó ó ú ü ó ó ü ó ú ú Á ő í í ő ó ó ü ú ü í í ő ú ő ü ő í ó ó ó ü ő ü ő ü ő í í ő üí ó í ő ó í ó ü ő í ó ü í ő ő í ó ő í ő ü ü í ú í Í


é ó é ü ö é é ó é Ö é ó é é ú ó é é é é é é é é é Ö é Ő é é ö é Ö ü é ó Ö Ü ö ö é é é Ő ö é é Ü é ö é é é é é é é ü é é ö é é é é é ü é é ü é é é ö ö

Í Á ü ú Ú ő ú ú ú ö Í ő ú ú őú ő Í Á Á ü Í ü Í Ú Á Á Ö ö É ü ű ö Ú ő ő Í ő ü ő ö ú ö Í Í Í ő ö ö ö ö ő ü ü ő

ö É í ü í Ú ö ó ó ó ü ó í Ö í Ú í ö í í ó ű ö ű ö ű í ö Ö ű ü ö ü ö ű ü ó ü ó í ö ű ó í ó í ó ű í í ó í ü ű ü í ó í ü ú ó í í ó ü ü í í ó í ó í í ö í

ő ü ö ő ü ö ö ő ő ó ó ö ő ö ő ő ő ö ö ö ö ó ö ő ö ő Ö ü ö ó ö ú ó ő Ö ö í ö ü ö ö ó ő ő ö ő ü ő ő í ó ü ö í ö ü ö ö ő ö ő ő ő ö ő ő í ő ü ó ó ő í í ü


ö ö ő ó ü ő Ö ö ő ő ó ó ö ó ö ö Ö ö í ő ó ő ó ő ő ö ö í ő ő ó ö ő ó ű ó ó ö ő Á ő ó ö ú ó ö Ö ö ö ö ö ö ö ő ő ó ü ü ö ú ó í Ö ö ó ó ü ö ú ü ü ü ö ö ü

ü ö ő íő ő ó í ó ö ú ö ü ö ú ó ó ő ü ö ű ő ü í ö ó ü ü ő í ő ő ú ö ö ü í ó ő ő ó ó ö í í ó í ö ü ö ö ő í ő ó ö ó í ő í ö í ö ő ü ö í í ö í ö ó ó ü ö ö

Á í ő í ő ő ú í ú í í í ö ő í ű ö ő ö ő ő ő ö Ú ö í ü ö ű ö ő í ü í ő ő ő ő ő í ü í ö ő í í ü ö ü ö Á ü íö ű ő ü í ő ö ő ő ú ő ö ű ö ő ö ü ő ő ö ú í ö


í í ö ő ú ö ú í í ő ö í ö ő í ő í í í ö ő í ö í í ő ü í ü ő ö í ü ö ö ü í ö ú ü ö ő ö ü ö

ő í ü ű ó ó ö ö ű ó ő ő ő ö ö ő ó ő í ő ó ö ö ő ó ő ó ö ő ő ő ö ö ü ó ö ő ő ő ú Í ö ö í ő ú ö ő ő ő ő ő ö ö ö ő Á ó ő ő í í ő ő í ö ő ő ő ö ő í ö ü ő

ű ű ó ó ő ő ö őí üí ö í ü ő ö ö ü ó ó ő ő ö ő ö ő ö ü ó ó ó ü ú í ó í ő ö ő í ü ü ő ó ő í ü ü í ü í í ü ő ő ü Á

í á á á í á á á ő í ő ö ö ó ó á á ü á á ö í ó á á ö ű á ú á ü á ö á ő ő ő á á ő ő á á ő ő á ő á í á ó á í ó ó á í ó ö á ö í á í ő ö í ó ö í űö ű ó ö ü

Utazás Általános. Általános - Alapvető, létfontosságú dolgok. Általános - Beszélgetés. Segítségkérés

Ú ű Í Í É ű Í Í ű Í ű É ű ű É É Ü ű Í Á Í ÜÚÍ

XML EXtensible Markup Language

1. Az XML és XHTML nyelvek. Az XML leíró nyelv Szabályok XHTML írásra. Tartalom Az XML leíró nyelv

Pótalkatrész Katalógus Kuplungmatika

30 MB INFORMATIKAI PROJEKTELLENŐR

ő í í ú Ü ü ő ő ő ü ü ő ü ő í ú ü ő ü ü őí ó ú ó ü ü É ú ú ü ü ő ü ő ü ü ő ú ó ó ó ü ő ú ő ó í ő í ü ü ő ó ú ő ú ó ü ü ü ő ü őí ú ú É ü ő í ó ü í ü ő

DocBook útmutató. Jeszenszky Péter Debreceni Egyetem, Informatikai Kar

HASZNÁLATI ÉS TELEPÍTÉSI ÚTMUTATÓ

ö ö ö ő ö ő ö ő ü ö ü ö ő ö ő ő ő ú ö ö

Számelmélet. Oszthatóság

ö é ö ó é é é ó é é é ő ó ü é ű é í ü é é ó é é é ö é é ó é é ü é ó é é é é ú ó é ő ő é é é ü é é é É ó í ú ü é é ő Ő é í é é é é é ő é ő ű é ó ö ö é

ö ó í ü ű ö ő í ö í ó í Ú ó őú í ó í ö ú ú ó ó ö ö ö ú ó í ő ö ó í ó ö ö ö ú ó ó ű í ó ő í ó ő ó ó ú ó ö ő ó ú ó ú ü ü ö ö ó ú ú í í ó ó ó ö ó ú í ö ü

Á ö ü í ó Í ü í ó ü ő ő í ő ü í ó ü ő ű Á É í ő ú ű ó ö ő ő ó

ő ő ű ű ö ö ö ű ő ő ö í ö ő ő ű ő í ü ű ú ö ő ő ö ő ő ö ő í ő ö ő ü ö ő ő ő ü ö ő ő í ü í ö ő ő ő ő ő ö ő Á ő Á

É Ú Á Ó ő í ö ó ó ú ó ó ó ő ő ó ó ó ó ó ó í ö ő íí

É É ú ú ú ö ö Í ü ö ö Í Í Í Í ö É ö ö ö ö ü ö Í ö ö ö Í ö ű ö ö ö Í Í Í Í Í Í Í ö ö Í Í Í Ú ö Í ű ö

ó Ó ú ó ó ó Á ó ó ó Á ó ó ó ó Á ó ú ó ó ó

ü ö ü ú í ü ö ü ö ö Ö ó ö ö ö ö ö ó ö ö ö í ü ü ö ü í ü ü í ű ú ö Ö ú ü ü É í ö ó ó ű í ö ó ü í ö ú

Ú ő ű ú ő ö ű ő ö í ő ő ő ő ő ü ö ű ö í ü ü ú ú ö ü ö ő ő ö ő ő ú ő ő ö ő ő ő ő ő ő ő ő ő ö ű ü ő ö ő ő ö ő í ő í ő ö ö ő ő ő ű ű ő

Átírás:

Tecnologias XML Extensible Stylesheet Language Transformation - XSLT

XSLT XSL - Extensible Stylesheet Language Linguagem para transformação e formatação de um documento XML XSL deu origem a 3 normas: XPath que define um modo de navegação e localização da informação num documento XML. XSL-FO ( Formating Objects) que especifica a formatação dos documentos. XSLT (Transformation) que especifica transformações sobre um documento XML

XSLT XSLT Transformações sobre um documento XML Documento de entrada XSLT Processor Documento de saída XML XML PDF XHTML... XSLT templates XSLT stylesheet

Referenciar uma folha de estilos XSLT num XML <?XML VERSION="1.0" ENCODING="ISO-8859-1"?> <?XML-STYLESHEET TYPE="TEXT/XSL" HREF="CATALOG.XSL"?> <CATALOG> <BOOK ID="12"> <TITLE>DISCOVER JAVA</TITLE> <AUTHORS> <AUTHOR>ED TITTEL</AUTHOR> <AUTHOR>BILL BROGDEN</AUTHOR> </AUTHORS> <PUBLISHER>IDG BOOKS WORLDWIDE</PUBLISHER> <ISBN>0-7645-8024-8</ISBN> <PRICE>24.99</PRICE> <PUBDATE>1997</PUBDATE> </BOOK> <BOOK ID="23"> </BOOK> </CATALOG> Documento catalog.xsl

Um processador XSLT trabalha sobre uma representação em árvore da estrutura hierárquica de um documento XML Root (/) <?xml-stylesheet type="text/xsl" href="temp.xsl"?> <catalog> <book> <book>... <title> <Authors> <publisher> <ISBN> <price> <pubdate> id= 12" Discover Java <author> Ed Tittel <author> Bill Brogden IDG Books Worldwide 0-7645-8024-8 24.99 1997 output

Exemplo de uma folha de estilos <?xml version="1.0" encoding="iso-8859-1"?> <xsl:stylesheet version="1.0 xmlns:xsl="http://www.w3.org/1999/xsl/transform"> <xsl:template match="/catalog" > <books> <xsl:apply-templates select="book"/> </books> Root (/) <catalog> <xsl:template match="book" > <title_publisher> <xsl:value-of select="title" />, <xsl:value-of select="publisher" /> </title_publisher> </xsl:stylesheet> <book> <book> output catalog.xml catalog.xsl

XSLT Uma folha de estilo XSLT consiste numa série de templates que, conjuntamente com expressões baseadas em XPath, determinam como o processador vai aplicá-las aos nós do documento fonte. Para cada template, o processador procura no documento o nó que verifica o padrão definido e aplica as acções definidas nesse template Os templates são instanciados para todos os nós onde é efectuado o match

Análise da folha catalog.xsl Os documentos XSLT são documentos XML <?xml version="1.0" encoding="iso-8859-1"?> A raíz do documento é o elemento xsl:stylesheet <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/xsl/transform"> xsl:template inicia um template com um atributo match que indica os nós a que deve ser aplicado. <xsl:template match="/catalog" > <books> <xsl:apply-templates select="book"/> </books> Expressão XPath

Análise da folha catalog.xsl O elemento xsl:apply-templates faz chamada aos outros templates <xsl:apply-templates select="book"/> <xsl:template match="book" > <title_publisher> <xsl:value-of select="title" />, <xsl:value-of select="publisher" /> </title_publisher> Extracção de dados do documento de entrada Todo o texto que não faz parte do espaço de nomes xsl: fará parte do documento resultado. <title_publisher> </title_publisher> xsl:value-of extrai o texto de um nó seleccionado: <title> e <publisher>

Navegação na árvore - XPath O XSLT usa expressões XPath para localizar nós na árvore do documento de entrada Expressões XPath são usadas nos atributos select e match Semelhante à navegação numa árvore de directórios Caminhos absolutos e relativos Um caminho absoluto começa sempre pelo carácter '/', caso contrário são caminhos relativos ao nó corrente absoluto: /catalog/book/title relativo: authors/author

Navegação na árvore - XPath Selectores de nós: / - representa a raiz ou uma relação pai/filho. - representa o nó corrente.. - representa o nó pai do nó corrente @ - modo de aceder a atributos @nomedoatributo * - representa qualquer nó // - todos os nós descendentes de um nó ou no principio de um caminho todos os descendentes da raiz Exemplos de selecções de nós../../title //author @* selecciona o elemento title do pai do pai do nó corrente selecciona todos os nós author independentemente da sua posição na árvore selecciona todos os atributos no contexto actual. /catalog/book/@id seleciona o atributo id do nó book, filho de catalog debaixo da raiz../author selecciona todos os nós author filhos do nó corrente

Navegação na árvore - XPath Predicados (filtros) Os predicados são filtros para refinar a pesquisa Os predicados são escritos entre [ ] Exemplos: /book[@id] - selecciona o nó book se tiver um atributo id /catalog/book[2] - selecciona o segundo nó book Funções Xpath number position() devolve a posição do nó actual book[position()=1] number last() devolve o índice do ultimo nó no conjunto de nós. book[last()] number count(node-set) devolve o número de nós do conjunto de nós argumento <xsl:value-of select="count(authors/author)" />

Exemplo de transformação XML - HTML Anotação e Texto para o documento de saida exemplo... <xsl:template match="/catalog" > <html><head> <body> <title>xml to HTML</title> </head> <xsl:apply-templates /> </body></html> <xsl:template match="book" > <h3><b>título: <xsl:value-of select="title /> </b></h3> <h5>editora: <xsl:value-of select="publisher" /> </h5> catalogtohtml Elementos xsl para extrair informação

Elementos XSLT xsl:for-each define um template que vai ser aplicado a todos os nós seleccionados pela expressão do atributo select. <xsl:template match="/" > <html><body><table border="1"> <xsl:for-each select="catalog/book"> <tr><td> <xsl:value-of select="title" /> </td> <td> <xsl:for-each select="authors/author"> <br><xsl:value-of select="." /></br> </xsl:for-each></td> <td> <xsl:value-of select="publisher" /></td> <td> <xsl:value-of select="isbn" /></td> <td> <xsl:value-of select="price" /></td> <td> <xsl:value-of select="pubdate" /></td> </tr> </xsl:for-each> </table></body></html> </xsl:stylesheet> resultado catalogfor.xsl

Elementos XSLT xsl:sort A ordenação é especificada com elementos xsl:sort como filhos de elementos xsl:apply-templates ou xsl:for-each A chave de ordenação é especificada pelo atributo select Pode ser especificada mais de uma chave de ordenação usando vários xsl:sort. <xsl:template match="/" > <html><body><h3>lista de autores </h3> <xsl:for-each select="catalog/book/authors/author"> <xsl:sort data-type="text" order="ascending" /> <br><xsl:value-of select="." /></br> </xsl:for-each> </body></html> resultado catalogsort.xsl

Elementos XSLT xsl:if Instrução condicional O atributo test define a expressão a avaliar Não tem else <xsl:if test=" not(position()=last())" > <xsl:if test= price < < 20 > xsl:choose (switch) <xsl:choose> <xsl:when test = boolean-expression> </xsl:when> <xsl:otherwise> </xsl:otherwise> exemplo catalogif.xsl </xsl:choose> exemplo catalogchoose.xsl

Elementos XSLT xsl:element insere elementos na árvore resultado da transformação O nome do elemento é definido pelo atributo name <xsl:template match="/catalog" > <xsl:element name="books"> <xsl:apply-templates select="book"/> </xsl:element> xsl:attribute Insere atributos. O nome do atributo é definido pelo atributo name. O valor do atributo é determinado pelo conteúdo do template exemplo catalogelement.xsl

Elementos XSLT xsl:copy elemento para criar uma cópia do nó corrente não copia atributos, nem filhos xsl:copy-of copia tudo o que for seleccionado pelo atributo select <xsl:template match="book"> <xsl:copy-of select="."> </xsl:copy-of> exemplo catalogcopy.xsl

Templates por omissão Quando não existe nenhum template são aplicados templates por omissão. Template por omissão para nós elemento e raíz: <xsl:template match="* /"> <xsl:apply-templates/> Template por omissão para nós texto e atributo: <xsl:template match="text() @*"> <xsl:value-of select="."/> exemplo minimal.xsl

Nova estrutura XML Criar um novo documento xml com outra estrutura autores autor autor... exemplo nome obra isbn novaestrutura.xsl <xsl:template match="/" > <autores> <xsl:apply-templates select="//author" > <xsl:sort select="." /> </xsl:apply-templates> </autores> <xsl:template match="author" > <xsl:element name="autor"> <xsl:element name="nome"> <xsl:value-of select="." /> </xsl:element> <xsl:element name="obra"> <xsl:attribute name="isbn" > <xsl:value-of select="../../isbn" /> </xsl:attribute> <xsl:value-of select="../../title" /> </xsl:element> </xsl:element>...