• Nie Znaleziono Wyników

Technologie Internetu

N/A
N/A
Protected

Academic year: 2021

Share "Technologie Internetu"

Copied!
20
0
0

Pełen tekst

(1)

Technologie Internetu

wykład 13a: Podstawowe technologie XML - uzupełnienie

Piotr Habela

Polsko-Japońska Wyższa Szkoła

Technik Komputerowych

(2)

W poprzednich wykładach…

• XPath – język deklaratywnego dostępu do zawartości XML.

• XSL jako środek wizualizacji i transformacji dokumentów XML:

– Deklaratywny język dla formułowania reguł przekształceń;

– Reguły XSLT podane w postaci tzw. szablonów (template);

– Przekształcenia takie pozwalają m.in. na wizualizację dokumentu XML poprzez dołączanie informacji formatujących.

• Hiperłącza:

– Podstawa filozofii WWW;

– Bardzo prosta konstrukcja (wskazanie dokumentu lub punktu w dokumencie);

– Ulegają dezaktualizacji.

(3)

Plan wykładu

• Transformacje XSL – streszczenie i przykłady;

• Scenariusze zastosowania XSL;

• Problem formatowania i prezentacji treści;

• XSL Formatting Objects;

• XLink – łączenie dowolnych zasobów sieci

Internet.

(4)

Scenariusze przekształceń XSLT (1)

• Określanie rodzaju dokumentu wynikowego: bezpośrednio w xsl:stylesheet można umieścić element xsl:output

określający budowę dokumentu wynikowego. Niektóre z dostępnych tam atrybutów to:

– method = {xml, html, text} -> rodzaj dokumentu wynikowego;

– encoding -> rodzaj kodowania;

– indent = {yes, no} -> czy stosować znaki białe dla uzyskania wcięć;

np. <xsl:output method=”xml” encoding=”utf-8” indent=”yes” />

• Transformacja może służyć stworzeniu innego dokumentu XML o zmienionej strukturze:

– We wzorcach stosuje się wówczas elementy: xsl:element, xsl:attribute, celem zbudowania nowej struktury.

– Scenariusz ten może być istotny dla dopasowywania struktur do postaci uzgodnionej w wymianie dokumentów elektronicznych pomiędzy instytucjami.

(5)

Scenariusze przekształceń XSLT (2)

• Możliwe jest tworzenie innego arkusza XSLT w oparciu o dane dostarczone w źródłowym dokumencie (np. celem personalizacji sposobu wyświetlania).

• Wymaga to utworzenia sztucznej przestrzeni nazw dla

dokumentu wynikowego w odróżnieniu od przestrzeni XSL, aby ta pierwsza identyfikowała elementy docelowe, które nie

powinny być interpretowane przy bieżącej transformacji. Z kolei w dokumencie wynikowym powinny one należeć do przestrzeni nazwowej XSL aby arkusz wynikowy mógł służyć

przekształceniom.

• Problem ten rozwiązuje polecenie (element)

xsl:namespace-alias:

<xsl:namespace-alias stylesheet-prefix=”tymczasowa”

result-prefix=”xsl” />

• Przedrostki te muszą być uprzednio zadeklarowane w elemencie xsl:stylesheet:

<xsl:stylesheet xmlsn:xsl=”http://www.w3c.org/1999/XSL/Transform”

version=”1.0” xmlns:tymczasowa=”Faktycznie_nie_istnieje” >

(6)

Kaskadowe arkusze stylów a XSLT

• Możliwe jest zastosowanie CSS do formatowania dokumentu wynikowego. Arkusz CSS może występować wewnątrz

arkusza XSLT lub rezydować w odrębnym pliku zewnętrznym.

• Przykładowo, przy transformacji do dokumentu HTML można umieścić w regule przekształceń fragment kodu

konstruujący nagłówek strony HTML, zawierające odwołanie do zewnętrznego CSS:

<head>

<link rel=”stylesheet” href=”naszArkusz.css” />

</head>

• Wstawianie definicji stylu do tego samego dokumentu odbywa się analogicznie.

• Jeszcze jedną opcją jest wstawianie w miejscu wykorzystania atrybutów stylu dla poszczególnych wyprowadzanych

