SlideShare a Scribd company logo
1 of 19
1
STI INNSBRUCK
FERATEL SCHEMA.ORG PLUGIN
IMPLEMENTATION
Zaenal Akbar, Ioan Toma, Christoph Fuchs, Corneliu Valentin
Stanciu, Lanzanasto Norbert
STI Innsbruck, University of Innsbruck,
Technikerstraße 21a, 6020 Innsbruck, Austria
firstname.lastname@sti2.at
2014-05-19
Semantic Technology Institute Innsbruck
STI INNSBTRUCK
Technikerstraße 21a
A – 6020 Innsbruck
Austria
http://www.sti-innsbruck.
1
Contents
1. Introduction....................................................................................................................................2
2. Implementation...............................................................................................................................2
2.1. Mark-up Format.......................................................................................................................2
2.2. XML Elements Mapping...........................................................................................................3
2.3. XSLT with Microdata...............................................................................................................3
3. Evaluation ......................................................................................................................................5
4. Discussion......................................................................................................................................8
Appendix A. An XML Response of Event............................................................................................9
Appendix B. An XST Transformation for Event .................................................................................12
Appendix C. Transformed XML of Event ..........................................................................................15
References .......................................................................................................................................18
2
1. Introduction
This document presents the implementation of Feratel-Schema.org plugin. Based on the
implementation plan [1], the plugin is designed to consume an XML response output from
Feratel API [2], parsing the XML elements and properties then mapping each element/property
to related class/ property from Schema.org, and finally insert the class/property into the XML
output using an XSL Transformation [3].
The outputs of this implementation are:
1. The markup format to be used
2. The mapping between XML element to Schema.org class including their properties
3. The XSL Transformation for each relevant element/property
2. Implementation
For notation, if does not mentioned explicitly, we use “element” to refer to an XML element
from Feratel API and “class” to a class from Schema.org.
The basic rules implementation to transform the elements to their relevant classes are described
as follow:
1. For each element in Feratel XML:
a. If there is a suitable class in Schema.org then use the class as property value of
the markup format for this element
b. If not then introduce a new element to represent the related class
2. For each property of element in Feratel XML:
a. If the element has a related class in Schema.org then use the relevant property
from the class
b. If not then introduce a new element to represent the class of related property
The solution for each desired output from the previous section will be explained in more detail in
the following sub-sections.
2.1. Mark-up Format
There are various formats available to annotate an XML such as RDFa [4] and Microdata [5],
where both formats are supported by Schema.org.
Since we use the Apache Any23 [6] to extract the annotated XML, after tested with these two
formats, we found that Microdata is more convenient to interlinking a class to other class (i.e to
link a class Event to class PostalAddress though property location).
3
2.2. XML Elements Mapping
The mapping is representing a relation between the elements of Feratel XML and the classes of
Schema.org including their properties.
Table 1 Mapping XML element to Schema.org class
No. XML Element
Schema.org
Class Property
1 Event Event
Event/Details/Names/Translation name
Event/Details/Dates/Date
@From startDate
@To endDate
2 Event/Details/Position GeoCoordinates ??
@Latitude latitude
@Longitude longitude
Event/Descriptions/Description description
Event/Links/Link url
3 Event/Addresses/Address PostalAddress location
Event/Addresses/Address/Company ?? ??
Event/Addresses/Address/FirstName ?? givenName
Event/Addresses/Address/LastName ?? familyName
Event/Addresses/Address/AddressLine1 streetAddress
Event/Addresses/Address/AddressLine2 streetAddress
Event/Addresses/Address/Country addressCountry
Event/Addresses/Address/ZipCode postalCode
Event/Addresses/Address/Town addressRegion
Event/Addresses/Address/Email email
Event/Addresses/Address/Fax faxNumber
Event/Addresses/Address/URL url
Event/Addresses/Address/Phone telephone
Event/Addresses/Address/Mobile telephone
2.3. XSLT with Microdata
Based on the obtained mapping shown at Table 1, then we construct the transformation by using
the XSL transformation as follow:
1. Namespaces declaration
From the Feratel XML output (see Appendix A), it has a specific namespace
“http://interface.deskline.net/DSI/XSD”, therefore this namespace is required to be declared
in the XSL namespaces.
<xsl:stylesheet version="1.0"
4
xmlns:idn="http://interface.deskline.net/DSI/XSD"
xmlns:schema="http://schema.org/"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
2. Element to Class transformation
An XSL template can be used to transform the mapping between an element to a related class
directly. A property to interlinking between classes can be inserted whenever it’s required
(i.e. between Event to its PostalAddress).
<xsl:template match="idn:Event">
<Event itemscope="" itemtype="http://schema.org/Event">
<xsl:apply-templates select="node()|@*"/>
</Event>
</xsl:template>
<xsl:template match="idn:Address">
<Address itemprop="location" itemscope=""
itemtype="http://schema.org/PostalAddress">
<xsl:apply-templates select="node()|@*"/>
</Address>
</xsl:template>
3. Element’s properties to relevant Class’s properties
Properties transformation can be implemented directly as a new property of related element.
<xsl:template match="idn:Event/idn:Descriptions/idn:Description">
<Description itemprop="description">
<xsl:apply-templates select="node()|@*"/>
</Description>
</xsl:template>
<xsl:template match="idn:Address/idn:Country">
<Country itemprop="addressCountry">
<xsl:value-of select="."/>
</Country>
</xsl:template>
4. Element’s properties transformation without a relevant Class
A special transformation is required whenever a property has no relevant class. For example,
property FirstName in XML is covered by the element Address where in Schema.org the
relevant property givenName is covered by class Person. Therefore, a meta element to
represent class Person needs to be inserted first.
<xsl:template match="idn:Event/idn:Details/idn:Dates/idn:Date">
<Date>
<xsl:apply-templates select="node()|@*"/>
</Date>
<time itemprop="startDate" datetime="{@From}" />
<time itemprop="endDate" datetime="{@To}" />
</xsl:template>
<xsl:template match="idn:Address/idn:FirstName">
5
<schema:Person itemprop="owner" itemscope=""
itemtype="http://schema.org/Person">
<FirstName itemprop="givenName">
<xsl:value-of select="."/>
</FirstName>
<LastName itemprop="familyName">
<xsl:value-of select="../idn:LastName"/>
</LastName>
</schema:Person>
</xsl:template>
3. Evaluation
For evaluation we will use Event as input from Feratel API (see Appendix A). The XSL Transformation
for Event shown at Appendix B and produce output at Appendix C.
The output from Apache Any23 [6] is shown as follow:
------------------------------------------------------------------------
Apache Any23 :: rover
------------------------------------------------------------------------
@prefix foaf: <http://xmlns.com/foaf/0.1/> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix doac: <http://ramonantonio.net/doac/0.1/#> .
_:node2ef56d19853fde73a26d76e4fbc19ce a <http://schema.org/Event> ;
<http://schema.org/Event/startDate> "2010-07-
30"^^<http://www.w3.org/2001/XMLSchema#date> .
_:node975779997e46bf1c502ae7c4e9863e7 a <http://schema.org/PostalAddress> ;
<http://schema.org/PostalAddress/streetAddress> "Am Wald 1" , "Null" ;
<http://schema.org/PostalAddress/postalCode> "88605" ;
<http://schema.org/PostalAddress/faxNumber> "Null" ;
<http://schema.org/PostalAddress/email> "Null" ;
<http://schema.org/PostalAddress/addressRegion> "Messkirch" .
_:noded99eb72852e18a5aa2a5fb17182d1c a <http://schema.org/Person> ;
<http://schema.org/Person/familyName> "Huber" ;
<http://schema.org/Person/givenName> "Null" .
_:node975779997e46bf1c502ae7c4e9863e7
<http://schema.org/PostalAddress/owner> _:noded99eb72852e18a5aa2a5fb17182d1c
;
<http://schema.org/PostalAddress/addressCountry> "DE" ;
<http://schema.org/PostalAddress/telephone> "Null" , "Null" ;
<http://schema.org/PostalAddress/url> "Null" .
_:node2ef56d19853fde73a26d76e4fbc19ce <http://schema.org/Event/location>
_:node975779997e46bf1c502ae7c4e9863e7 .
_:nodef2cce7629b732aad2a981c5a354ac99 a <http://schema.org/PostalAddress> ;
<http://schema.org/PostalAddress/streetAddress> "Am Wald 1" , "Null" ;
<http://schema.org/PostalAddress/postalCode> "88605" ;
6
<http://schema.org/PostalAddress/faxNumber> "Null" ;
<http://schema.org/PostalAddress/email> "Null" ;
<http://schema.org/PostalAddress/addressRegion> "Messkirch" .
_:nodef36dadee38e72b3b342985111c7f17 a <http://schema.org/Person> ;
<http://schema.org/Person/familyName> "Huber" ;
<http://schema.org/Person/givenName> "Null" .
_:nodef2cce7629b732aad2a981c5a354ac99
<http://schema.org/PostalAddress/owner> _:nodef36dadee38e72b3b342985111c7f17
;
<http://schema.org/PostalAddress/addressCountry> "DE" ;
<http://schema.org/PostalAddress/telephone> "Null" , "Null" ;
<http://schema.org/PostalAddress/url> "Null" .
_:node2ef56d19853fde73a26d76e4fbc19ce <http://schema.org/Event/location>
_:nodef2cce7629b732aad2a981c5a354ac99 .
_:node124cb58e71fc618e639d69d5373a61a5 a <http://schema.org/PostalAddress> ;
<http://schema.org/PostalAddress/streetAddress> "Am Wald 1" , "Null" ;
<http://schema.org/PostalAddress/postalCode> "88605" ;
<http://schema.org/PostalAddress/faxNumber> "Null" ;
<http://schema.org/PostalAddress/email> "Null" ;
<http://schema.org/PostalAddress/addressRegion> "Messkirch" .
_:node8873d4f96487c9f74044422bde2d2af5 a <http://schema.org/Person> ;
<http://schema.org/Person/familyName> "Huber" ;
<http://schema.org/Person/givenName> "Null" .
_:node124cb58e71fc618e639d69d5373a61a5
<http://schema.org/PostalAddress/owner>
_:node8873d4f96487c9f74044422bde2d2af5 ;
<http://schema.org/PostalAddress/addressCountry> "DE" ;
<http://schema.org/PostalAddress/telephone> "Null" , "Null" ;
<http://schema.org/PostalAddress/url> "Null" .
_:node2ef56d19853fde73a26d76e4fbc19ce <http://schema.org/Event/location>
_:node124cb58e71fc618e639d69d5373a61a5 .
_:nodef31aaf75bfbb1b23e591a93b6f1a07f a <http://schema.org/PostalAddress> ;
<http://schema.org/PostalAddress/streetAddress> "Am Wald 1" , "Null" ;
<http://schema.org/PostalAddress/postalCode> "88605" ;
<http://schema.org/PostalAddress/faxNumber> "Null" ;
<http://schema.org/PostalAddress/email> "Null" ;
<http://schema.org/PostalAddress/addressRegion> "Messkirch" .
_:nodec1e189ed086df66450c24bee26697d a <http://schema.org/Person> ;
<http://schema.org/Person/familyName> "Huber" ;
<http://schema.org/Person/givenName> "Null" .
_:nodef31aaf75bfbb1b23e591a93b6f1a07f
<http://schema.org/PostalAddress/owner> _:nodec1e189ed086df66450c24bee26697d
;
<http://schema.org/PostalAddress/addressCountry> "DE" ;
<http://schema.org/PostalAddress/telephone> "Null" , "Null" ;
<http://schema.org/PostalAddress/url> "Null" .
7
_:node2ef56d19853fde73a26d76e4fbc19ce <http://schema.org/Event/location>
_:nodef31aaf75bfbb1b23e591a93b6f1a07f ;
<http://schema.org/Event/description> "Dieses Mega-Event findet direkt
am Faaker-See statt." ;
<http://schema.org/Event/name> "Beach-Party" , "Beach-Party" ;
<http://schema.org/Event/endDate> "2010-08-
01"^^<http://www.w3.org/2001/XMLSchema#date> ;
<http://schema.org/Event/url> "http://www.test.com" .
<http://localhost:8080/feratel/Feratel>
<http://www.w3.org/1999/xhtml/microdata#item>
_:node2ef56d19853fde73a26d76e4fbc19ce .
------------------------------------------------------------------------
Apache Any23 SUCCESS
Total time: 2s
Finished at: Mon May 19 11:21:23 CEST 2014
Final Memory: 48M/480M
------------------------------------------------------------------------
It is successfully extracted:
1. Event
a. startDate
b. description
c. name
d. endDate
e. url
2. PostalAddress
a. streetAddress
b. postalCode
c. faxNumber
d. email
e. addressRegion
f. addressCountry
g. telephone
h. url
i. owner
3. Person
a. familyName
b. givenName
8
4. Discussion
There are a few transformations (marked with red color) need to be considered and discussed:
1. Property Company is covered by the element Address in Feratel XML. We could not find a
relevant property from a class of Schema.org.
2. Properties FamilyName and LastName is covered by the element Address in Feratel XML. We
introduce a new class Person from Schema.org to cover these properties, but we do not have an
exact property to link the PostalAddress to this Person yet. At the moment we use “owner”.
3. The effect of those newly introduced elements/properties to the TVb’s program which consume
the annotated XML need to be tested.
9
Appendix A. An XML Response of Event
The output from Feratel API of Event obtained from Deskline Documentation [2].
<?xml version="1.0"?>
<FeratelDsiRS xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema" Status="0" Message="OK"
xmlns="http://interface.deskline.net/DSI/XSD">
<Result Index="1">
<Events>
<Event Id="eaff6469-2dc8-4369-9ac3-51f9baf9dddd" ChangeDate="2010-05-
21T16:41:00">
<Details>
<Names>
<Translation Language="de">Beach-Party</Translation>
<Translation Language="en">Beach-Party</Translation>
</Names>
<Location>
<Translation Language="de">Grand Hotel Patricia</Translation>
<Translation Language="en">Grand Hotel Patricia</Translation>
</Location>
<Active>true</Active>
<Towns>
<Item Id="090a18ae-5d50-421e-a65a-c5a2b8227ae5" />
<Item Id="2f7c71f3-f375-434b-9a04-49f474df6b68" />
</Towns>
<Position Latitude="13.9056015014648" Longitude="46.6095920078523"
/>
<IsTopEvent>false</IsTopEvent>
<HolidayThemes>
<Item Id="090a18ae-5d50-421e-a65a-c5a2b8227ae5" />
<Item Id="2f7c71f3-f375-434b-9a04-49f474df6b68" />
</HolidayThemes>
<ConnectedEntries>
<ConnectedEntry Type="EventInfrastructure" Id="2f050ae2-85f5-
4a99-8c92-075ff4b3f58b" />
<ConnectedEntry Type="EventInfrastructure" Id="034927b4-062e-
499e-9bea-bb638814dae5" />
<ConnectedEntry Type="EventServiceProvider" Id="e59a3a87-8b76-
423a-9a54-767ddc405d90" />
</ConnectedEntries>
<SerialEvents>
<SerialEvent Id="3a8b8857-500c-4693-8afe-7ec4c258b234" />
</SerialEvents>
<Visibility>Local</Visibility>
<Dates>
<Date From="2010-07-30" To="2010-08-01" />
</Dates>
<StartTimes>
<StartTime Time="00:23:00" Mon="false" Tue="false" Wed="false"
Thu="false" Fri="true" Sat="true" Sun="true" />
</StartTimes>
<Duration Type="None">0</Duration>
</Details>
<Addresses>
<Address Type="Organizer" ChangeDate="2009-10-01T14:17:00">
10
<Company>Hotel Sonne, Abr. Res.</Company>
<FirstName />
<LastName>Huber</LastName>
<AddressLine1>Am Wald 1</AddressLine1>
<AddressLine2 />
<Country>DE</Country>
<ZipCode>88605</ZipCode>
<Town>Messkirch</Town>
<Email />
<Fax />
<URL />
<Phone />
<Mobile />
</Address>
<Address Type="Booking" ChangeDate="2009-10-01T14:17:00">
<Company>Hotel Sonne, Abr. Res.</Company>
<FirstName />
<LastName>Huber</LastName>
<AddressLine1>Am Wald 1</AddressLine1>
<AddressLine2 />
<Country>DE</Country>
<ZipCode>88605</ZipCode>
<Town>Messkirch</Town>
<Email />
<Fax />
<URL />
<Phone />
<Mobile />
</Address>
<Address Type="Info" ChangeDate="2009-10-01T14:17:00">
<Company>Hotel Sonne, Abr. Res.</Company>
<FirstName />
<LastName>Huber</LastName>
<AddressLine1>Am Wald 1</AddressLine1>
<AddressLine2 />
<Country>DE</Country>
<ZipCode>88605</ZipCode>
<Town>Messkirch</Town>
<Email />
<Fax />
<URL />
<Phone />
<Mobile />
</Address>
<Address Type="Venue" ChangeDate="2009-10-01T14:17:00">
<Company>Hotel Sonne, Abr. Res.</Company>
<FirstName />
<LastName>Huber</LastName>
<AddressLine1>Am Wald 1</AddressLine1>
<AddressLine2 />
<Country>DE</Country>
<ZipCode>88605</ZipCode>
<Town>Messkirch</Town>
<Email />
<Fax />
<URL />
<Phone />
11
<Mobile />
</Address>
</Addresses>
<Descriptions>
<Description Id="e57d510f-8a90-4689-a4d5-0b5eb95641a6"
Type="EventHeader" Language="de" Systems="L T I C" ShowFrom="101"
ShowTo="1231" ChangeDate="2010-05-03T16:15:00">Dieses Mega-Event findet
direkt am Faaker-See statt.</Description>
</Descriptions>
<Links>
<Link Id="c857610e-2c5b-4317-bbbc-e5cb81654293" Name="fest"
URL="http://www.test.com" ChangeDate="2010-05-20T16:40:00" Type="0" Order="1"
/>
</Links>
<Facilities ChangeDate="2009-10-01T14:17:00">
<Facility Id="189c28da-b1e1-455b-8a02-1191931ab458" Value="1" />
<Facility Id="9dbe2baf-9c86-4e95-9dc3-55b14730b23b" Value="1" />
</Facilities>
</Event>
</Events>
</Result>
</FeratelDsiRS>
12
Appendix B. An XST Transformation for Event
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0"
xmlns:idn="http://interface.deskline.net/DSI/XSD"
xmlns:schema="http://schema.org/"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"/>
<xsl:template match="node()|@*">
<xsl:copy>
<xsl:apply-templates select="node()|@*"/>
</xsl:copy>
</xsl:template>
<xsl:template match="idn:Result">
<Result>
<xsl:apply-templates select="node()|@*"/>
</Result>
</xsl:template>
<!--
Event
-->
<xsl:template match="idn:Event">
<Event itemscope="" itemtype="http://schema.org/Event">
<xsl:apply-templates select="node()|@*"/>
</Event>
</xsl:template>
<xsl:template match="idn:Event/idn:Details/idn:Names/idn:Translation">
<Translation itemprop="name">
<xsl:apply-templates select="node()|@*"/>
</Translation>
</xsl:template>
<xsl:template match="idn:Event/idn:Details/idn:Dates/idn:Date">
<Date>
<xsl:apply-templates select="node()|@*"/>
</Date>
<time itemprop="startDate" datetime="{@From}" />
<time itemprop="endDate" datetime="{@To}" />
</xsl:template>
<xsl:template match="idn:Event/idn:Descriptions/idn:Description">
<Description itemprop="description">
<xsl:apply-templates select="node()|@*"/>
</Description>
</xsl:template>
<xsl:template match="idn:Event/idn:Links/idn:Link">
<Link>
<xsl:apply-templates select="node()|@*"/>
</Link>
13
<meta itemprop="url" content="{@URL}" />
</xsl:template>
<!--
Address to PostalAddress
-->
<xsl:template match="idn:Address">
<Address itemprop="location" itemscope=""
itemtype="http://schema.org/PostalAddress">
<xsl:apply-templates select="node()|@*"/>
</Address>
</xsl:template>
<!--
<xsl:template match="idn:Address/idn:Company">
<Company itemprop="organizer" itemscope=""
itemtype="http://schema.org/Organization">
<meta itemprop="name" content="." />
<FirstName itemprop="givenName">
<xsl:value-of select="."/>
</FirstName>
<LastName itemprop="familyName">
<xsl:value-of select="../idn:LastName"/>
</LastName>
</Company>
</xsl:template>
<xsl:template match="idn:Address/idn:FirstName" />
-->
<xsl:template match="idn:Address/idn:FirstName">
<schema:Person itemprop="owner" itemscope=""
itemtype="http://schema.org/Person">
<FirstName itemprop="givenName">
<xsl:value-of select="."/>
</FirstName>
<LastName itemprop="familyName">
<xsl:value-of select="../idn:LastName"/>
</LastName>
</schema:Person>
</xsl:template>
<xsl:template match="idn:Address/idn:LastName" />
<xsl:template match="idn:Address/idn:AddressLine1">
<AddressLine1 itemprop="streetAddress">
<xsl:value-of select="."/>
</AddressLine1>
</xsl:template>
<xsl:template match="idn:Address/idn:AddressLine2">
<AddressLine2 itemprop="streetAddress">
<xsl:value-of select="."/>
</AddressLine2>
</xsl:template>
<xsl:template match="idn:Address/idn:Country">
14
<Country itemprop="addressCountry">
<xsl:value-of select="."/>
</Country>
</xsl:template>
<xsl:template match="idn:Address/idn:ZipCode">
<ZipCode itemprop="postalCode">
<xsl:value-of select="."/>
</ZipCode>
</xsl:template>
<xsl:template match="idn:Address/idn:Town">
<Town itemprop="addressRegion">
<xsl:value-of select="."/>
</Town>
</xsl:template>
<xsl:template match="idn:Address/idn:Email">
<Email itemprop="email">
<xsl:value-of select="."/>
</Email>
</xsl:template>
<xsl:template match="idn:Address/idn:Fax">
<Fax itemprop="faxNumber">
<xsl:value-of select="."/>
</Fax>
</xsl:template>
<xsl:template match="idn:Address/idn:URL">
<URL itemprop="url">
<xsl:value-of select="."/>
</URL>
</xsl:template>
<xsl:template match="idn:Address/idn:Phone">
<Phone itemprop="telephone">
<xsl:value-of select="."/>
</Phone>
</xsl:template>
<xsl:template match="idn:Address/idn:Mobile">
<Mobile itemprop="telephone">
<xsl:value-of select="."/>
</Mobile>
</xsl:template>
</xsl:stylesheet>
15
Appendix C. Transformed XML of Event
<?xml version="1.0" encoding="UTF-8"?>
<FeratelDsiRS xmlns="http://interface.deskline.net/DSI/XSD"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema" Status="0" Message="OK">
<Result xmlns:schema="http://schema.org/"
xmlns:idn="http://interface.deskline.net/DSI/XSD" Index="1">
<Events>
<Event itemscope="" itemtype="http://schema.org/Event" Id="eaff6469-
2dc8-4369-9ac3-51f9baf9dddd" ChangeDate="2010-05-21T16:41:00">
<Details>
<Names>
<Translation itemprop="name" Language="de">Beach-
Party</Translation>
<Translation itemprop="name" Language="en">Beach-
Party</Translation>
</Names>
<Location>
<Translation Language="de">Grand Hotel Patricia</Translation>
<Translation Language="en">Grand Hotel Patricia</Translation>
</Location>
<Active>true</Active>
<Towns>
<Item Id="090a18ae-5d50-421e-a65a-c5a2b8227ae5"/>
<Item Id="2f7c71f3-f375-434b-9a04-49f474df6b68"/>
</Towns>
<Position Latitude="13.9056015014648" Longitude="46.6095920078523"/>
<IsTopEvent>false</IsTopEvent>
<HolidayThemes>
<Item Id="090a18ae-5d50-421e-a65a-c5a2b8227ae5"/>
<Item Id="2f7c71f3-f375-434b-9a04-49f474df6b68"/>
</HolidayThemes>
<ConnectedEntries>
<ConnectedEntry Type="EventInfrastructure" Id="2f050ae2-85f5-
4a99-8c92-075ff4b3f58b"/>
<ConnectedEntry Type="EventInfrastructure" Id="034927b4-062e-
499e-9bea-bb638814dae5"/>
<ConnectedEntry Type="EventServiceProvider" Id="e59a3a87-8b76-
423a-9a54-767ddc405d90"/>
</ConnectedEntries>
<SerialEvents>
<SerialEvent Id="3a8b8857-500c-4693-8afe-7ec4c258b234"/>
</SerialEvents>
<Visibility>Local</Visibility>
<Dates>
<Date From="2010-07-30" To="2010-08-01"/>
<time itemprop="startDate" datetime="2010-07-30"/>
<time itemprop="endDate" datetime="2010-08-01"/>
</Dates>
<StartTimes>
<StartTime Time="00:23:00" Mon="false" Tue="false" Wed="false"
Thu="false" Fri="true" Sat="true" Sun="true"/>
</StartTimes>
<Duration Type="None">0</Duration>
</Details>
16
<Addresses>
<Address itemprop="location" itemscope=""
itemtype="http://schema.org/PostalAddress" Type="Organizer" ChangeDate="2009-
10-01T14:17:00">
<Company>Hotel Sonne, Abr. Res.</Company>
<schema:Person itemprop="owner" itemscope=""
itemtype="http://schema.org/Person">
<FirstName itemprop="givenName"/>
<LastName itemprop="familyName">Huber</LastName>
</schema:Person>
<AddressLine1 itemprop="streetAddress">Am Wald 1</AddressLine1>
<AddressLine2 itemprop="streetAddress"/>
<Country itemprop="addressCountry">DE</Country>
<ZipCode itemprop="postalCode">88605</ZipCode>
<Town itemprop="addressRegion">Messkirch</Town>
<Email itemprop="email"/>
<Fax itemprop="faxNumber"/>
<URL itemprop="url"/>
<Phone itemprop="telephone"/>
<Mobile itemprop="telephone"/>
</Address>
<Address itemprop="location" itemscope=""
itemtype="http://schema.org/PostalAddress" Type="Booking" ChangeDate="2009-
10-01T14:17:00">
<Company>Hotel Sonne, Abr. Res.</Company>
<schema:Person itemprop="owner" itemscope=""
itemtype="http://schema.org/Person">
<FirstName itemprop="givenName"/>
<LastName itemprop="familyName">Huber</LastName>
</schema:Person>
<AddressLine1 itemprop="streetAddress">Am Wald 1</AddressLine1>
<AddressLine2 itemprop="streetAddress"/>
<Country itemprop="addressCountry">DE</Country>
<ZipCode itemprop="postalCode">88605</ZipCode>
<Town itemprop="addressRegion">Messkirch</Town>
<Email itemprop="email"/>
<Fax itemprop="faxNumber"/>
<URL itemprop="url"/>
<Phone itemprop="telephone"/>
<Mobile itemprop="telephone"/>
</Address>
<Address itemprop="location" itemscope=""
itemtype="http://schema.org/PostalAddress" Type="Info" ChangeDate="2009-10-
01T14:17:00">
<Company>Hotel Sonne, Abr. Res.</Company>
<schema:Person itemprop="owner" itemscope=""
itemtype="http://schema.org/Person">
<FirstName itemprop="givenName"/>
<LastName itemprop="familyName">Huber</LastName>
</schema:Person>
<AddressLine1 itemprop="streetAddress">Am Wald 1</AddressLine1>
<AddressLine2 itemprop="streetAddress"/>
<Country itemprop="addressCountry">DE</Country>
<ZipCode itemprop="postalCode">88605</ZipCode>
17
<Town itemprop="addressRegion">Messkirch</Town>
<Email itemprop="email"/>
<Fax itemprop="faxNumber"/>
<URL itemprop="url"/>
<Phone itemprop="telephone"/>
<Mobile itemprop="telephone"/>
</Address>
<Address itemprop="location" itemscope=""
itemtype="http://schema.org/PostalAddress" Type="Venue" ChangeDate="2009-10-
01T14:17:00">
<Company>Hotel Sonne, Abr. Res.</Company>
<schema:Person itemprop="owner" itemscope=""
itemtype="http://schema.org/Person">
<FirstName itemprop="givenName"/>
<LastName itemprop="familyName">Huber</LastName>
</schema:Person>
<AddressLine1 itemprop="streetAddress">Am Wald 1</AddressLine1>
<AddressLine2 itemprop="streetAddress"/>
<Country itemprop="addressCountry">DE</Country>
<ZipCode itemprop="postalCode">88605</ZipCode>
<Town itemprop="addressRegion">Messkirch</Town>
<Email itemprop="email"/>
<Fax itemprop="faxNumber"/>
<URL itemprop="url"/>
<Phone itemprop="telephone"/>
<Mobile itemprop="telephone"/>
</Address>
</Addresses>
<Descriptions>
<Description itemprop="description" Id="e57d510f-8a90-4689-a4d5-
0b5eb95641a6" Type="EventHeader" Language="de" Systems="L T I C"
ShowFrom="101" ShowTo="1231" ChangeDate="2010-05-03T16:15:00">Dieses Mega-
Event findet direkt am Faaker-See statt.</Description>
</Descriptions>
<Links>
<Link Id="c857610e-2c5b-4317-bbbc-e5cb81654293" Name="fest"
URL="http://www.test.com" ChangeDate="2010-05-20T16:40:00" Type="0"
Order="1"/>
<meta itemprop="url" content="http://www.test.com"/>
</Links>
<Facilities ChangeDate="2009-10-01T14:17:00">
<Facility Id="189c28da-b1e1-455b-8a02-1191931ab458" Value="1"/>
<Facility Id="9dbe2baf-9c86-4e95-9dc3-55b14730b23b" Value="1"/>
</Facilities>
</Event>
</Events>
</Result>
</FeratelDsiRS>
18
References
[1] Christoph Fuchs and Corneliu Valentin Stanciu, “Feratel Schema.org Plugin
Implementation Plan”, April 2014
[2] Simone Schanitz, “Documentation Deskline 3.0 Standard Interface (DSI)”, March 2014
[3] W3C, “XSL Transformations (XSLT)”, http://www.w3.org/TR/xslt
[4] W3C, “RDFa 1.1 Primer”, http://www.w3.org/TR/xhtml-rdfa-primer/
[5] W3C, “HTML Microdata”, http://www.w3.org/TR/microdata/
[6] Apache Any23, https://any23.apache.org/

