XML-oppgaver

XML-editor

Som alternativ til XMLSpy, går det fint å bruke den Java-baserte Exchanger XML Editor , som kan brukes fritt i ikke-kommersielle omgivelser. Den har støtte for redigering av XSLT- og XML Schema-dokumenter, og kan brukes til transformasjoner og validering mot skjemaer (DTD og XML Schema).

Oppgave 1

Ta følgende XML-fil, som lagrer konfigurasjon av musikkfiler i en mediespiller, som utgangspunkt: music_library.xml (XML)

  1. Lag et XML Schema-dokument for markeringsspårket som er brukt.
  2. Lag et XSLT-dokument som transformerer XML-dokumentet til et XHTML-dokument som lister albumene og singlene i musikkbiblioteket og deres ulike spor som en liste i to nivåer. Sorter stigende på utgivelsesår. Ta en titt på XHTML-dokumentet for å se hvordan resultatet av transformasjonen skal bli. Som du kan se, er dataene som trengs fra kildedokumentet: 1) Tittel, artistnavn og utgivelsesår for albumene og singlene og 2) Tittel og spilletid i minutter og sekunder for sporene.

Oppgave 2

Ta følgende XML-dokument med valutakurser som utgangspunkt: currency.xml (XML)

  1. Lag et XML Schema-dokument for markeringsspråket som er brukt.
  2. Lag et XSLT-dokument som transformerer XML-dokumentet til et XHTML-dokument som viser valutakursene i en tabell, sortert alfabetisk på den engelske varianten av land. Kolonnene i tabellen skal inneholde: 1) Engelsk navn på land, 2) Valutakoden (tre bokstaver), 3) Veksleenheten, 4) Transfer-kjøpepris og 5) Transfer-salgspris. Tittelen og hovedoverskriften i dokumentet skal være Currency exchange rate med den tre-bokstavers valutakoden for XML-dokumentet i parentes. Hent denne koden fra kildedokumentet i stedet for å «hardkode» den. Resultatdokumentet skal også innehodle et avsnitt med datoen for valutakursene. Ta en titt på XHTML-dokumentet for å se hvordan resultatet av transformasjonen skal bli.

Oppgave 3

Ta følgende XML-dokument med utdrag fra WordNet som utgangspunkt: wordnet.xml (XML)

  1. Lag et XML Schema-dokument for markeringsspråket som er brukt.
  2. Lag et XSLT-dokument som transformerer XML-dokumentet til et XHTML-dokument som viser en nummerert liste med et listepunkt for hver synonymgruppe. Hvert listepunkt skal vise alle ordene tilhørende synonymgruppen – uthevet og med komma mellom – samt forklaringen av synonymgruppen (gloss-elementet) etter et kolon. Hvert ord skal ha et bokmerke (XHTML-elementet a med attributtet name) med samme navn som ordet selv. Alle ord i forklaringene som peker til andre definisjoner, er markert med elementet defined_word i XML-filen. Disse skal transformeres til en internlenke som peker til bokmerket med samme navn (XHTML-elementet a med attributtet href, der attributtverdien har tegnet # foran). Ta en titt på XHTML-dokumentet for å se hvordan resultatet av transformasjonen skal bli.
  3. (Vanskelig) Navn på bokmerker og lenkemål (henholdsvis attributtene name og href til XHTML-elementet a) kan ikke inneholde ordskillere i gyldig XHTML. Hvis du transformerer direkte, vil du møte dette problemet på ord som chromatic color og total darkness. I resultatdokumentet over er alle ordskillerne derfor erstattet med tegnet _. Forbedre XSLT-dokumentet ditt slik at ditt resultatdokument blir likt (og derfor gyldig XHTML). Vi forutsetter at ordene maksimalt inneholder én ordskiller.
    TIPS: Se på bruk av variabler og XPath-funksjonene substring-before og substring-after (slå opp i XPath-spesifikasjonen).

Oppgave 4

Ta følgende XML-dokument med Dublin Core-poster som utgangspunkt: oconnor_dc.xml (XML)

  1. Lag et XSLT-dokument som transformerer dokumentet til MARCXML etter Library of Congress' anbefalinger i dokumentet Dublin Core/MARC/GILS Crosswalk .

Løsningsforslag

Oppgave 1

Oppgave 2

Oppgave 3

Oppgave 4