elementów HTML.

(7)

Wyodrębnianie aspektów dokumentu

• Dążenie do udoskonalenia środków zarządzania treścią, zaowocowało następującym kierunkami rozdziału

informacji w dokumentach XML:

– oddzielenie informacji o wymaganej strukturze treści (schemat dokumentu) od samej treści;

– oddzielenie treści od informacji o układzie i stylach prezentacji.

• Ten pierwszy aspekt jest zrealizowany dzięki wyposażeniu specyfikacji XML w środki DTD oraz XML Schema.

• Ten drugi jest częściowo realizowany przez CSS. Jak

zobaczymy dalej, w ramach tego zagadnienia warto z kolei wyodrębnić:

– Reorganizację treści i stosowanie doń stylów;

– Układ dokumentu oraz reguły osadzania w nim treści.

(8)

Dokumenty kierowane treścią i kierowane układem

• Stephen Deach (Adobe Systems Incorporated) podkreśla w swoim artykule zróżnicowanie dokumentów na:

– Kierowane treścią (content-driven);

– Kierowane układem (layout-driven).

• Dokumenty kierowane treścią:

– Tutaj nadrzędnym czynnikiem organizującym prezentację jest treść.

– Np. podręczniki, instrukcje, dokumentacja projektowa, spisy teleadresowe, spisy, raporty, umowy, zbiory prac, listy;

– Raczej prosty układ i jednolite zastosowanie stylów.

– Przekształcenia stylów zgodne z hierarchiczną budową treści dokumentu; jest łatwiejsze do zautomatyzowania poprzez sformułowanie reguł;

– Możliwość zastosowania dziedziczenia stylów;

– Rozwiązania stylów dla SGML oraz kaskadowe arkusze stylów (CSS) zostały stworzone głownie z myślą o dokumentach

kierowanych treścią.

(9)

Dokumenty kierowane układem

• Np. gazety, czasopisma, reklamy, druki reklamowe, prezentacje, formularze, opakowania produktów.

• Najpierw określenie układu; potem alokacja treści w jego przestrzeniach;

• Zwykle złożony projekt strony;

• Treść może być poprzeplatana inną zawartością i występować w rozrzuconych segmentach;

• Umiejscowienie elementów i układ treści mogą nieść dodatkowy przekaz;

• Dokument stanowi kombinację treści różnego typu.

• Pożądana jest unikalność; powinny przyciągać uwagę.

• Istnieją dokumenty, których charakter łączy obie te kategorie (kierowanie układem i treścią).

• Strony Webu noszą wiele cech dokumentów kierowanych układem.

• Z kolei np. przy wydruku ich treści bardziej pożądana jest organizacja kierowana treścią…

(10)

XSL – Formatting Objects

• Stanowią część standardu XSL:

– XSL stanowi rodzinę 3 rekomendacji sporządzonych przez XSL Working Group W3C: XSL Transformations (XSLT), XML Path Language (XPath) oraz eXtensible Stylesheet Language. To

ostatnie dla uniknięcia nieporozumień określa się zwykle jako XSL-FO.

• Koncepcja działania procesora stylów – dwa aspekty:

– konstruowanie drzewa wynikowego elementu, => zwane transformacją drzewa;

– interpretacja drzewa wynikowego celem uzyskania odpowiedniego formatu prezentacji (ekran, papier, mowa, inne medium). =>

zwane formatowaniem.

• Przykładem formatowania może być przetwarzanie

dokumentu przy wyświetlaniu przez przeglądarkę.

(11)

Tworzenie i wykorzystanie dokumentu XSL FO

• XSL-FO jest formatem pośrednim pomiędzy niezależnym od nośnika XML oraz zależną od nośnika postacią

końcową.

Dokument XML + arkusz XSLT => XSL FO XSL FO + (fonty + zewnętrzna grafika…)

=> Postać wyjściowa (ekran, kod wydruku, PDF…)

• Powstanie dokumentu XSL FO:

– utworzenie bezpośrednie;

– zastosowanie transformacji źródłowego dokumentu XML;

• Założeniem projektowym XSL FO było automatyczne