More Related Content

Similar to Feratel plugin 19052014

06 xml processing-in-.net
06 xml processing-in-.net06 xml processing-in-.net
06 xml processing-in-.netglubox
 
Feratel mapping technical_notes
Feratel mapping technical_notesFeratel mapping technical_notes
Feratel mapping technical_notesSTIinnsbruck
 
XML2004-schwarzman
XML2004-schwarzmanXML2004-schwarzman
XML2004-schwarzmanaschwarzman
 
Combining and easing the access of the eswc semantic web data 0
Combining and easing the access of the eswc semantic web data 0Combining and easing the access of the eswc semantic web data 0
Combining and easing the access of the eswc semantic web data 0STIinnsbruck
 
A look ahead at spark 2.0
A look ahead at spark 2.0 A look ahead at spark 2.0
A look ahead at spark 2.0 Databricks
 
SAX, DOM & JDOM parsers for beginners
SAX, DOM & JDOM parsers for beginnersSAX, DOM & JDOM parsers for beginners
SAX, DOM & JDOM parsers for beginnersHicham QAISSI
 
Implementing the Open Government Directive using the technologies of the Soci...
Implementing the Open Government Directive using the technologies of the Soci...Implementing the Open Government Directive using the technologies of the Soci...
Implementing the Open Government Directive using the technologies of the Soci...George Thomas
 
