XML - Vad är det? Hur vet jag vad som är vad - End Note? Publikationsreferens. XML för bibliotekarier. Anders Ardö.

Relevanta dokument
XML. Extensible Markup Language

Vad är XSLT XSLT extensible Stylesheet Language Transformations

XSLT. Extensible Stylesheet Language Transformations

<sid nr="1" av="2" /> Stackenföreläsning: XML & XSLT: Intro. XML och XSLT

Strukturering med XML och DTD

Konstruktion av datorspråk

Heldag om FGS FGS:er och deras tekniska regelverk. Karin Bredenberg, FGS funktionen. Standarder. FGS:er och deras tekniska regelverk 1

Vad är XML XML. Exempel - SMIL. Exempel - XHTML. extensible Markup Language

Hantera informationspaket i system för bevarande


Uppmärkningsspråk. TDP007 Konstruktion av datorspråk Föreläsning 4. Peter Dalenius Institutionen för datavetenskap

Extensible Stylesheet Language Transformations (XSLT) och XML Path Language (XPath)

Informationsmodellering och e-infrastrukturer

Uppmärkningsspråk. TDP007 Konstruktion av datorspråk Föreläsning 3. Peter Dalenius Institutionen för datavetenskap

Kompletterande exempel till XSLT

XML. Dagens föreläsning. Vad är XML extencible Markup Language. Exempel - XHTML

Dagens föreläsning. Vad är XML. Exempel - XHTML. extencible Markup Language

Uppmärkningsspråk. TDP007 Konstruktion av datorspråk Föreläsning 3. Peter Dalenius Institutionen för datavetenskap

Introduction to the Semantic Web. Eva Blomqvist

En snabb titt på XML LEKTION 6

ITK:P2 F1. Hemsidor med HTML HTML. FTP, HTTP, HTML, XML och XHTML

XML och C#.NET Att hantera XML-dokument

Metaspråket XML Mika Suonvieri

Vad är XLink. XLink/XPointer/XSLT-FO. Namespace. Simple Links

Webbteknik. Innehåll. Historisk återblick Teknisk beskrivning Märkspråk Standardisering Trender. En kort introduktion

XML. XML is a method for putting structured data in a text file

SKÖRDNING AV LOKALA DATAKÄLLOR I XML. Marika Lundqvist Umeå universitetsbibliotek

Introduktion till XSLT

Arbeta med Selected Works en lathund

Föreläsning 3 i kursen: Monica Langerth Zetterman Uppsala universitet. Extensible Style Language (XSL) är en språkfamilj

Webbplats analys emreemir.com

Creo Customization. Lars Björs

Webbens grundbegrepp. Introduktion till programmering. Ytterligare exempel. Exempel på webbsida. Föreläsning 5

JavaScript in SharePoint and not just for Apps. Wictor Wilén

Paketstruktur. Karin Bredenberg /

Förvaltningsgemensam specifikation för leverans av enstaka publikationer till Kungliga biblioteket (FGS-PUBL)

Introduktion till programmering

Vad är XML Schemas. XML Schemas. Varför XML Schmas. Namespace

Lathund för validering av avhandlingar i LUCRIS

LUPregistration. Manual för registrering av avhandlingar 1:

Dokumentschema förpackning av externa objekt. Version: 1.0 Status: Standard Datum:

IMPORTERA POSTER TILL DIVA Anvisning för export av poster från andra databassystem för import till DiVA

Informationsteknik Document Schema Definition Languages (DSDL) Part 8: Document Semantics Renaming Language (DSRL) (ISO/IEC :2009, IDT)

Webbplats analys akcpdistributor.de.ipaddress.com

WEBBUTVECKLING Kursplanering

När: Fredag 18:e november :15 Vem: Peter Fredin & Daniel Jansson Var: Libris användargrupp katalogisering

PubMed (Medline) Fritextsökning

TNMK30 - Elektronisk publicering