generowanie dokumentów w tym formacie.

(12)

Język XLink

(13)

XLink - charakterystyka

• XLink (XML Linking Language) rozszerza koncepcję odsyłaczy HTML. Zastosowanie języka: łączenie

dowolnych zasobów sieci Internet.

• Samodzielna specyfikacja (tj. nie objęta XML v. 1.0).

Wymaga zatem zadeklarowania przestrzeni nazwowej:

http://www.w3.org/1999/xlink, zwyczajowo z przydzieleniem prefiksu xlink.

• Pokonuje następujące ograniczenia odsyłaczy HTML:

– brak możliwości oznaczenia charakteru odnośnika;

– mają charakter binarny (łączą jedynie pary dokumentów: źródłowy i docelowy);

– są zawarte w dokumencie źródłowym (nie mogą być przechowywane zewnętrznie);

– problemem jest aktualizacja;

– mogą wskazywać dokumenty lub punkty w dokumentach, ale nie np. elementy dokumentu XML.

(14)

Odsyłacze proste XLink

• Rozszerzenie odsyłaczy języka HTML;

• Podobnie jak one, są osadzane w dokumencie źródłowym;

• Punkt docelowy opisywany poprzez adres URI;

• Wyróżniane atrybutem xlink:type=”simple”; np.

<odsylacz xlink:href =”http://www.firma.com/dokument.htm”

xlink:type=”simple”>

• Możliwość wskazywania konkretnych elementów dokumentu XML (lokalnego lub zewnętrznego):

– przy użyciu wartości jego identyfikatora: do URI dołączamy

”#wartoscIdentyfikatora”, tj. np. xlink:href=”#rozdzial_1”;

– bez użycia identyfikatora: korzystając ze środków języka XPath, ew. XPointer; np. <odsylacz xmlns:xlink=

”http://www.w3c.org/2000/xlink” xlink:type=”simple”

xlink:href=”http://firma.com/dokument.xml#xpointer(

//sprawozdanie/zamowienia[4])” />

(15)

Odsyłacze rozszerzone (extended) i ich składowe

• Wielokierunkowość – poprzez możliwość przechowywania odesłań do wielu miejsc;

• Możliwość określania ról poszczególnych powiązań odsyłacza;

• Wyróżniane atrybutem xlink:type=”complex”;

• Dostępne są następujące podelementy:

– Wskaźnik (locator), określający lokację zewnętrznych (w

stosunku do samego odsyłacza a niekoniecznie do dokumentu) zasobów;

– Zasób (resource), określający lokalne zasoby. Musi zawierać w sobie inne elementy XML, stanowiące opisywany przezeń zasób.

– Łuk (arc), określający połączenia nawigacyjne pomiędzy zasobami;

– Tytuł (title), określający czytelną dla człowieka nazwę.

• Powyższe podelementy mogą występować samodzielnie

albo wewnątrz odsyłacza complex.

(16)

Atrybuty opisujące odsyłacze

• type – określa typ odsyłacza;

• href – identyfikuje zasób wskazywany przez odsyłacz. Może to być adres względny lub bezwzględny.

• role – podaje URI zawierający opis (definicję) roli zasobu wskazywanego przez dany odsyłacz;

• arcrole – podaje URI zawierający opis (definicję) roli samego łuku łączącego zasoby;

• show, actuate – sposób prezentacji i przetwarzania połączonych zasobów;

• label – deklaruje etykietę, która może zostać wykorzystana przy definiowaniu połączeń pomiędzy zasobami;

• from, to – służą definiowaniu powiązań pomiędzy elementami w oparciu o ich etykiety;

• title – czytelna dla człowieka nazwa odnośnika podana w postaci atrybutu.

Jak wspomniano wyżej, title może być również podawany jako podelement.

Ta nadmiarowość została wprowadzona z myślą o umożliwieniu umieszczania wielu tytułów (np. w różnych wersjach językowych) dla danego odnośnika.

(17)

Określanie przejść pomiędzy zasobami

• Wskazywane przez odnośnik (resource lub locator) mogą być łączone łukami (arc), określającymi przewidziane przejścia nawigacyjne