Engineering Wunderlist for Android - Ceasr Valiente, 6Wunderkinder
Engineering Wunderlist for Android - Ceasr Valiente, 6WunderkinderEngineering Wunderlist for Android - Ceasr Valiente, 6Wunderkinder
Engineering Wunderlist for Android - Ceasr Valiente, 6WunderkinderDroidConTLV
 
Embedding Metadata In Word Processing Documents
Embedding Metadata In Word Processing DocumentsEmbedding Metadata In Word Processing Documents
Embedding Metadata In Word Processing DocumentsJim Downing
 
The Mythical XML
The Mythical XMLThe Mythical XML
The Mythical XMLThomas Lee
 

Similar to Feratel plugin 19052014 (20)

Session 5
Session 5Session 5
Session 5
 
Tech talk
Tech talkTech talk
Tech talk
 
06 xml processing-in-.net
06 xml processing-in-.net06 xml processing-in-.net
06 xml processing-in-.net
 
MSc dissertation np
MSc dissertation npMSc dissertation np
MSc dissertation np
 
SECh1214
SECh1214SECh1214
SECh1214
 
Feratel mapping technical_notes
Feratel mapping technical_notesFeratel mapping technical_notes
Feratel mapping technical_notes
 
XML2004-schwarzman
XML2004-schwarzmanXML2004-schwarzman
XML2004-schwarzman
 