Webbplats analys cite4me.org

E-pliktleverans via RSS-feeds

Att börja med EndNote och inställningar som bör göras innan man lägger in referenser (170301)

METADATASTANDARDER EN ORIENTERING

Introduk+on +ll programmering i JavaScript

Europeana Data Model vad, varför och hur

HTML och CSS. Eric Elfving Institutionen för datavetenskap. 18 augusti 2015

extensible Markup Language

En kort introduktion till EAD. av Magnus Wåhlberg vid RFV/avd. för verksamhetsstöd/dokumentenheten

Introduktion till programmering D0009E. Föreläsning 1: Programmets väg

Sökning med prefix i BOOK-IT PUB

Webbplats analys akcpsensor.de.ipaddress.com

BEHANDLINGSREGLER. för. e-tullräkning

729G74 IT och programmering, grundkurs. Tema 2, Föreläsning 1 Jody Foo,

PubMed lathund Örebro universitetsbibliotek Medicinska biblioteket.

Kursplanering Utveckling av webbapplikationer

Webbplats analys askgeek.io

Innehåll Introduktion... 3 InteractiveScene.config... 3 Scener <scenes>... 3 Typsnitt <fonts>... 3 Övergångar <transitions>...

Översikt. Mer om XML & TEI Kurstillfälle 2. Grundläggande principer 1. Grundläggande principer 2. Hierarkisk dokumentmodell. XML & flexibilitet

Outline. 1 Reiteration. 2 Att konstruera en enkel Web Site. 3 Hypertextlänkar. 4 Hypertextlänkar till andra resurser. 5 Additional topics

Webbplats analys google.com

Introduktion till objektorientering. Vad är objektorientering egentligen? Hur relaterar det till datatyper? Hur relaterar det till verkligheten?

DI Studio nyheter

Webbplats analys akcpdistributor.de.cutestatvalue.com

Pass 4. Exempel på metadatastandarder. SND Svensk nationell datatjänst

LUPregistration. Manual för registrering. av avhandlingar 1:

Språk för webben introduk4on 4ll HTML

Olle Olsson. SICS ( ) W3C ( ) ) BeyondIT Page 1

*:96 Overheads. Nested distribution lists. Part 3d: Mailing lists. Modes of distribution to many recipients

Skapandet av en databas, produktkatalog och hemsida

EDA095 HTML. Per Andersson. April 26, Lund University Innehåll: HTML, CSS, DOM, JavaScript

Generering av XSLT-dokument

HTML5 Semantic. Informationen kommer från w3schools.com. En semantisk elementet beskriver tydligt dess betydelse för både webbläsaren och utvecklaren.

Webbplats analys akcp-shop.de

ADDML vid Riksarkivet i Sverige

ALEPH ver. 18 ALEPH Digital Asset Module (ADAM)

Cinahl sökguide. Enkel sökning. Ämnesordsökning

Prioriterade standarder, Handledning, Vägledning, Utbildning Mats Åhlin

Webbplats analys webstatinfo.com

Slutrapport Vertikala Sökmotorer Uppdrag från.se:s Internetfond Våren 2008

icore Solutions. All Rights Reserved.

Webbplats analys skillmd.com

Förvaltningsgemensam specifikation för leverans av enstaka publikationer till Kungliga biblioteket (FGS-PUBL)

Webbplats analys article2seorank.space

Schematransformation SLU

Lösningsförslag, tentamen i Databaser

Att skriva dokumentation i DocBook för Proview

Labora&on 2 HTML och validering övningar/uppgi:er

Föreläsning 4. CSS Stilmallar för webben

Workshop 3 Omvandling av bibliografiska data med XSLT

Quality and Environmental Management System

Webbplats analys pechaticentr.ru

Transkript:

1 Introduktion - Vad är det? för bibliotekarier Anders Ardö EIT Elektro- och informationsteknik, Lunds Universitet November 28, 2008 2 Vad är? - detaljer 3 Xpath, XSLT, Schema,... gory details 4 Exempel 5 Sammanfattning Slides, handouts och links: http://combine.it.lth.se/4lib/ A. Ardö, EIT - Vad är det? November 28, 2008 1 / 39 A. Ardö, EIT - Vad är det? November 28, 2008 2 / 39 Publikationsreferens Exempel från EIT K. Golub, T. Hamon, A. Ardö: Automated Classification of Textual Documents Based on a Controlled Vocabulary in Engineering Knowledge Organisation, Vol. 34, No. 4, pp. 247-263, 2007. Exempel från LU Koraljka Golub, Thierry Hamon, Anders Ardö Automated Classification of Textual Documents Based on a Controlled Vocabulary in Engineering Artikel i tidskrift, Knowledge Organisation, 2007, 34, 4, 247-263 A. Ardö, EIT - Vad är det? November 28, 2008 3 / 39 Hur vet jag vad som är vad - End Note? K. Golub, T. Hamon, A. Ardö: Automated Classification of Textual Documents Based on a Controlled Vocabulary in Engineering Knowledge Organisation, Vol. 34, No. 4, pp. 247-263, 2007. TY - JOUR ID - LUP609194 TI - Automated Classification of Textual Documents Based o AU - Golub,Koraljka AU - Hamon,Thierry AU - Ardö,Anders PY - 2007/// SP - 247 EP - 263 JF - Knowledge Organisation VL - 34 IS - 4 PB - Ergon Verlag ER - A. Ardö, EIT - Vad är det? November 28, 2008 4 / 39