pomiędzy elementami;

• W tym celu odnośniki opatruje się wartościami atrybutu etykiety (label).

• W przeciwieństwie do identyfikatorów elementów, taka konstrukcja umożliwia zdefiniowanie przejść pomiędzy wieloma parami

elementów za pomocą deklaracji jednego łuku (np. rozdział-> spis treści).

• Pominięcie elementu to i / lub from powoduje dalsze rozszerzenie deklaracji łuku na odpowiednio połączenia do wszystkich i / lub od wszystkich zdefiniowanych odsyłaczami zasobów.

• Przypomnijmy: rola samego łuku może być opisana poprzez lokalizację podaną atrybutem xlink:arcrole. Pozwala to niejako określić klasę danego łuku i wykorzystać tę informację do

grupowania przy prezentacji zasobów.

(18)

Odsyłacze rozszerzone

• Identyfikowane typem: xlink:type=”extended”;

• Mogą zawierać wewnątrz odsyłacze zasobów (resource), odnośniki (locator), łuki (arc).

• Tworzą bazę odsyłaczy, umieszczaną zwykle w odrębnym pliku.

• W ramach odsyłaczy rozszerzonych łuki mogą łączyć jedynie lokalnie zdefiniowane zasoby.

• Zewnętrzne bazy odsyłaczy

– określane jako out-of-line links, w przeciwieństwie do tradycyjnych odsyłaczy zwanych inline links;

– koncepcja redukuje problem aktualizacji odsyłaczy: zestawienia odnośników na dany temat mogą zostać „wyciągnięte przed

nawias” i przechowywane w jednym miejscu.

(19)

Określanie sposobu zachowania się odsyłaczy

• Atrybut show określa sposób wyświetlania wskazywanego zasobu:

– new: w nowym oknie/ramce;

– replace: zastąpienie aktualnie prezentowanej treści;

– embed: wstawienie treści odsyłacza w dokument;

– other: informacja o sposobie wyświetlania umieszczona gdzie indziej;

– none: brak informacji o sposobie wyświetlania.

• Atrybut actuate określa sposób aktywowania formularza:

– onLoad – przy ładowaniu dokumentu źródłowego;

– onRequest – w przypadku wybrania przez użytkownika;

– other – sposób aktywacji określony w innym miejscu;

– none – sposób aktywacji nie został określony.

(20)

XLink – podsumowanie

• Zastosowanie: łączenie dowolnych zasobów sieci Internet.

• Rozszerza koncepcji odsyłaczy HTML;

• Pozwala na klasyfikację zasobów i odsyłaczy;

• Umożliwia tworzenie zewnętrznych baz odsyłaczy;

• Udostępnia środki deklarowania powiązań

nawigacyjnych (łuków).

Cytaty

Powiązane dokumenty

• Adres URL żądania wskazuje albo na dokument HTML zawierający interpretowane przez serwer skrypty, lub określa program, który generuje całość zwracanego dokumentu;..

• Niezbędny jest większy wpływ na konfigurację systemu klienta niż w wypadku architektury grubego klienta.. • Wymaga stabilnej łączności sieciowej (dłuższe czasy

• Podstawowym zagrożeniem jest nieuprawniony dostęp do danych zgromadzonych przez aplikację WWW.. • Istotnym sposobem ochrony serwera

• Dla znanych typów dokumentów (tj. dla których istnieją definicje typu), można sprawdzić zgodność dokumentu ze specyfikacją typu.. Program

• Obydwa atrybuty należy zadeklarować w definicji typu elementu (możliwe, że jako stałe lub z wartością domyślną), którego będą

• Deklaracje elementów mogą występować globalnie, w ramach definicji typu złożonego albo w ramach definicji innego elementu.. • Definicje typów mogą wystąpić globalnie

element posiada atrybut typu ID, to można się doń odwołać poprzez wartość tego identyfikatora: xpointer(id(”a1234”)) albo z zewnątrz, następująco konstruując

– Umożliwia : tworzenie elementu, atrybutu, węzła tekstowego, komentarza, sekcji znakowej, instrukcji przetwarzania, referencji do encji zewnętrznej ; tworzenie fragmentu