Combining and easing the access of the eswc semantic web data 0
Combining and easing the access of the eswc semantic web data 0Combining and easing the access of the eswc semantic web data 0
Combining and easing the access of the eswc semantic web data 0
 
2 oop
2 oop2 oop
2 oop
 
The xml
The xmlThe xml
The xml
 
Stax parser
Stax parserStax parser
Stax parser
 
Jazz
JazzJazz
Jazz
 
A look ahead at spark 2.0
A look ahead at spark 2.0 A look ahead at spark 2.0
A look ahead at spark 2.0
 
SAX, DOM & JDOM parsers for beginners
SAX, DOM & JDOM parsers for beginnersSAX, DOM & JDOM parsers for beginners
SAX, DOM & JDOM parsers for beginners
 
Implementing the Open Government Directive using the technologies of the Soci...
Implementing the Open Government Directive using the technologies of the Soci...Implementing the Open Government Directive using the technologies of the Soci...
Implementing the Open Government Directive using the technologies of the Soci...
 
26xslt
26xslt26xslt
26xslt
 
AI Final report 1.pdf
AI Final report 1.pdfAI Final report 1.pdf
AI Final report 1.pdf
 
Engineering Wunderlist for Android - Ceasr Valiente, 6Wunderkinder
Engineering Wunderlist for Android - Ceasr Valiente, 6WunderkinderEngineering Wunderlist for Android - Ceasr Valiente, 6Wunderkinder
Engineering Wunderlist for Android - Ceasr Valiente, 6Wunderkinder
 
Embedding Metadata In Word Processing Documents
Embedding Metadata In Word Processing DocumentsEmbedding Metadata In Word Processing Documents
Embedding Metadata In Word Processing Documents
 
The Mythical XML
The Mythical XMLThe Mythical XML
The Mythical XML
 

More from STIinnsbruck

More from STIinnsbruck (20)

Unister
UnisterUnister
Unister
 
Twoo
TwooTwoo
Twoo
 
Twibes
TwibesTwibes
Twibes
 
Tweet deck 2012-01-02
Tweet deck 2012-01-02Tweet deck 2012-01-02
Tweet deck 2012-01-02
 
Tv handbook revised_100120141
Tv handbook revised_100120141Tv handbook revised_100120141
Tv handbook revised_100120141
 
Tv feratel 13032014
Tv feratel 13032014Tv feratel 13032014
Tv feratel 13032014
 
Tv evaluation 12032014
Tv evaluation 12032014Tv evaluation 12032014
Tv evaluation 12032014
 
T vb publication_rules_11032014
T vb publication_rules_11032014T vb publication_rules_11032014
T vb publication_rules_11032014
 
T vb alignment_022814_0
T vb alignment_022814_0T vb alignment_022814_0
T vb alignment_022814_0
 
Ttr 20130701
Ttr 20130701Ttr 20130701
Ttr 20130701
 
Ttg mapping to_schema.org_
Ttg mapping to_schema.org_Ttg mapping to_schema.org_
Ttg mapping to_schema.org_
 
Ttb 08042014
Ttb 08042014Ttb 08042014
Ttb 08042014
 
Trust you
Trust youTrust you
Trust you
 
Tripwolf
TripwolfTripwolf
Tripwolf
 
Tripbirds
TripbirdsTripbirds
Tripbirds
 
Traveltainment
TraveltainmentTraveltainment
Traveltainment
 
Travelaudience
TravelaudienceTravelaudience
Travelaudience
 
Tourismuszukunft
TourismuszukunftTourismuszukunft
Tourismuszukunft
 
Tourismusverband innsbruck 24.09.2013
Tourismusverband innsbruck 24.09.2013Tourismusverband innsbruck 24.09.2013
Tourismusverband innsbruck 24.09.2013
 
Tourism link
Tourism linkTourism link
Tourism link
 

Recently uploaded

call girls in delhi malviya nagar @9811711561@
call girls in delhi malviya nagar @9811711561@call girls in delhi malviya nagar @9811711561@
call girls in delhi malviya nagar @9811711561@vikas rana
 
Call Girls In Aerocity 🤳 Call Us +919599264170
Call Girls In Aerocity 🤳 Call Us +919599264170Call Girls In Aerocity 🤳 Call Us +919599264170
Call Girls In Aerocity 🤳 Call Us +919599264170Escort Service
 
Philippine History cavite Mutiny Report.ppt
Philippine History cavite Mutiny Report.pptPhilippine History cavite Mutiny Report.ppt
Philippine History cavite Mutiny Report.pptssuser319dad
 
Simulation-based Testing of Unmanned Aerial Vehicles with Aerialist
Simulation-based Testing of Unmanned Aerial Vehicles with AerialistSimulation-based Testing of Unmanned Aerial Vehicles with Aerialist
Simulation-based Testing of Unmanned Aerial Vehicles with AerialistSebastiano Panichella
 
Mathan flower ppt.pptx slide orchids ✨🌸
Mathan flower ppt.pptx slide orchids ✨🌸Mathan flower ppt.pptx slide orchids ✨🌸
Mathan flower ppt.pptx slide orchids ✨🌸mathanramanathan2005
 
Anne Frank A Beacon of Hope amidst darkness ppt.pptx
Anne Frank A Beacon of Hope amidst darkness ppt.pptxAnne Frank A Beacon of Hope amidst darkness ppt.pptx
Anne Frank A Beacon of Hope amidst darkness ppt.pptxnoorehahmad
 
The 3rd Intl. Workshop on NL-based Software Engineering
The 3rd Intl. Workshop on NL-based Software EngineeringThe 3rd Intl. Workshop on NL-based Software Engineering
The 3rd Intl. Workshop on NL-based Software EngineeringSebastiano Panichella
 
James Joyce, Dubliners and Ulysses.ppt !
James Joyce, Dubliners and Ulysses.ppt !James Joyce, Dubliners and Ulysses.ppt !
James Joyce, Dubliners and Ulysses.ppt !risocarla2016
 
