feratel plugin 19052014
TRANSCRIPT
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
2014-05-19
Semantic Technology Institute Innsbruck
STI INNSBTRUCKTechnikerstraße 21aA – 6020 Innsbruck
Austriahttp://www.sti-innsbruck.
1
Contents1. 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 used2. The mapping between XML element to Schema.org class including their properties3. 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 elementb. 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 classb. 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 ElementSchema.org
Class Property1 Event Event
Event/Details/Names/Translation nameEvent/Details/Dates/Date@From startDate@To endDate
2 Event/Details/Position GeoCoordinates ??@Latitude latitude@Longitude longitudeEvent/Descriptions/Description descriptionEvent/Links/Link url
3 Event/Addresses/Address PostalAddress locationEvent/Addresses/Address/Company ?? ??Event/Addresses/Address/FirstName ?? givenNameEvent/Addresses/Address/LastName ?? familyNameEvent/Addresses/Address/AddressLine1 streetAddressEvent/Addresses/Address/AddressLine2 streetAddressEvent/Addresses/Address/Country addressCountryEvent/Addresses/Address/ZipCode postalCodeEvent/Addresses/Address/Town addressRegionEvent/Addresses/Address/Email emailEvent/Addresses/Address/Fax faxNumberEvent/Addresses/Address/URL urlEvent/Addresses/Address/Phone telephoneEvent/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 declarationFrom 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.
4
<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">
2. Element to Class transformationAn 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 propertiesProperties 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 ClassA 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>
5
<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>
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" ;
6
<http://schema.org/PostalAddress/postalCode> "88605" ;<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 SUCCESSTotal time: 2sFinished at: Mon May 19 11:21:23 CEST 2014Final Memory: 48M/480M------------------------------------------------------------------------
It is successfully extracted:
1. Eventa. startDateb. descriptionc. named. endDatee. url
2. PostalAddressa. streetAddressb. postalCodec. faxNumberd. emaile. addressRegionf. addressCountryg. telephoneh. urli. owner
3. Persona. familyNameb. 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>
10
<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 />
11
<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 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>
13
<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="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>
14
<xsl:template match="idn:Address/idn:Country"><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>
16
<Duration Type="None">0</Duration></Details><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"/>
17
<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="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/
19