STI INNSBRUCK
Feratel Schema.org Plugin Implementation
Zaenal Akbar, Ioan Toma, Christoph Fuchs, Corneliu Valentin Stanciu, LanzanastoNorbert
STI Innsbruck, University of Innsbruck,
Technikerstraße 21a, 6020 Innsbruck, Austria

2014-05-19
Semantic Technology Institute Innsbruck /
STI INNSBTRUCK
Technikerstraße 21a
A – 6020 Innsbruck
Austria

1

Contents

1. Introduction

2. Implementation

2.1. Mark-up Format

2.2. XML Elements Mapping

2.3. XSLT with Microdata

3. Evaluation

4. Discussion

Appendix A. An XML Response of Event

Appendix B. An XST Transformation for Event

Appendix C. Transformed XML of Event

References

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:
  2. If there is a suitable class in Schema.org then use the class as property value of the markup format for this element
  3. If not then introduce a new element to represent the related class
  4. For each property of element in Feratel XML:
  5. If the element has a related class in Schema.org then use the relevant property from the class
  6. 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).

2.2. XML ElementsMapping

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. Namespacesdeclaration

From the Feratel XML output (see Appendix A), it has a specific namespace “”, therefore this namespace is required to be declared in the XSL namespaces.

xsl:stylesheet version="1.0"
xmlns:idn=""
xmlns:schema=""
xmlns:xsl="
  1. Element to Class transformation

An XSL template can be used to transform the mapping between anelement to a related classdirectly. A property to interlinking between classes can be inserted whenever it’srequired (i.e. between Event to its PostalAddress).

xsl:template match="idn:Event">
<Event itemscope="" itemtype="">
xsl:apply-templates select="node()|@*"/>
</Event>
</xsl:template
xsl:template match="idn:Address">
<Address itemprop="location" itemscope="" itemtype="">
xsl:apply-templates select="node()|@*"/>
</Address>
</xsl:template
  1. 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
  1. 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 givenNameis 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>
timeitemprop="startDate" datetime="{@From}" />
timeitemprop="endDate" datetime="{@To}" />
</xsl:template
xsl:template match="idn:Address/idn:FirstName">
schema:Personitemprop="owner" itemscope="" itemtype="">
FirstNameitemprop="givenName">
xsl:value-of select="."/>
</FirstName
LastNameitemprop="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: < .
@prefix rdf: < .
@prefix doac: < .
_:node2ef56d19853fde73a26d76e4fbc19ce a < ;
< "2010-07-30"^^< .
_:node975779997e46bf1c502ae7c4e9863e7 a < ;
< "Am Wald 1" , "Null" ;
< "88605" ;
< "Null" ;
< "Null" ;
< "Messkirch" .
_:noded99eb72852e18a5aa2a5fb17182d1c a < ;
< "Huber" ;
< "Null" .
_:node975779997e46bf1c502ae7c4e9863e7 < _:noded99eb72852e18a5aa2a5fb17182d1c ;
< "DE" ;
< "Null" , "Null" ;
< "Null" .
_:node2ef56d19853fde73a26d76e4fbc19ce < _:node975779997e46bf1c502ae7c4e9863e7 .
_:nodef2cce7629b732aad2a981c5a354ac99 a < ;
< "Am Wald 1" , "Null" ;
< "88605" ;
< "Null" ;
< "Null" ;
< "Messkirch" .
_:nodef36dadee38e72b3b342985111c7f17 a < ;
< "Huber" ;
< "Null" .
_:nodef2cce7629b732aad2a981c5a354ac99 < _:nodef36dadee38e72b3b342985111c7f17 ;
< "DE" ;
< "Null" , "Null" ;
< "Null" .
_:node2ef56d19853fde73a26d76e4fbc19ce < _:nodef2cce7629b732aad2a981c5a354ac99 .
_:node124cb58e71fc618e639d69d5373a61a5 a < ;
< "Am Wald 1" , "Null" ;
< "88605" ;
< "Null" ;
< "Null" ;
< "Messkirch" .
_:node8873d4f96487c9f74044422bde2d2af5 a < ;
< "Huber" ;
< "Null" .
_:node124cb58e71fc618e639d69d5373a61a5 < _:node8873d4f96487c9f74044422bde2d2af5 ;
< "DE" ;
< "Null" , "Null" ;
< "Null" .
_:node2ef56d19853fde73a26d76e4fbc19ce < _:node124cb58e71fc618e639d69d5373a61a5 .
_:nodef31aaf75bfbb1b23e591a93b6f1a07f a < ;
< "Am Wald 1" , "Null" ;
< "88605" ;
< "Null" ;
< "Null" ;
< "Messkirch" .
_:nodec1e189ed086df66450c24bee26697d a < ;
< "Huber" ;
< "Null" .
_:nodef31aaf75bfbb1b23e591a93b6f1a07f < _:nodec1e189ed086df66450c24bee26697d ;
< "DE" ;
< "Null" , "Null" ;
< "Null" .
_:node2ef56d19853fde73a26d76e4fbc19ce < _:nodef31aaf75bfbb1b23e591a93b6f1a07f ;
< "Dieses Mega-Event findet direkt am Faaker-See statt." ;
< "Beach-Party" , "Beach-Party" ;
< "2010-08-01"^^< ;
< " .
< < _: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
  2. startDate
  3. description
  4. name
  5. endDate
  6. url
  7. PostalAddress
  8. streetAddress
  9. postalCode
  10. faxNumber
  11. email
  12. addressRegion
  13. addressCountry
  14. telephone
  15. url
  16. owner
  17. Person
  18. familyName
  19. givenName

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.