Call Girls in Rohini Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Rohini Delhi 💯Call Us 🔝8264348440🔝Call Girls in Rohini Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Rohini Delhi 💯Call Us 🔝8264348440🔝soniya singh
 
OSCamp Kubernetes 2024 | A Tester's Guide to CI_CD as an Automated Quality Co...
OSCamp Kubernetes 2024 | A Tester's Guide to CI_CD as an Automated Quality Co...OSCamp Kubernetes 2024 | A Tester's Guide to CI_CD as an Automated Quality Co...
OSCamp Kubernetes 2024 | A Tester's Guide to CI_CD as an Automated Quality Co...NETWAYS
 
Exploring protein-protein interactions by Weak Affinity Chromatography (WAC) ...
Exploring protein-protein interactions by Weak Affinity Chromatography (WAC) ...Exploring protein-protein interactions by Weak Affinity Chromatography (WAC) ...
Exploring protein-protein interactions by Weak Affinity Chromatography (WAC) ...Salam Al-Karadaghi
 
Open Source Camp Kubernetes 2024 | Monitoring Kubernetes With Icinga by Eric ...
Open Source Camp Kubernetes 2024 | Monitoring Kubernetes With Icinga by Eric ...Open Source Camp Kubernetes 2024 | Monitoring Kubernetes With Icinga by Eric ...
Open Source Camp Kubernetes 2024 | Monitoring Kubernetes With Icinga by Eric ...NETWAYS
 
Dutch Power - 26 maart 2024 - Henk Kras - Circular Plastics
Dutch Power - 26 maart 2024 - Henk Kras - Circular PlasticsDutch Power - 26 maart 2024 - Henk Kras - Circular Plastics
Dutch Power - 26 maart 2024 - Henk Kras - Circular PlasticsDutch Power
 
OSCamp Kubernetes 2024 | Zero-Touch OS-Infrastruktur für Container und Kubern...
OSCamp Kubernetes 2024 | Zero-Touch OS-Infrastruktur für Container und Kubern...OSCamp Kubernetes 2024 | Zero-Touch OS-Infrastruktur für Container und Kubern...
OSCamp Kubernetes 2024 | Zero-Touch OS-Infrastruktur für Container und Kubern...NETWAYS
 
SBFT Tool Competition 2024 -- Python Test Case Generation Track
SBFT Tool Competition 2024 -- Python Test Case Generation TrackSBFT Tool Competition 2024 -- Python Test Case Generation Track
SBFT Tool Competition 2024 -- Python Test Case Generation TrackSebastiano Panichella
 
Event 4 Introduction to Open Source.pptx
Event 4 Introduction to Open Source.pptxEvent 4 Introduction to Open Source.pptx
Event 4 Introduction to Open Source.pptxaryanv1753
 
Work Remotely with Confluence ACE 2.pptx
Work Remotely with Confluence ACE 2.pptxWork Remotely with Confluence ACE 2.pptx
Work Remotely with Confluence ACE 2.pptxmavinoikein
 
OSCamp Kubernetes 2024 | SRE Challenges in Monolith to Microservices Shift at...
OSCamp Kubernetes 2024 | SRE Challenges in Monolith to Microservices Shift at...OSCamp Kubernetes 2024 | SRE Challenges in Monolith to Microservices Shift at...
OSCamp Kubernetes 2024 | SRE Challenges in Monolith to Microservices Shift at...NETWAYS
 
Genshin Impact PPT Template by EaTemp.pptx
Genshin Impact PPT Template by EaTemp.pptxGenshin Impact PPT Template by EaTemp.pptx
Genshin Impact PPT Template by EaTemp.pptxJohnree4
 
PHYSICS PROJECT BY MSC - NANOTECHNOLOGY
PHYSICS PROJECT BY MSC  - NANOTECHNOLOGYPHYSICS PROJECT BY MSC  - NANOTECHNOLOGY
PHYSICS PROJECT BY MSC - NANOTECHNOLOGYpruthirajnayak525
 

Recently uploaded (20)

call girls in delhi malviya nagar @9811711561@
call girls in delhi malviya nagar @9811711561@call girls in delhi malviya nagar @9811711561@
call girls in delhi malviya nagar @9811711561@
 
Call Girls In Aerocity 🤳 Call Us +919599264170
Call Girls In Aerocity 🤳 Call Us +919599264170Call Girls In Aerocity 🤳 Call Us +919599264170
Call Girls In Aerocity 🤳 Call Us +919599264170
 
Philippine History cavite Mutiny Report.ppt
Philippine History cavite Mutiny Report.pptPhilippine History cavite Mutiny Report.ppt
Philippine History cavite Mutiny Report.ppt
 
Simulation-based Testing of Unmanned Aerial Vehicles with Aerialist
Simulation-based Testing of Unmanned Aerial Vehicles with AerialistSimulation-based Testing of Unmanned Aerial Vehicles with Aerialist
Simulation-based Testing of Unmanned Aerial Vehicles with Aerialist
 
Mathan flower ppt.pptx slide orchids ✨🌸
Mathan flower ppt.pptx slide orchids ✨🌸Mathan flower ppt.pptx slide orchids ✨🌸
Mathan flower ppt.pptx slide orchids ✨🌸
 
Anne Frank A Beacon of Hope amidst darkness ppt.pptx
Anne Frank A Beacon of Hope amidst darkness ppt.pptxAnne Frank A Beacon of Hope amidst darkness ppt.pptx
Anne Frank A Beacon of Hope amidst darkness ppt.pptx
 
The 3rd Intl. Workshop on NL-based Software Engineering
The 3rd Intl. Workshop on NL-based Software EngineeringThe 3rd Intl. Workshop on NL-based Software Engineering
The 3rd Intl. Workshop on NL-based Software Engineering
 
James Joyce, Dubliners and Ulysses.ppt !
James Joyce, Dubliners and Ulysses.ppt !James Joyce, Dubliners and Ulysses.ppt !
James Joyce, Dubliners and Ulysses.ppt !
 
Call Girls in Rohini Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Rohini Delhi 💯Call Us 🔝8264348440🔝Call Girls in Rohini Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Rohini Delhi 💯Call Us 🔝8264348440🔝
 
OSCamp Kubernetes 2024 | A Tester's Guide to CI_CD as an Automated Quality Co...
OSCamp Kubernetes 2024 | A Tester's Guide to CI_CD as an Automated Quality Co...OSCamp Kubernetes 2024 | A Tester's Guide to CI_CD as an Automated Quality Co...
OSCamp Kubernetes 2024 | A Tester's Guide to CI_CD as an Automated Quality Co...
 
Exploring protein-protein interactions by Weak Affinity Chromatography (WAC) ...
Exploring protein-protein interactions by Weak Affinity Chromatography (WAC) ...Exploring protein-protein interactions by Weak Affinity Chromatography (WAC) ...
Exploring protein-protein interactions by Weak Affinity Chromatography (WAC) ...
 
Open Source Camp Kubernetes 2024 | Monitoring Kubernetes With Icinga by Eric ...
Open Source Camp Kubernetes 2024 | Monitoring Kubernetes With Icinga by Eric ...Open Source Camp Kubernetes 2024 | Monitoring Kubernetes With Icinga by Eric ...
Open Source Camp Kubernetes 2024 | Monitoring Kubernetes With Icinga by Eric ...
 
Dutch Power - 26 maart 2024 - Henk Kras - Circular Plastics
Dutch Power - 26 maart 2024 - Henk Kras - Circular PlasticsDutch Power - 26 maart 2024 - Henk Kras - Circular Plastics
Dutch Power - 26 maart 2024 - Henk Kras - Circular Plastics
 
OSCamp Kubernetes 2024 | Zero-Touch OS-Infrastruktur für Container und Kubern...
OSCamp Kubernetes 2024 | Zero-Touch OS-Infrastruktur für Container und Kubern...OSCamp Kubernetes 2024 | Zero-Touch OS-Infrastruktur für Container und Kubern...
OSCamp Kubernetes 2024 | Zero-Touch OS-Infrastruktur für Container und Kubern...
 
SBFT Tool Competition 2024 -- Python Test Case Generation Track
SBFT Tool Competition 2024 -- Python Test Case Generation TrackSBFT Tool Competition 2024 -- Python Test Case Generation Track
SBFT Tool Competition 2024 -- Python Test Case Generation Track
 
Event 4 Introduction to Open Source.pptx
Event 4 Introduction to Open Source.pptxEvent 4 Introduction to Open Source.pptx
Event 4 Introduction to Open Source.pptx
 
Work Remotely with Confluence ACE 2.pptx
Work Remotely with Confluence ACE 2.pptxWork Remotely with Confluence ACE 2.pptx
Work Remotely with Confluence ACE 2.pptx
 
OSCamp Kubernetes 2024 | SRE Challenges in Monolith to Microservices Shift at...
OSCamp Kubernetes 2024 | SRE Challenges in Monolith to Microservices Shift at...OSCamp Kubernetes 2024 | SRE Challenges in Monolith to Microservices Shift at...
OSCamp Kubernetes 2024 | SRE Challenges in Monolith to Microservices Shift at...
 
Genshin Impact PPT Template by EaTemp.pptx
Genshin Impact PPT Template by EaTemp.pptxGenshin Impact PPT Template by EaTemp.pptx
Genshin Impact PPT Template by EaTemp.pptx
 
PHYSICS PROJECT BY MSC - NANOTECHNOLOGY
PHYSICS PROJECT BY MSC  - NANOTECHNOLOGYPHYSICS PROJECT BY MSC  - NANOTECHNOLOGY
PHYSICS PROJECT BY MSC - NANOTECHNOLOGY
 