Hur vet jag vad som är vad - BibTeX? Hur vet jag vad som är vad -? K. Golub, T. Hamon, A. Ardö: Automated Classification of Textual Documents Based on a Controlled Vocabulary in Engineering Knowledge Organisation, Vol. 34, No. 4, pp. 247-263, 2007. @article{lup609194, <Author>Golub, Koraljka</author> author = {Golub, Koraljka and Hamon, Thierry and Ard\"o, Anders}, title = {{Automated Classification of Textual Documents Based on a Controlled Vocabulary in Engineering}}, <journal>automated Classification of...</journal> journal = {Knowledge Organisation}, <title>knowledge Organisation</title> volume = {34}, number = {4}, publisher = {Ergon Verlag}, pages = {247--263}, year = {2007}, } A. Ardö, EIT - Vad är det? November 28, 2008 5 / 39 K. Golub, T. Hamon, A. Ardö: Automated Classification of Textual Documents Based on a Controlled Vocabulary in Engineering Knowledge Organisation, Vol. 34, No. 4, pp. 247-263, 2007. $ xmllint noout ex1.xml ex1.xml:3: parser error : Opening and ending tag mismatch: Author line 3 and author <Author>Golub, Koraljka</author> ^ A. Ardö, EIT - Vad är det? November 28, 2008 6 / 39 Hur vet jag vad som är vad -? K. Golub, T. Hamon, A. Ardö: Automated Classification of Textual Documents Based on a Controlled Vocabulary in Engineering Knowledge Organisation, Vol. 34, No. 4, pp. 247-263, 2007. <journal>automated Classification of...</journal> <title>knowledge Organisation</title> <pages><start>247</start><end>263</end></pages> $ xmllint noout ex2.xml A. Ardö, EIT - Vad är det? November 28, 2008 7 / 39 Rätt eller fel? <journal>automated Classification of...</journal> <title>knowledge Organisation</title> DTD fil <!ELEMENT publication (author+,journal,title,pages?)> <!ELEMENT author (#PCDATA)> <!ELEMENT journal (#PCDATA)> <!ELEMENT title (#PCDATA)> <!ELEMENT pages (start,end)> <!ELEMENT start (#PCDATA)> <!ELEMENT end (#PCDATA)> A. Ardö, EIT - Vad är det? November 28, 2008 8 / 39

Rätt eller fel - W3C Schema? Rätt eller fel? Lämpligt eller olämpligt? <schema xmlns="http://www.w3.org/2001/schema"> <element name="publication"> <complextype> <journal>automated Classification of...</journal> <sequence> <title>knowledge Organisation</title> <element name="author" type="string" minoccurs="1" maxoccurs="unbounded"/> <journal vol="34" no="4">knowledge Organisation</journal> <element name="journal" type="string" minoccurs="1" maxoccurs="1" <pages> /> <start>247</start> <end>263</end> </pages> <element name="title" type="string" minoccurs="1" maxoccurs="1" /> <element name="pages" maxoccurs="1"> <complextype> <sequence> <element name="start" type="integer"/> <element name="end" type="integer"/> </sequence> </complextype> </element> </sequence> </complextype> </element> A. Ardö, EIT - Vad är det? November 28, 2008 9 / 39 </schema> Exempel MODS MODS : http://lup.lub.lu.se/linker/609194 Metadata Object Description Schema (MODS): http://www.loc.gov/standards/mods/ MODS applikationsprofil för LUP Formellt korrekt! $ xmllint noout dtdvalid mypubl.dtd ex2.xml $ xmllint noout schema myw3cschema.xsd ex2.xml ex2.xml validates Men olämpligtbättre Inget som schema kan hjälpa oss med Använd applikationsprofil A. Ardö, EIT - Vad är det? November 28, 2008 10 / 39 <dateother type= defencedate > = Date of defence Dagen för en disputation. Använder attributet encoding med värde w3cdtf vilket betyder att datum skrivs som YYYY-MM-DD. Exempel <dateother encoding= w3cdtf type= defencedate >2007-09-15</dateOther> <titleinfo> = Title Ett verks titel. Vi använder också <titleinfo type= alternative > när titeln t. ex. översätts vilket fr a används i dokumenttyp theses där det kan finnas sammanfattning och titel på annat språk än avhandlingen är skriven på. type= alternative > används också för originaltiteln på ett... A. Ardö, EIT - Vad är det? November 28, 2008 11 / 39 A. Ardö, EIT - Vad är det? November 28, 2008 12 / 39

= Gramatik/struktur - inte semantik Separerar struktur och layout Rötter i SGML Strukturera information Regler för hur (nya) format kan definieras Många standardverktyg för att bearbeta Ingenting om hur informationen ska visas Kan inte automatiskt hitta rätt information Bara ett verktyg - fast användbart för datorer! Semantik i applikationsprofilen extensible Markup Language Google: ungefär 431 000 000 vid sökning efter xml. Hello world dokument Kodning Storlek PostScript 11274 PDF 4915 MS Word 19456 HTML 28 62 A. Ardö, EIT - Vad är det? November 28, 2008 13 / 39 A. Ardö, EIT - Vad är det? November 28, 2008 14 / 39 Taggning Alltid bara ett root-element Träd-strukturerat Måste vara korrekt balanserad (nästlad) - well formed FEL <title>what is <author>anders</title></author> RÄTT<title>What is <author>anders</author></title> Size matters - versaler/gemena Olika element <title>what is</title> <Title>Where is</title> Element kan ha attribut: <author role="primary">anders</author> <journal vol="34" no="4">knowledge Organisation</journal> Tagging contd. Entiteter - specialtecken Tecken Kodning Namn < < Less-than > > Greater-than & & Ampersand " " Double quote &apos; Apostrophe or single quote &#xyz; Character no xyz Namespaces används för att lösa konflikter <article xmlns:mods="http://www.loc.gov/mods/v3" xmlns:journal="anders/egen/namespace.9654321"> <mods:name>anders Ardö</mods:name> <journal:name>cacm</journal:name> </article> Processing nodes, syntax: <?...?> A. Ardö, EIT - Vad är det? November 28, 2008 15 / 39 A. Ardö, EIT - Vad är det? November 28, 2008 16 / 39

Trädrepresentation Document Object Model - DOM - Trädrepresentation <journal>knowledge Organisation</journal> publication author author title journal pages Objekt för alla delar av -trädet Operationer som nodename, nodevalue, parentnode, childnodes, nextsibling documentelement (root), getelementsbytagname, createelement, createattribute, insertbefore, appendchild Tillgängligt i flera programspråk Finns andra modeller som SAX Standard API för program start end A. Ardö, EIT - Vad är det? November 28, 2008 17 / 39 A. Ardö, EIT - Vad är det? November 28, 2008 18 / 39 XPath - node-set <journal>knowledge Organisation</journal> XPath publication author author title journal pages start end XPath expression: /publication/pages/end Pekar ut node-set A. Ardö, EIT - Vad är det? November 28, 2008 19 / 39 A. Ardö, EIT - Vad är det? November 28, 2008 20 / 39

XPath - attribute XPath - test <author primary="yes">golub, Koraljka</author> <author primary="no">ardö, Anders</author> <journal>knowledge Organisation</journal> <author primary="yes">golub, Koraljka</author> <author primary="no">ardö, Anders</author> <journal>knowledge Organisation</journal> publication publication author author title journal pages author author title journal pages primary primary start end primary primary start end XPath expression: /publication/author/@primary XPath expression: /publication/author[@primary= yes ] A. Ardö, EIT - Vad är det? November 28, 2008 21 / 39 A. Ardö, EIT - Vad är det? November 28, 2008 22 / 39 XPath - sökvägar Jämför sökväg för filer location path (absolut/relativ => kontext), expressions,... Mycket mer Används i XSLT XSLT A. Ardö, EIT - Vad är det? November 28, 2008 23 / 39 A. Ardö, EIT - Vad är det? November 28, 2008 24 / 39

XSL - exstensible Stylesheet Language XSLT - XSL Transformations Hur gör man HTML//text av? XSL skript XSLT - exempel <author primary="yes">golub, Koraljka</author> <author primary="no">ardö, Anders</author> <author>hamon, Thierry</author> <journal>knowledge Organisation</journal> - <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/xsl/transform" version="1.0"> <xsl:output method="text"/> <xsl:template match="/publication"> Publ. <xsl:apply-templates select="author"/> </xsl:template> XSLT Utdata <xsl:template match="author"> <xsl:text>is </xsl:text> <xsl:if test="@primary= yes ">Primary author: <xsl:value-of select="."/></xsl:if> <xsl:if test="@primary= no ">Author: <xsl:value-of select="."/></xsl:if> </xsl:template> </xsl:stylesheet> A. Ardö, EIT - Vad är det? November 28, 2008 25 / 39 $ xsltproc xsltex.xsl ex4.xml Publ. Is Primary author: Golub, Koraljka Is Author: Ardö, Anders Is A. Ardö, EIT - Vad är det? November 28, 2008 26 / 39 XQuery Superset av XPath Som XSLT fast inte XSLT enklare och bra på traversera XQuery mer databas programmering Kan emulera varandra Schema A. Ardö, EIT - Vad är det? November 28, 2008 27 / 39 A. Ardö, EIT - Vad är det? November 28, 2008 28 / 39

Schema DTD Formell definition Kontrollera korrekthet Flera olika DTD - Document Type Definition W3C Schema RelaxNG and more Enkelt Begränsningar Saknar constraints, data-typer, Kontext-oberoende Uttrycks inte i Stödjer inte namespaces A. Ardö, EIT - Vad är det? November 28, 2008 29 / 39 A. Ardö, EIT - Vad är det? November 28, 2008 30 / 39 Rätt eller fel? <journal>automated Classification of...</journal> <title>knowledge Organisation</title> DTD fil <!ELEMENT publication (author+,journal,title,pages?)> <!ELEMENT author (#PCDATA)> <!ELEMENT journal (#PCDATA)> <!ELEMENT title (#PCDATA)> <!ELEMENT pages (start,end)> <!ELEMENT start (#PCDATA)> <!ELEMENT end (#PCDATA)> A. Ardö, EIT - Vad är det? November 28, 2008 31 / 39 W3C Schema Mer uttrycksfullt Skrivs i Tillåter constraints, har fler data-typer Delvis kontext-oberoende Komplicerat A. Ardö, EIT - Vad är det? November 28, 2008 32 / 39

Rätt eller fel - W3C Schema? <schema xmlns="http://www.w3.org/2001/schema"> <element name="publication"> <complextype> <sequence> <element name="author" type="string" minoccurs="1" maxoccurs="unbounded"/> <element name="journal" type="string" minoccurs="1" maxoccurs="1" /> <element name="title" type="string" minoccurs="1" maxoccurs="1" /> <element name="pages" maxoccurs="1"> <complextype> <sequence> <element name="start" type="integer"/> <element name="end" type="integer"/> </sequence> </complextype> </element> A. Ardö, EIT - Vad är det? November 28, 2008 33 / 39 </sequence> </complextype> </element> </schema> Exempel applikationer Exempel A. Ardö, EIT - Vad är det? November 28, 2008 34 / 39 Exempel och databaser LUP/MODS MARC: http://www.loc.gov/standards/marcxml/ OAI: http://www.openarchives.org/oai/openarchivesprotocol.html Dublin Core: http://dublincore.org/documents/dc-xml-guidelines/ RSS: http://www.xml.com/pub/a/2002/12/18/dive-into-xml.html Web services: http://sv.wikipedia.org/wiki/web_service SRU http://www.loc.gov/standards/sru/specs/ -> Search/Retrieve Operation http://www.loc.gov/standards/sru/specs/search-retrieve.html -> Records http://www.loc.gov/standards/sru/specs/searchretrieve.html#records Zebra http://www.indexdata.dk/zebra/ -> Documentation HTML http://www.indexdata.dk/zebra/doc/ -> DOM Record Filter Architecture http://www.indexdata.dk/zebra/doc/record-modeldomxml.tkl#record-model-domxml-filter Solr/Lucene http://lucene.apache.org/solr/features.html Messages for Updating a Solr Index http://wiki.apache.org/solr/updatexmlmessages A. Ardö, EIT - Vad är det? November 28, 2008 35 / 39 A. Ardö, EIT - Vad är det? November 28, 2008 36 / 39

Sammanfattning Slutet - äntligen Struktur inte layout Taggat, trädtsruktur, väl balanserat Bra verktyg med stort stöd Populärt, standardiserat Flexibelt Formell validering av struktur (inte semantik) Datorer kan förstå och behandla XPath, XSLT, (DOM) A. Ardö, EIT - Vad är det? November 28, 2008 37 / 39 A. Ardö, EIT - Vad är det? November 28, 2008 38 / 39 Mer att läsa Moeller/Schwartzenbach: An Introduction to and Web Technologies. Addison Wesley 2006, ISBN 0-321-26966-7. http://www.brics.dk/ixwt/ O REILLY pocket reference XSLT Webb tutorial: http://www.w3schools.com/xml/ XSLT tutorial: http://www.w3schools.com/xsl/ XPath tutorial: http://www.w3schools.com/xpath/ in libraries: A workshop/eric Lease Morgan http://infomotions.com/musings/xml-in-libraries/ http://www.xml.com/ http://sv.wikipedia.org/wiki/ Kurser EITN01 Webb-intelligens och informationssökning http://www.eit.lth.se/kurs/eitn01 EITN05 Projekt Semantisk Webb-programmering http://www.eit.lth.se/kurs/eitn05 A. Ardö, EIT - Vad är det? November 28, 2008 39 / 39