Appendix A. An XML Response of Event

The output from Feratel API of Event obtained from Deskline Documentation [2].

<?xml version="1.0"?>
FeratelDsiRSxmlns:xsi=" xmlns:xsd=" Status="0" Message="OK" xmlns="
<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">
<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 />
<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 findetdirekt am Faaker-See statt.</Description>
</Descriptions>
<Links>
<Link Id="c857610e-2c5b-4317-bbbc-e5cb81654293" Name="fest" URL=" 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

Appendix B. An XST Transformation for Event

<?xml version="1.0" encoding="UTF-8"?>
xsl:stylesheet version="1.0"
xmlns:idn="
xmlns:schema="
xmlns:xsl="
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="
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>
<meta itemprop="url" content="{@URL}" />
</xsl:template
<!--
Address to PostalAddress
-->
xsl:template match="idn:Address">
<Address itemprop="location" itemscope="" itemtype="
xsl:apply-templates select="node()|@*"/>
</Address>
</xsl:template
<!--
xsl:template match="idn:Address/idn:Company">
<Company itemprop="organizer" itemscope="" itemtype="
<meta itemprop="name" content="." />
FirstNameitemprop="givenName">
xsl:value-of select="."/>
</FirstName
LastNameitemprop="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:Personitemprop="owner" itemscope="" itemtype="
FirstNameitemprop="givenName">
xsl:value-of select="."/>
</FirstName
LastNameitemprop="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">
<Country itemprop="addressCountry">
xsl:value-of select="."/>
</Country>
</xsl:template
xsl:template match="idn:Address/idn:ZipCode">
ZipCodeitemprop="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

Appendix C. Transformed XML of Event

<?xml version="1.0" encoding="UTF-8"?>
FeratelDsiRSxmlns=" xmlns:xsi=" xmlns:xsd=" Status="0" Message="OK">
<Result xmlns:schema=" xmlns:idn=" Index="1">
<Events>
<Event itemscope="" itemtype=" 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>
<Addresses>
<Address itemprop="location" itemscope="" itemtype=" Type="Organizer" ChangeDate="2009-10-01T14:17:00">
<Company>Hotel Sonne, Abr. Res.</Company>
schema:Personitemprop="owner" itemscope="" itemtype="
FirstNameitemprop="givenName"/>
LastNameitemprop="familyName">Huber</LastName
</schema:Person
<AddressLine1 itemprop="streetAddress">Am Wald 1</AddressLine1>
<AddressLine2 itemprop="streetAddress"/>
<Country itemprop="addressCountry">DE</Country>
ZipCodeitemprop="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=" Type="Booking" ChangeDate="2009-10-01T14:17:00">
<Company>Hotel Sonne, Abr. Res.</Company>
schema:Personitemprop="owner" itemscope="" itemtype="
FirstNameitemprop="givenName"/>
LastNameitemprop="familyName">Huber</LastName
</schema:Person
<AddressLine1 itemprop="streetAddress">Am Wald 1</AddressLine1>
<AddressLine2 itemprop="streetAddress"/>
<Country itemprop="addressCountry">DE</Country>
ZipCodeitemprop="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=" Type="Info" ChangeDate="2009-10-01T14:17:00">
<Company>Hotel Sonne, Abr. Res.</Company>
schema:Personitemprop="owner" itemscope="" itemtype="
FirstNameitemprop="givenName"/>
LastNameitemprop="familyName">Huber</LastName
</schema:Person
<AddressLine1 itemprop="streetAddress">Am Wald 1</AddressLine1>
<AddressLine2 itemprop="streetAddress"/>
<Country itemprop="addressCountry">DE</Country>
ZipCodeitemprop="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=" Type="Venue" ChangeDate="2009-10-01T14:17:00">
<Company>Hotel Sonne, Abr. Res.</Company>
schema:Personitemprop="owner" itemscope="" itemtype="
FirstNameitemprop="givenName"/>
LastNameitemprop="familyName">Huber</LastName
</schema:Person
<AddressLine1 itemprop="streetAddress">Am Wald 1</AddressLine1>
<AddressLine2 itemprop="streetAddress"/>
<Country itemprop="addressCountry">DE</Country>
ZipCodeitemprop="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 findetdirekt am Faaker-See statt.</Description>
</Descriptions>
<Links>
<Link Id="c857610e-2c5b-4317-bbbc-e5cb81654293" Name="fest" URL=" ChangeDate="2010-05-20T16:40:00" Type="0" Order="1"/>
<meta itemprop="url" content="
</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

References

[1]Christoph Fuchs and Corneliu Valentin Stanciu, “Feratel Schema.org Plugin Implementation Plan”, April 2014

[2]Simone Schanitz, “DocumentationDeskline 3.0 Standard Interface (DSI)”, March 2014

[3]W3C, “XSL Transformations (XSLT)”,

[4]W3C, “RDFa 1.1 Primer”,

[5]W3C, “HTML Microdata”,

[6]Apache Any23,

1