Feratel plugin 19052014

  • 1. 1 STI INNSBRUCK FERATEL SCHEMA.ORG PLUGIN IMPLEMENTATION Zaenal Akbar, Ioan Toma, Christoph Fuchs, Corneliu Valentin Stanciu, Lanzanasto Norbert STI Innsbruck, University of Innsbruck, Technikerstraße 21a, 6020 Innsbruck, Austria firstname.lastname@sti2.at 2014-05-19 Semantic Technology Institute Innsbruck STI INNSBTRUCK Technikerstraße 21a A – 6020 Innsbruck Austria http://www.sti-innsbruck.
  • 2. 1 Contents 1. Introduction....................................................................................................................................2 2. Implementation...............................................................................................................................2 2.1. Mark-up Format.......................................................................................................................2 2.2. XML Elements Mapping...........................................................................................................3 2.3. XSLT with Microdata...............................................................................................................3 3. Evaluation ......................................................................................................................................5 4. Discussion......................................................................................................................................8 Appendix A. An XML Response of Event............................................................................................9 Appendix B. An XST Transformation for Event .................................................................................12 Appendix C. Transformed XML of Event ..........................................................................................15 References .......................................................................................................................................18
  • 3. 2 1. Introduction This document presents the implementation of Feratel-Schema.org plugin. Based on the implementation plan [1], the plugin is designed to consume an XML response output from Feratel API [2], parsing the XML elements and properties then mapping each element/property to related class/ property from Schema.org, and finally insert the class/property into the XML output using an XSL Transformation [3]. The outputs of this implementation are: 1. The markup format to be used 2. The mapping between XML element to Schema.org class including their properties 3. The XSL Transformation for each relevant element/property 2. Implementation For notation, if does not mentioned explicitly, we use “element” to refer to an XML element from Feratel API and “class” to a class from Schema.org. The basic rules implementation to transform the elements to their relevant classes are described as follow: 1. For each element in Feratel XML: a. If there is a suitable class in Schema.org then use the class as property value of the markup format for this element b. If not then introduce a new element to represent the related class 2. For each property of element in Feratel XML: a. If the element has a related class in Schema.org then use the relevant property from the class b. If not then introduce a new element to represent the class of related property The solution for each desired output from the previous section will be explained in more detail in the following sub-sections. 2.1. Mark-up Format There are various formats available to annotate an XML such as RDFa [4] and Microdata [5], where both formats are supported by Schema.org. Since we use the Apache Any23 [6] to extract the annotated XML, after tested with these two formats, we found that Microdata is more convenient to interlinking a class to other class (i.e to link a class Event to class PostalAddress though property location).
  • 4. 3 2.2. XML Elements Mapping The mapping is representing a relation between the elements of Feratel XML and the classes of Schema.org including their properties. Table 1 Mapping XML element to Schema.org class No. XML Element Schema.org Class Property 1 Event Event Event/Details/Names/Translation name Event/Details/Dates/Date @From startDate @To endDate 2 Event/Details/Position GeoCoordinates ?? @Latitude latitude @Longitude longitude Event/Descriptions/Description description Event/Links/Link url 3 Event/Addresses/Address PostalAddress location Event/Addresses/Address/Company ?? ?? Event/Addresses/Address/FirstName ?? givenName Event/Addresses/Address/LastName ?? familyName Event/Addresses/Address/AddressLine1 streetAddress Event/Addresses/Address/AddressLine2 streetAddress Event/Addresses/Address/Country addressCountry Event/Addresses/Address/ZipCode postalCode Event/Addresses/Address/Town addressRegion Event/Addresses/Address/Email email Event/Addresses/Address/Fax faxNumber Event/Addresses/Address/URL url Event/Addresses/Address/Phone telephone Event/Addresses/Address/Mobile telephone 2.3. XSLT with Microdata Based on the obtained mapping shown at Table 1, then we construct the transformation by using the XSL transformation as follow: 1. Namespaces declaration From the Feratel XML output (see Appendix A), it has a specific namespace “http://interface.deskline.net/DSI/XSD”, therefore this namespace is required to be declared in the XSL namespaces. <xsl:stylesheet version="1.0"
  • 5. 4 xmlns:idn="http://interface.deskline.net/DSI/XSD" xmlns:schema="http://schema.org/" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> 2. Element to Class transformation An XSL template can be used to transform the mapping between an element to a related class directly. A property to interlinking between classes can be inserted whenever it’s required (i.e. between Event to its PostalAddress). <xsl:template match="idn:Event"> <Event itemscope="" itemtype="http://schema.org/Event"> <xsl:apply-templates select="node()|@*"/> </Event> </xsl:template> <xsl:template match="idn:Address"> <Address itemprop="location" itemscope="" itemtype="http://schema.org/PostalAddress"> <xsl:apply-templates select="node()|@*"/> </Address> </xsl:template> 3. Element’s properties to relevant Class’s properties Properties transformation can be implemented directly as a new property of related element. <xsl:template match="idn:Event/idn:Descriptions/idn:Description"> <Description itemprop="description"> <xsl:apply-templates select="node()|@*"/> </Description> </xsl:template> <xsl:template match="idn:Address/idn:Country"> <Country itemprop="addressCountry"> <xsl:value-of select="."/> </Country> </xsl:template> 4. Element’s properties transformation without a relevant Class A special transformation is required whenever a property has no relevant class. For example, property FirstName in XML is covered by the element Address where in Schema.org the relevant property givenName is covered by class Person. Therefore, a meta element to represent class Person needs to be inserted first. <xsl:template match="idn:Event/idn:Details/idn:Dates/idn:Date"> <Date> <xsl:apply-templates select="node()|@*"/> </Date> <time itemprop="startDate" datetime="{@From}" /> <time itemprop="endDate" datetime="{@To}" /> </xsl:template> <xsl:template match="idn:Address/idn:FirstName">
  • 6. 5 <schema:Person itemprop="owner" itemscope="" itemtype="http://schema.org/Person"> <FirstName itemprop="givenName"> <xsl:value-of select="."/> </FirstName> <LastName itemprop="familyName"> <xsl:value-of select="../idn:LastName"/> </LastName> </schema:Person> </xsl:template> 3. Evaluation For evaluation we will use Event as input from Feratel API (see Appendix A). The XSL Transformation for Event shown at Appendix B and produce output at Appendix C. The output from Apache Any23 [6] is shown as follow: ------------------------------------------------------------------------ Apache Any23 :: rover ------------------------------------------------------------------------ @prefix foaf: <http://xmlns.com/foaf/0.1/> . @prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> . @prefix doac: <http://ramonantonio.net/doac/0.1/#> . _:node2ef56d19853fde73a26d76e4fbc19ce a <http://schema.org/Event> ; <http://schema.org/Event/startDate> "2010-07- 30"^^<http://www.w3.org/2001/XMLSchema#date> . _:node975779997e46bf1c502ae7c4e9863e7 a <http://schema.org/PostalAddress> ; <http://schema.org/PostalAddress/streetAddress> "Am Wald 1" , "Null" ; <http://schema.org/PostalAddress/postalCode> "88605" ; <http://schema.org/PostalAddress/faxNumber> "Null" ; <http://schema.org/PostalAddress/email> "Null" ; <http://schema.org/PostalAddress/addressRegion> "Messkirch" . _:noded99eb72852e18a5aa2a5fb17182d1c a <http://schema.org/Person> ; <http://schema.org/Person/familyName> "Huber" ; <http://schema.org/Person/givenName> "Null" . _:node975779997e46bf1c502ae7c4e9863e7 <http://schema.org/PostalAddress/owner> _:noded99eb72852e18a5aa2a5fb17182d1c ; <http://schema.org/PostalAddress/addressCountry> "DE" ; <http://schema.org/PostalAddress/telephone> "Null" , "Null" ; <http://schema.org/PostalAddress/url> "Null" . _:node2ef56d19853fde73a26d76e4fbc19ce <http://schema.org/Event/location> _:node975779997e46bf1c502ae7c4e9863e7 . _:nodef2cce7629b732aad2a981c5a354ac99 a <http://schema.org/PostalAddress> ; <http://schema.org/PostalAddress/streetAddress> "Am Wald 1" , "Null" ; <http://schema.org/PostalAddress/postalCode> "88605" ;
  • 7. 6 <http://schema.org/PostalAddress/faxNumber> "Null" ; <http://schema.org/PostalAddress/email> "Null" ; <http://schema.org/PostalAddress/addressRegion> "Messkirch" . _:nodef36dadee38e72b3b342985111c7f17 a <http://schema.org/Person> ; <http://schema.org/Person/familyName> "Huber" ; <http://schema.org/Person/givenName> "Null" . _:nodef2cce7629b732aad2a981c5a354ac99 <http://schema.org/PostalAddress/owner> _:nodef36dadee38e72b3b342985111c7f17 ; <http://schema.org/PostalAddress/addressCountry> "DE" ; <http://schema.org/PostalAddress/telephone> "Null" , "Null" ; <http://schema.org/PostalAddress/url> "Null" . _:node2ef56d19853fde73a26d76e4fbc19ce <http://schema.org/Event/location> _:nodef2cce7629b732aad2a981c5a354ac99 . _:node124cb58e71fc618e639d69d5373a61a5 a <http://schema.org/PostalAddress> ; <http://schema.org/PostalAddress/streetAddress> "Am Wald 1" , "Null" ; <http://schema.org/PostalAddress/postalCode> "88605" ; <http://schema.org/PostalAddress/faxNumber> "Null" ; <http://schema.org/PostalAddress/email> "Null" ; <http://schema.org/PostalAddress/addressRegion> "Messkirch" . _:node8873d4f96487c9f74044422bde2d2af5 a <http://schema.org/Person> ; <http://schema.org/Person/familyName> "Huber" ; <http://schema.org/Person/givenName> "Null" . _:node124cb58e71fc618e639d69d5373a61a5 <http://schema.org/PostalAddress/owner> _:node8873d4f96487c9f74044422bde2d2af5 ; <http://schema.org/PostalAddress/addressCountry> "DE" ; <http://schema.org/PostalAddress/telephone> "Null" , "Null" ; <http://schema.org/PostalAddress/url> "Null" . _:node2ef56d19853fde73a26d76e4fbc19ce <http://schema.org/Event/location> _:node124cb58e71fc618e639d69d5373a61a5 . _:nodef31aaf75bfbb1b23e591a93b6f1a07f a <http://schema.org/PostalAddress> ; <http://schema.org/PostalAddress/streetAddress> "Am Wald 1" , "Null" ; <http://schema.org/PostalAddress/postalCode> "88605" ; <http://schema.org/PostalAddress/faxNumber> "Null" ; <http://schema.org/PostalAddress/email> "Null" ; <http://schema.org/PostalAddress/addressRegion> "Messkirch" . _:nodec1e189ed086df66450c24bee26697d a <http://schema.org/Person> ; <http://schema.org/Person/familyName> "Huber" ; <http://schema.org/Person/givenName> "Null" . _:nodef31aaf75bfbb1b23e591a93b6f1a07f <http://schema.org/PostalAddress/owner> _:nodec1e189ed086df66450c24bee26697d ; <http://schema.org/PostalAddress/addressCountry> "DE" ; <http://schema.org/PostalAddress/telephone> "Null" , "Null" ; <http://schema.org/PostalAddress/url> "Null" .
  • 8. 7 _:node2ef56d19853fde73a26d76e4fbc19ce <http://schema.org/Event/location> _:nodef31aaf75bfbb1b23e591a93b6f1a07f ; <http://schema.org/Event/description> "Dieses Mega-Event findet direkt am Faaker-See statt." ; <http://schema.org/Event/name> "Beach-Party" , "Beach-Party" ; <http://schema.org/Event/endDate> "2010-08- 01"^^<http://www.w3.org/2001/XMLSchema#date> ; <http://schema.org/Event/url> "http://www.test.com" . <http://localhost:8080/feratel/Feratel> <http://www.w3.org/1999/xhtml/microdata#item> _:node2ef56d19853fde73a26d76e4fbc19ce . ------------------------------------------------------------------------ Apache Any23 SUCCESS Total time: 2s Finished at: Mon May 19 11:21:23 CEST 2014 Final Memory: 48M/480M ------------------------------------------------------------------------ It is successfully extracted: 1. Event a. startDate b. description c. name d. endDate e. url 2. PostalAddress a. streetAddress b. postalCode c. faxNumber d. email e. addressRegion f. addressCountry g. telephone h. url i. owner 3. Person a. familyName b. givenName
  • 9. 8 4. Discussion There are a few transformations (marked with red color) need to be considered and discussed: 1. Property Company is covered by the element Address in Feratel XML. We could not find a relevant property from a class of Schema.org. 2. Properties FamilyName and LastName is covered by the element Address in Feratel XML. We introduce a new class Person from Schema.org to cover these properties, but we do not have an exact property to link the PostalAddress to this Person yet. At the moment we use “owner”. 3. The effect of those newly introduced elements/properties to the TVb’s program which consume the annotated XML need to be tested.
  • 10. 9 Appendix A. An XML Response of Event The output from Feratel API of Event obtained from Deskline Documentation [2]. <?xml version="1.0"?> <FeratelDsiRS xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" Status="0" Message="OK" xmlns="http://interface.deskline.net/DSI/XSD"> <Result Index="1"> <Events> <Event Id="eaff6469-2dc8-4369-9ac3-51f9baf9dddd" ChangeDate="2010-05- 21T16:41:00"> <Details> <Names> <Translation Language="de">Beach-Party</Translation> <Translation Language="en">Beach-Party</Translation> </Names> <Location> <Translation Language="de">Grand Hotel Patricia</Translation> <Translation Language="en">Grand Hotel Patricia</Translation> </Location> <Active>true</Active> <Towns> <Item Id="090a18ae-5d50-421e-a65a-c5a2b8227ae5" /> <Item Id="2f7c71f3-f375-434b-9a04-49f474df6b68" /> </Towns> <Position Latitude="13.9056015014648" Longitude="46.6095920078523" /> <IsTopEvent>false</IsTopEvent> <HolidayThemes> <Item Id="090a18ae-5d50-421e-a65a-c5a2b8227ae5" /> <Item Id="2f7c71f3-f375-434b-9a04-49f474df6b68" /> </HolidayThemes> <ConnectedEntries> <ConnectedEntry Type="EventInfrastructure" Id="2f050ae2-85f5- 4a99-8c92-075ff4b3f58b" /> <ConnectedEntry Type="EventInfrastructure" Id="034927b4-062e- 499e-9bea-bb638814dae5" /> <ConnectedEntry Type="EventServiceProvider" Id="e59a3a87-8b76- 423a-9a54-767ddc405d90" /> </ConnectedEntries> <SerialEvents> <SerialEvent Id="3a8b8857-500c-4693-8afe-7ec4c258b234" /> </SerialEvents> <Visibility>Local</Visibility> <Dates> <Date From="2010-07-30" To="2010-08-01" /> </Dates> <StartTimes> <StartTime Time="00:23:00" Mon="false" Tue="false" Wed="false" Thu="false" Fri="true" Sat="true" Sun="true" /> </StartTimes> <Duration Type="None">0</Duration> </Details> <Addresses> <Address Type="Organizer" ChangeDate="2009-10-01T14:17:00">
  • 11. 10 <Company>Hotel Sonne, Abr. Res.</Company> <FirstName /> <LastName>Huber</LastName> <AddressLine1>Am Wald 1</AddressLine1> <AddressLine2 /> <Country>DE</Country> <ZipCode>88605</ZipCode> <Town>Messkirch</Town> <Email /> <Fax /> <URL /> <Phone /> <Mobile /> </Address> <Address Type="Booking" ChangeDate="2009-10-01T14:17:00"> <Company>Hotel Sonne, Abr. Res.</Company> <FirstName /> <LastName>Huber</LastName> <AddressLine1>Am Wald 1</AddressLine1> <AddressLine2 /> <Country>DE</Country> <ZipCode>88605</ZipCode> <Town>Messkirch</Town> <Email /> <Fax /> <URL /> <Phone /> <Mobile /> </Address> <Address Type="Info" ChangeDate="2009-10-01T14:17:00"> <Company>Hotel Sonne, Abr. Res.</Company> <FirstName /> <LastName>Huber</LastName> <AddressLine1>Am Wald 1</AddressLine1> <AddressLine2 /> <Country>DE</Country> <ZipCode>88605</ZipCode> <Town>Messkirch</Town> <Email /> <Fax /> <URL /> <Phone /> <Mobile /> </Address> <Address Type="Venue" ChangeDate="2009-10-01T14:17:00"> <Company>Hotel Sonne, Abr. Res.</Company> <FirstName /> <LastName>Huber</LastName> <AddressLine1>Am Wald 1</AddressLine1> <AddressLine2 /> <Country>DE</Country> <ZipCode>88605</ZipCode> <Town>Messkirch</Town> <Email /> <Fax /> <URL /> <Phone />
  • 12. 11 <Mobile /> </Address> </Addresses> <Descriptions> <Description Id="e57d510f-8a90-4689-a4d5-0b5eb95641a6" Type="EventHeader" Language="de" Systems="L T I C" ShowFrom="101" ShowTo="1231" ChangeDate="2010-05-03T16:15:00">Dieses Mega-Event findet direkt am Faaker-See statt.</Description> </Descriptions> <Links> <Link Id="c857610e-2c5b-4317-bbbc-e5cb81654293" Name="fest" URL="http://www.test.com" ChangeDate="2010-05-20T16:40:00" Type="0" Order="1" /> </Links> <Facilities ChangeDate="2009-10-01T14:17:00"> <Facility Id="189c28da-b1e1-455b-8a02-1191931ab458" Value="1" /> <Facility Id="9dbe2baf-9c86-4e95-9dc3-55b14730b23b" Value="1" /> </Facilities> </Event> </Events> </Result> </FeratelDsiRS>
  • 13. 12 Appendix B. An XST Transformation for Event <?xml version="1.0" encoding="UTF-8"?> <xsl:stylesheet version="1.0" xmlns:idn="http://interface.deskline.net/DSI/XSD" xmlns:schema="http://schema.org/" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"/> <xsl:template match="node()|@*"> <xsl:copy> <xsl:apply-templates select="node()|@*"/> </xsl:copy> </xsl:template> <xsl:template match="idn:Result"> <Result> <xsl:apply-templates select="node()|@*"/> </Result> </xsl:template> <!-- Event --> <xsl:template match="idn:Event"> <Event itemscope="" itemtype="http://schema.org/Event"> <xsl:apply-templates select="node()|@*"/> </Event> </xsl:template> <xsl:template match="idn:Event/idn:Details/idn:Names/idn:Translation"> <Translation itemprop="name"> <xsl:apply-templates select="node()|@*"/> </Translation> </xsl:template> <xsl:template match="idn:Event/idn:Details/idn:Dates/idn:Date"> <Date> <xsl:apply-templates select="node()|@*"/> </Date> <time itemprop="startDate" datetime="{@From}" /> <time itemprop="endDate" datetime="{@To}" /> </xsl:template> <xsl:template match="idn:Event/idn:Descriptions/idn:Description"> <Description itemprop="description"> <xsl:apply-templates select="node()|@*"/> </Description> </xsl:template> <xsl:template match="idn:Event/idn:Links/idn:Link"> <Link> <xsl:apply-templates select="node()|@*"/> </Link>
  • 14. 13 <meta itemprop="url" content="{@URL}" /> </xsl:template> <!-- Address to PostalAddress --> <xsl:template match="idn:Address"> <Address itemprop="location" itemscope="" itemtype="http://schema.org/PostalAddress"> <xsl:apply-templates select="node()|@*"/> </Address> </xsl:template> <!-- <xsl:template match="idn:Address/idn:Company"> <Company itemprop="organizer" itemscope="" itemtype="http://schema.org/Organization"> <meta itemprop="name" content="." /> <FirstName itemprop="givenName"> <xsl:value-of select="."/> </FirstName> <LastName itemprop="familyName"> <xsl:value-of select="../idn:LastName"/> </LastName> </Company> </xsl:template> <xsl:template match="idn:Address/idn:FirstName" /> --> <xsl:template match="idn:Address/idn:FirstName"> <schema:Person itemprop="owner" itemscope="" itemtype="http://schema.org/Person"> <FirstName itemprop="givenName"> <xsl:value-of select="."/> </FirstName> <LastName itemprop="familyName"> <xsl:value-of select="../idn:LastName"/> </LastName> </schema:Person> </xsl:template> <xsl:template match="idn:Address/idn:LastName" /> <xsl:template match="idn:Address/idn:AddressLine1"> <AddressLine1 itemprop="streetAddress"> <xsl:value-of select="."/> </AddressLine1> </xsl:template> <xsl:template match="idn:Address/idn:AddressLine2"> <AddressLine2 itemprop="streetAddress"> <xsl:value-of select="."/> </AddressLine2> </xsl:template> <xsl:template match="idn:Address/idn:Country">
  • 15. 14 <Country itemprop="addressCountry"> <xsl:value-of select="."/> </Country> </xsl:template> <xsl:template match="idn:Address/idn:ZipCode"> <ZipCode itemprop="postalCode"> <xsl:value-of select="."/> </ZipCode> </xsl:template> <xsl:template match="idn:Address/idn:Town"> <Town itemprop="addressRegion"> <xsl:value-of select="."/> </Town> </xsl:template> <xsl:template match="idn:Address/idn:Email"> <Email itemprop="email"> <xsl:value-of select="."/> </Email> </xsl:template> <xsl:template match="idn:Address/idn:Fax"> <Fax itemprop="faxNumber"> <xsl:value-of select="."/> </Fax> </xsl:template> <xsl:template match="idn:Address/idn:URL"> <URL itemprop="url"> <xsl:value-of select="."/> </URL> </xsl:template> <xsl:template match="idn:Address/idn:Phone"> <Phone itemprop="telephone"> <xsl:value-of select="."/> </Phone> </xsl:template> <xsl:template match="idn:Address/idn:Mobile"> <Mobile itemprop="telephone"> <xsl:value-of select="."/> </Mobile> </xsl:template> </xsl:stylesheet>
  • 16. 15 Appendix C. Transformed XML of Event <?xml version="1.0" encoding="UTF-8"?> <FeratelDsiRS xmlns="http://interface.deskline.net/DSI/XSD" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" Status="0" Message="OK"> <Result xmlns:schema="http://schema.org/" xmlns:idn="http://interface.deskline.net/DSI/XSD" Index="1"> <Events> <Event itemscope="" itemtype="http://schema.org/Event" Id="eaff6469- 2dc8-4369-9ac3-51f9baf9dddd" ChangeDate="2010-05-21T16:41:00"> <Details> <Names> <Translation itemprop="name" Language="de">Beach- Party</Translation> <Translation itemprop="name" Language="en">Beach- Party</Translation> </Names> <Location> <Translation Language="de">Grand Hotel Patricia</Translation> <Translation Language="en">Grand Hotel Patricia</Translation> </Location> <Active>true</Active> <Towns> <Item Id="090a18ae-5d50-421e-a65a-c5a2b8227ae5"/> <Item Id="2f7c71f3-f375-434b-9a04-49f474df6b68"/> </Towns> <Position Latitude="13.9056015014648" Longitude="46.6095920078523"/> <IsTopEvent>false</IsTopEvent> <HolidayThemes> <Item Id="090a18ae-5d50-421e-a65a-c5a2b8227ae5"/> <Item Id="2f7c71f3-f375-434b-9a04-49f474df6b68"/> </HolidayThemes> <ConnectedEntries> <ConnectedEntry Type="EventInfrastructure" Id="2f050ae2-85f5- 4a99-8c92-075ff4b3f58b"/> <ConnectedEntry Type="EventInfrastructure" Id="034927b4-062e- 499e-9bea-bb638814dae5"/> <ConnectedEntry Type="EventServiceProvider" Id="e59a3a87-8b76- 423a-9a54-767ddc405d90"/> </ConnectedEntries> <SerialEvents> <SerialEvent Id="3a8b8857-500c-4693-8afe-7ec4c258b234"/> </SerialEvents> <Visibility>Local</Visibility> <Dates> <Date From="2010-07-30" To="2010-08-01"/> <time itemprop="startDate" datetime="2010-07-30"/> <time itemprop="endDate" datetime="2010-08-01"/> </Dates> <StartTimes> <StartTime Time="00:23:00" Mon="false" Tue="false" Wed="false" Thu="false" Fri="true" Sat="true" Sun="true"/> </StartTimes> <Duration Type="None">0</Duration> </Details>
  • 17. 16 <Addresses> <Address itemprop="location" itemscope="" itemtype="http://schema.org/PostalAddress" Type="Organizer" ChangeDate="2009- 10-01T14:17:00"> <Company>Hotel Sonne, Abr. Res.</Company> <schema:Person itemprop="owner" itemscope="" itemtype="http://schema.org/Person"> <FirstName itemprop="givenName"/> <LastName itemprop="familyName">Huber</LastName> </schema:Person> <AddressLine1 itemprop="streetAddress">Am Wald 1</AddressLine1> <AddressLine2 itemprop="streetAddress"/> <Country itemprop="addressCountry">DE</Country> <ZipCode itemprop="postalCode">88605</ZipCode> <Town itemprop="addressRegion">Messkirch</Town> <Email itemprop="email"/> <Fax itemprop="faxNumber"/> <URL itemprop="url"/> <Phone itemprop="telephone"/> <Mobile itemprop="telephone"/> </Address> <Address itemprop="location" itemscope="" itemtype="http://schema.org/PostalAddress" Type="Booking" ChangeDate="2009- 10-01T14:17:00"> <Company>Hotel Sonne, Abr. Res.</Company> <schema:Person itemprop="owner" itemscope="" itemtype="http://schema.org/Person"> <FirstName itemprop="givenName"/> <LastName itemprop="familyName">Huber</LastName> </schema:Person> <AddressLine1 itemprop="streetAddress">Am Wald 1</AddressLine1> <AddressLine2 itemprop="streetAddress"/> <Country itemprop="addressCountry">DE</Country> <ZipCode itemprop="postalCode">88605</ZipCode> <Town itemprop="addressRegion">Messkirch</Town> <Email itemprop="email"/> <Fax itemprop="faxNumber"/> <URL itemprop="url"/> <Phone itemprop="telephone"/> <Mobile itemprop="telephone"/> </Address> <Address itemprop="location" itemscope="" itemtype="http://schema.org/PostalAddress" Type="Info" ChangeDate="2009-10- 01T14:17:00"> <Company>Hotel Sonne, Abr. Res.</Company> <schema:Person itemprop="owner" itemscope="" itemtype="http://schema.org/Person"> <FirstName itemprop="givenName"/> <LastName itemprop="familyName">Huber</LastName> </schema:Person> <AddressLine1 itemprop="streetAddress">Am Wald 1</AddressLine1> <AddressLine2 itemprop="streetAddress"/> <Country itemprop="addressCountry">DE</Country> <ZipCode itemprop="postalCode">88605</ZipCode>
  • 18. 17 <Town itemprop="addressRegion">Messkirch</Town> <Email itemprop="email"/> <Fax itemprop="faxNumber"/> <URL itemprop="url"/> <Phone itemprop="telephone"/> <Mobile itemprop="telephone"/> </Address> <Address itemprop="location" itemscope="" itemtype="http://schema.org/PostalAddress" Type="Venue" ChangeDate="2009-10- 01T14:17:00"> <Company>Hotel Sonne, Abr. Res.</Company> <schema:Person itemprop="owner" itemscope="" itemtype="http://schema.org/Person"> <FirstName itemprop="givenName"/> <LastName itemprop="familyName">Huber</LastName> </schema:Person> <AddressLine1 itemprop="streetAddress">Am Wald 1</AddressLine1> <AddressLine2 itemprop="streetAddress"/> <Country itemprop="addressCountry">DE</Country> <ZipCode itemprop="postalCode">88605</ZipCode> <Town itemprop="addressRegion">Messkirch</Town> <Email itemprop="email"/> <Fax itemprop="faxNumber"/> <URL itemprop="url"/> <Phone itemprop="telephone"/> <Mobile itemprop="telephone"/> </Address> </Addresses> <Descriptions> <Description itemprop="description" Id="e57d510f-8a90-4689-a4d5- 0b5eb95641a6" Type="EventHeader" Language="de" Systems="L T I C" ShowFrom="101" ShowTo="1231" ChangeDate="2010-05-03T16:15:00">Dieses Mega- Event findet direkt am Faaker-See statt.</Description> </Descriptions> <Links> <Link Id="c857610e-2c5b-4317-bbbc-e5cb81654293" Name="fest" URL="http://www.test.com" ChangeDate="2010-05-20T16:40:00" Type="0" Order="1"/> <meta itemprop="url" content="http://www.test.com"/> </Links> <Facilities ChangeDate="2009-10-01T14:17:00"> <Facility Id="189c28da-b1e1-455b-8a02-1191931ab458" Value="1"/> <Facility Id="9dbe2baf-9c86-4e95-9dc3-55b14730b23b" Value="1"/> </Facilities> </Event> </Events> </Result> </FeratelDsiRS>
  • 19. 18 References [1] Christoph Fuchs and Corneliu Valentin Stanciu, “Feratel Schema.org Plugin Implementation Plan”, April 2014 [2] Simone Schanitz, “Documentation Deskline 3.0 Standard Interface (DSI)”, March 2014 [3] W3C, “XSL Transformations (XSLT)”, http://www.w3.org/TR/xslt [4] W3C, “RDFa 1.1 Primer”, http://www.w3.org/TR/xhtml-rdfa-primer/ [5] W3C, “HTML Microdata”, http://www.w3.org/TR/microdata/ [6] Apache Any23, https://any23.apache.org/