Deliverable 5.2 Annex B Implementing the MESMA Metadata Profile on GeoNetwork 2.6.0

Size: px
Start display at page:

Download "Deliverable 5.2 Annex B Implementing the MESMA Metadata Profile on GeoNetwork 2.6.0"

Transcription

1 Deliverable 5.2 Annex B Implementing the MESMA Metadata Profile on GeoNetwork WP Leader: Gerry Sutton Coastal & Marine Resource Centre, University College Cork (Partner 8, UCC Cork, Ireland) Author: Mehdi Essid Coastal & Marine Resource Centre, University College Cork (Partner 8, UCC, Cork, Ireland) Grant Agreement number: Project acronym: MESMA Project title: Funding Scheme: Collaborative project Project coordination: IMARES, IJmuiden, the Netherlands Project website:

2 MESMA Deliverable D5.2 Annex B MMP Implementation Document Change Record Authors Modification Issue Date Mehdi Essid First version /04/2011 Gerry Sutton Minor Revisions /09/12 1

3 MESMA The research leading to these results has received funding from the European Community's Seventh Framework Programme (FP7/ ) under grant agreement n

4 MESMA Deliverable D5.2 Annex B MMP Implementation Introduction This document presents a tutorial on how to add in a new metadata profile and implementing the Mesma metadata Profile in Geonetwork It accompanies and should be read in conjunction with Mesma D5.2 and represents the implementation procedure for Mesma D5.2 Annex A (MMP Mesma metadata profile). Adding a new profile General information GeoNetwork stores the basic information about a metadata schema in web/geonetwork/xml/schemas (let s call it the schema folder). By convention, schemas that are profiles of ISO19115/19139 must be named iso19139.<namespace_prefix>, where namespace_prefix is the one used in the new schema. For the Mesma Profile this is iso19139.mesma. The schema folder contains all the information and files that allow Geonetwork to interface with the different schemas (schema definition, get/set metadata elements, configuration of Lucene fields, etc.). Following is the structure of this directory: convert Directory of XSLTs to convert from this schema to others (rifcs, oai-dc) loc schema schema.xsd schematron*.xsl index-fields.xsl update-fixed-info.xsl schema-substitutes.xml schema-suggestions.xml Directory of localized information: labels, codelists Directory containing the official XSDs of the metadata schema (eg. ISO profile) GeoNetwork's standard way of referencing the official XSDs XSLTs generated from schematron rules for doing content based and conditional validation tasks XSLT that maps elements from this metadata to indexed Lucene fields XSLT that hard codes specified metadata elements Used to restrict choices that might be offered by the editor eg. gco:characterstring Complex elements that should be automatically expanded by the editor The best way to add a new profile schema is extend/restrict the iso19139 schema. This allows to be as much as possible compliant with the standards. The steps to follow are: Copy the iso19139 schema profile Define a new namespace Use extension and restriction mechanisms from XML schema definition language: 3

5 MESMA o Define new elements in profile namespace o Substitute extended/restricted elements for their originals Extend code-lists and/or add new ones for the new profile (ex. Add mesmaextensions.xsd for the schema and mesmacodelists.xml for codelists) Building the mesma schema profile All the paths given in this paragraph are given relatively to the schema folder (web/geonetwork/xml/schemas). Following are the steps to follow to implement a new profile on GeoNetwork: 1. Copy iso19139 schema directory to iso19139.mema directory. 2. Create a schema extension file to extend the iso13193 schema (schema/extensions/mesmaextensions.xsd) 3. Modify schema.xsd to import/include the extension schema files. In our case: <!-- this is a logical place to include any additional schemas that are related to ISO19139 including ISO > <xs:include schemalocation="schema/extensions/mesmaextensions.xsd"/> <xs:import namespace=" schemalocation="schema/srv/srv.xsd"/> <xs:import namespace=" schemalocation="schema/gmx/gmx.xsd"/> 4. In order to create a profile of the new schema, copy web/geonetwork/web-inf/classes/setup/templates/iso19139 to web/geonetwork/web-inf/classes/setup/templates/iso19139.mesma and keep only the file vector.xml in this last (other profiles based on this schema can be added after by following the same process). 5. Replace the profile name in vector.xml: replace the string "Template for Vector data in MESMA ISO19139 (preferred!)" by "MESMA: Template for Vector data in ISO19139" 6. Add/delete elements in vector.xml according to the profile that you would like to build. 7. Setup the database of GeoNetwork with Gast: a. Start the tool Gast b. In the right panel, go to Database/setup and click on setup located on the left panel 8. Include the new namespace (mesma) in the different xslt/xml files located in the schema folder. xml/schemas/iso19139.mesma/convert/oai_dc.xsl xml/schemas/iso19139.mesma/extract-gml.xsl xml/schemas/iso19139.mesma/extract-thumbnails.xsl xml/schemas/iso19139.mesma/extract-uuid.xsl xml/schemas/iso19139.mesma/index-fields.xsl xml/schemas/iso19139.mesma/schema.xsd xml/schemas/iso19139.mesma/schematron-rules-geonetwork.xsl xml/schemas/iso19139.mesma/schematron-rules-iso.xsl xml/schemas/iso19139.mesma/set-thumbnail.xsl xml/schemas/iso19139.mesma/set-uuid.xsl xml/schemas/iso19139.mesma/unset-thumbnail.xsl xml/schemas/iso19139.mesma/update-child-from-parent-info.xsl xml/schemas/iso19139.mesma/update-fixed-info.xsl xsl/metadata-iso19139.mesma.xsl 4

6 MESMA Deliverable D5.2 Annex B MMP Implementation xsl/metadata-utils.xsl 9. Create a file called metadata-iso19139.mesma.xsl (copy the file metadataiso19139.xsl) to process the presentation of the profile: template match on profile elements, specific representation for some elements, etc. The content of this file for the mesma profile is listed in Annex?? 10. Modify iso19139 to call templates from metadata-iso19139.mesma.xsl when needed: Add new function to set isotab <xsl:template name="setisotab"> <xsl:param name="schema"/> <xsl:param name="currtab"/> <xsl:param name="dataset" select="false()"/> <xsl:choose> <xsl:when test="$schema='iso19139.mesma' and $currtab='simple'"> <xsl:value-of select="'mesmacore'"/> </xsl:when> <xsl:otherwise> <xsl:value-of select="$currtab"/> </xsl:otherwise> </xsl:choose> In template matching the Metadata element (line 1072 in the original file) : Update the isotab variable by calling the new defined template: <xsl:variable name="isotab"> <xsl:call-template name="setisotab"> name="schema" name="currtab" select="$currtab"/> name="dataset" select="$dataset"/> </xsl:variable> Call the template mesma (already created in metadataiso19139.mesma.xsl) when the isotab = mesmacode: <!-- profile specific tabs - mesmacore --> <xsl:when test="$isotab='mesmacore'"> <xsl:call-template name="mesma"> name="schema" name="dataset" select="$dataset"/> name="core" select="true()"/> </xsl:when> Modify the template iso19139completetab (line 3051 in the original file) to include the mesma profile (section iso): <xsl:choose> <xsl:when test="name(.)!='gmd:md_metadata'"> 5

7 MESMA <xsl:variable name="profile" select="normalize-space(substring-before(name(.),':'))"/> <xsl:choose> <xsl:when test="$profile='mcp'"> <xsl:call-template name="mcpprofiletab"> name="indent" select="' '"/> name="tablink" select="$tablink"/> </xsl:when> <xsl:when test="$profile='mesma'"> <xsl:call-template name="mesmaprofiletab"> name="indent" select="' '"/> name="tablink" select="$tablink"/> </xsl:when> </xsl:choose> </xsl:when> <xsl:otherwise> <xsl:if test="/root/gui/config/metadatatab/iso"> <xsl:call-template name="displaytab"> name="tab" select="'groups'"/> <!-- just a non-existing tab --> name="text" select="/root/gui/strings/bygroup"/> name="tablink" select="''"/> <xsl:call-template name="displaytab"> name="tab" select="'isominimum'"/> name="text" select="/root/gui/strings/isominimum"/> name="indent" select="' '"/> name="tablink" select="$tablink"/> <xsl:call-template name="displaytab"> name="tab" select="'isocore'"/> name="text" select="/root/gui/strings/isocore"/> name="indent" select="' '"/> name="tablink" select="$tablink"/> select="'isoall'"/> <xsl:call-template name="displaytab"> name="tab" name="text" 6

8 MESMA Deliverable D5.2 Annex B MMP Implementation select="/root/gui/strings/isoall"/> name="indent" select="' '"/> name="tablink" select="$tablink"/> </xsl:if> </xsl:otherwise> </xsl:choose> 11. Declare the new namespace and customize the tooltip messages in loc/en/labels.xml (new element should be considered as well). Do the same thing for the other supported languages. Include label and code-list files in WEB-INF/config.xml <!-- iso19139.mesma --> <xml name="iso19139.mesma" base="xml/schemas/iso19139.mesma/loc" file="labels.xml" /> <xml name="iso19139.mesma" base="xml/schemas/iso19139.mesma/loc" file="codelists.xml" /> 12. Add profile namespace to index-fields.xsl and index any fields in Lucene that you want to search <xsl:template match="/"> <Document> <xsl:apply-templates select="mesma:md_metadata" mode="metadata"/> </Document> Enabling Metadata Downloading (export) 1. In web/geonetwork/xsl/conversion create a directory mesmato In this directory, create mesma-to xsl 3. Modify this file to process the export (u can follow the example in the directory 19115to19139) 4. In our case, the profile is the same. Only the namespace has been changed. So we have just to copy the content and change the namespace mesma to gmd. This is done by the next xsl rule: <?xml version="1.0" encoding="utf-8"?> <xsl:stylesheet version="1.0" xmlns=" xmlns:gco=" xmlns:gts=" xmlns:gml=" xmlns:mesma=" xmlns:xsi=" xmlns:xsl=" <xsl:output method="xml" version="1.0" encoding="utf-8" indent="yes" /> 7

9 MESMA <xsl:template match="/"> <xsl:apply-templates/> <xsl:template match="mesma:md_metadata"> <gmd:md_metadata xmlns:gmd=" xmlns:srv=" xmlns:gco=" xmlns:gml=" xmlns:xlink=" xmlns:xsi=" xmlns:geonet=" xsi:schemalocation=" <! Copy all nodes > <xsl:for-each select="child::node()"> <xsl:call-template name="copynode"> </gmd:md_metadata> <!-- <xsl:template name="copynode"> <xsl:copy> <xsl:apply-templates /> </xsl:copy> </xsl:stylesheet> 5. In web/geonetwork/xsl/conversion/export copy xml_iso19115_to_19139 to xml_mesma_to_13139.xml 6. In this file, modify the include path to../mesmato19139/mesma-to xsl 7. Declare the service allowing the export between mesma and iso19139 in WEB-INF/config-export.xml <service name="mesma-to-iso19139.xml"> <class name=".services.metadata.show" /> <output sheet="conversion/export/xml_mesma_to_19139.xsl" contenttype="text/xml; charset=utf-8"/> <error id="access" sheet="error-form.xsl"> <xml name="priverror" file="xml/privilegeserror.xml" /> </error> </service> 8. Allow this service to the guest users in WEB-INF/user-profiles.xml <! add this line in the guest profile --> <allow service="mesma-to-iso19139.xml"/> 9. Modify xsl/search-result-xhtml.xsl to invoke the right service when the profile is mesma. 8

10 MESMA Deliverable D5.2 Annex B MMP Implementation <xsl:choose> <xsl:when test="$metadata/geonet:info/schema='iso19139'"> <a href="{/root/gui/locservice}/iso19139.xml?id={$metadata/geonet:info/i d}" target="_blank" title="download ISO19115/19139 metadata in XML"> <img src="{/root/gui/url}/images/xml.png" height="20px" width="20px" alt="iso19115/19139 XML" title="save ISO19115/19139 metadata as XML" border="0"/> </a> </xsl:when> <xsl:otherwise> <xsl:variable name="subschema" select="substringafter($metadata/geonet:info/schema,'.')"></xsl:variable> <a href="{/root/gui/locservice}/{$subschema}-toiso19139.xml?id={$metadata/geonet:info/id}" target="_blank" title="download ISO19115/19139 metadata in XML"> <img src="{/root/gui/url}/images/xml.png" height="20px" width="20px" alt="iso19115/19139 XML" title="save ISO19115/19139 metadata as XML" border="0"/> </a> </xsl:otherwise> </xsl:choose> Enabling multiple Metadata export as zip file 1. Copy xsl/conversion/mesmato19139/mesma-to xsl to xml/schemas/iso19139.mesma/convert/to19139.xsl 9

11 MESMA Annex 1 <?xml version="1.0" encoding="utf-8"?> <xsl:stylesheet version="1.0" xmlns:xsl =" xmlns:gmd=" xmlns:gco=" xmlns:gmx=" xmlns:srv=" xmlns:gml=" xmlns:mesma=" xmlns:xlink=" xmlns:geonet=" <!-- ==================================================================== --> <!-- mesma gco: elements --> <!-- ==================================================================== --> <xsl:template mode="iso19139" match="mesma:*[gco:characterstring gco:date gco:datetime gco:integer gco:decimal gco:boolean gco:real gco:measure gco:length gco:distance gco:angle gco:scale gco:recordtype]"> <xsl:param name="schema"/> <xsl:param name="edit"/> <xsl:call-template name="iso19139string"> name="schema" <xsl:template mode="iso19139" match="mesma:*[geonet:child/@prefix='gco']"> <xsl:param name="schema"/> <xsl:param name="edit"/> <xsl:call-template name="iso19139string"> name="schema" <!-- mesma extensions in gmd:md_metadata need to be enumerated --> <xsl:template name="iso19139metadatamesma"> <xsl:param name="schema"/> <xsl:param name="edit"/> <xsl:param name="dataset"/> <xsl:param name="core"/> select="mesma:revisiondate geonet:child[string(@name)='revisiondate'] "> name="schema" 10

12 MESMA Deliverable D5.2 Annex B MMP Implementation <!-- mesma Profile Tabs --> <xsl:template name="mesmaprofiletab"> <xsl:param name="indent"/> <xsl:param name="tablink"/> <!-- This part is to correct : put mesma min core and all--> <xsl:call-template name="displaytab"> name="tab" select="'groups'"/> <!-- just a non-existing tab --> name="text" select="/root/gui/strings/bygroup"/> name="tablink" select="''"/> <!-- mesma tabs --> <xsl:template name="mesma"> <xsl:param name="schema"/> <xsl:param name="edit"/> <xsl:param name="dataset"/> <xsl:param name="core"/> <div style="background:grey;color:white;fontweight:bold">mesma Profile</div> <!-- dataset or resource info in its/their own box --> <xsl:for-each select="gmd:identificationinfo/gmd:md_dataidentification gmd:identifi cationinfo/srv:sv_serviceidentification"> <xsl:call-template name="complexelementguiwrapper"> name="title"> <xsl:choose> <xsl:when test="$dataset=true()"> <xsl:value-of select="'data Identification'"/> </xsl:when> <xsl:when test="localname(.)='sv_serviceidentification'"> <xsl:value-of select="'service Identification'"/> </xsl:when> <xsl:otherwise> <xsl:value-of select="'resource Identification'"/> </xsl:otherwise> </xsl:choose> </xsl:with-param> name="content"> select="gmd:citation/gmd:ci_citation/gmd:title gmd:citation/gmd:ci_ci tation/geonet:child[string(@name)='title']"> name="schema" 11

13 MESMA select="gmd:citation/gmd:ci_citation/gmd:date gmd:citation/gmd:ci_cit name="schema" select="gmd:abstract name="schema" select="gmd:language name="schema" select="gmd:characterset name="schema" select="gmd:topiccategory "> name="schema" <xsl:if test="$core and $dataset"> <xsl:apply-templates mode="elementep" select="gmd:spatialrepresentationtype tialrepresentationtype']"> name="schema" <xsl:apply-templates mode="elementep" select="gmd:spatialresolution lution']"> name="schema" 12

14 MESMA Deliverable D5.2 Annex B MMP Implementation </xsl:if> <!-- cutomize CI_ResponsibleParty displaying--> <xsl:for-each select="gmd:pointofcontact */geonet:child[string(@name)='pointofconta ct']"> <xsl:call-template name="ci_responsiblepartymesma"> name="schema" name="edit" select="gmd:descriptivekeywords geonet:child[string(@name)='descripti vekeywords']"> name="schema" <!-- Resource constraints --> select="gmd:resourceconstraints geonet:child[string(@name)='resourcec onstraints']"> name="schema" <!-- geographic extent, vertical extent, temporal extent and taxonomic coverage in their own boxes --> <xsl:call-template name="complexelementguiwrapper"> name="title" select="/root/gui/iso19139.mesma/element[@name='gmd:ex_extent']/label "/> name="content"> <xsl:if test="$dataset"> <xsl:apply-templates mode="elementep" select="gmd:extent/gmd:ex_extent gmd:extent/geonet:child[string(@name )='EX_Extent']"> name="schema" name="edit" </xsl:apply- 13

15 MESMA templates> </xsl:if> </xsl:with-param> name="schema" name="realname" select="'gmd:ex_extent'"/> </xsl:with-param> name="schema" name="realname" select="'gmd:md_dataidentification'"/> <xsl:if test="$core and $dataset"> <!-- scope and lineage in their own box --> <xsl:call-template name="complexelementguiwrapper"> name="title" /label"/> name="content"> <xsl:for-each select="gmd:dataqualityinfo/gmd:dq_dataquality"> select="gmd:scope name="schema" select="gmd:lineage name="schema" </xsl:with-param> name="schema" name="group" select="/root/gui/strings/dataqualitytab"/> name="realname" select="'gmd:dataqualityinfo'"/> <!-- referencesysteminfo in its own box --> 14

16 MESMA Deliverable D5.2 Annex B MMP Implementation <xsl:call-template name="complexelementguiwrapper"> name="title" select="/root/gui/iso19139.mesma/element[@name='gmd:referencesystemin fo']/label"/> name="id" select="generateid(/root/gui/iso19139.mesma/element[@name='gmd:referencesysteminfo']/ label)"/> name="content"> <xsl:for-each select="gmd:referencesysteminfo/gmd:md_referencesystem"> select="gmd:referencesystemidentifier/gmd:rs_identifier/gmd:code gmd: referencesystemidentifier/gmd:rs_identifier/geonet:child[string(@name )='code']"> name="schema" select="gmd:referencesystemidentifier/gmd:rs_identifier/gmd:codespace name="schema" </xsl:with-param> name="schema" name="group" select="/root/gui/strings/refsystab"/> name="realname" select="'gmd:referencesysteminfo'"/> <!-- onlineresource(s) in their own box --> <xsl:call-template name="complexelementguiwrapper"> name="title" select="/root/gui/iso19139.mesma/element[@name='gmd:distributioninfo' ]/label"/> name="content"> <xsl:for-each select="gmd:distributioninfo"> <xsl:apply-templates mode="elementep" select="*/gmd:distributionformat */geonet:child[string(@name)='distri butionformat']"> name="schema" name="edit" 15

17 MESMA <xsl:call-template name="complexelementguiwrapper"> name="title" /label"/> name="id" l)"/> name="content"> <xsl:calltemplate name="complexelementguiwrapper"> <xsl:apply-templates mode="elementep" select="*/gmd:transferoptions/gmd:md_digitaltransferoptions/gmd:onlin e */gmd:transferoptions/gmd:md_digitaltransferoptions/geonet:child[st ring(@name)='online']"> name="schema" name="edit" </xsl:applytemplates> name="title" select="/root/gui/iso19139.mesma/element[@name='gmd:offline']/label"/ > name="content"> select="*/gmd:transferoptions/gmd:md_digitaltransferoptions/gmd:offli ne */gmd:transferoptions/gmd:md_digitaltransferoptions/geonet:child[s tring(@name)='offline']"> name="schema" </xsl:calltemplate> </xsl:with-param> name="schema" name="schema" </xsl:with-param> name="id" select="generateid(/root/gui/iso19139.mesma/element[@name='gmd:offline']/label)"/> 16

18 MESMA Deliverable D5.2 Annex B MMP Implementation <xsl:call-template name="complexelementguiwrapper"> name="title" select="/root/gui/iso19139.mesma/element[@name='gmd:distributor']/lab el"/> name="id" select="generateid(/root/gui/iso19139.mesma/element[@name='gmd:distributor']/label)"/ > name="content"> <xsl:for-each select="*/gmd:distributor/gmd:md_distributor/gmd:distributorcontact * /geonet:child[string(@name)='distributorcontact']"> <xsl:call-template name="ci_responsiblepartymesma"> name="schema" name="schema" </xsl:with-param> </xsl:with-param> name="schema" name="group" select="/root/gui/strings/distributioninfotab"/> name="realname" select="'gmd:distributioninfo'"/> </xsl:if> <!-- metadata info in its own box --> <xsl:call-template name="complexelementguiwrapper"> name="title" select="/root/gui/iso19139.mesma/element[@name='mesma:md_metadata']/l abel"/> name="id" select="generateid(/root/gui/iso19139.mesma/element[@name='mesma:md_metadata']/label) "/> name="content"> select="gmd:fileidentifier geonet:child[string(@name)='fileidentifier ']"> 17

19 MESMA name="schema" select="gmd:language name="schema" select="gmd:characterset name="schema" select="gmd:hierarchylevel ']"> name="schema" select="gmd:hierarchylevelname evelname']"> name="schema" <!-- metadata contact info in its own box --> <xsl:for-each select="gmd:contact <xsl:call-template name="ci_responsiblepartymesma"> name="schema" name="edit" <!-- more metadata elements --> select="gmd:datestamp name="schema" 18

20 MESMA Deliverable D5.2 Annex B MMP Implementation <xsl:if test="$core and $dataset"> select="gmd:metadatastandardname geonet:child[string(@name)='metadata StandardName']"> name="schema" select="gmd:metadatastandardversion geonet:child[string(@name)='metad atastandardversion']"> name="schema" </xsl:if> </xsl:with-param> name="schema" name="group" select="/root/gui/strings/metadatatab"/> name="realname" select="'mesma:md_metadata'"/> <xsl:template name="ci_responsiblepartymesma" > <xsl:param name="schema"/> <xsl:param name="edit"/> <xsl:variable name="content"> <tr> <td width="100%" class="padded-content" colspan="2"> <table width="100%"> <tr> <td width="50%" valign="top"> <table width="100%"> <xsl:applytemplates mode="elementep" select="gmd:ci_responsibleparty/gmd:organisationname gmd:ci_responsib leparty/geonet:child[string(@name)='organisationname']"> name="schema" 19

21 MESMA select="gmd:ci_responsibleparty/gmd:role gmd:ci_responsibleparty/geon name="schema" name="group" select="/root/gui/strings/metadata"/> select="gmd:ci_responsibleparty/child::*"> <xsl:for-each <xsl:choose> <xsl:when test="name(.)!='gmd:contactinfo' and name(.)!='gmd:organisationname' and name(.)!='gmd:role'"> <!-- These nodes are displayed only if their content is not null --> <xsl:if test="string(.)"> select="."> name="schema" </xsl:if> </xsl:when> </xsl:choose> </table> </td> <td valign="top"> <table width="100%"> <xsl:applytemplates mode="elementep" select="gmd:ci_responsibleparty/gmd:contactinfo gmd:ci_responsiblepar </xsl:applytemplates> name="schema" </table> </td> </tr> </table> <!--</fieldset>--> </td> 20

22 MESMA Deliverable D5.2 Annex B MMP Implementation </tr> </xsl:variable> <xsl:apply-templates mode="complexelement" select="."> name="schema" name="content" select="$content"/> <!-- ================================================================== -- > <!-- mesma Online Resource space reduced when only one resource available --> <!-- ================================================================== -- > <xsl:template mode="elementep" match="gmd:distributioninfo[//geonet:info/schema='iso19139.mesma']"> <xsl:param name="schema"/> <xsl:param name="edit"/> <xsl:param name="dataset"/> <xsl:param name="tab"/> <xsl:param name="core"/> <xsl:for-each select="."> <xsl:call-template name="complexelementguiwrapper"> name="title" select="'distribution and On-line Resource(s)'"/> name="tab" select="$tab"/> name="content"> <xsl:choose> <xsl:when test="$edit=true() or count(*/gmd:transferoptions/gmd:md_digitaltransferoptions/gmd:online) >1"> <!-- TODO: include 'more than one resource' test in if statement ticket:159 --> <xsl:for-each select="."> <xsl:apply-templates mode="elementep" select="*/gmd:distributionformat */geonet:child[string(@name)='distri butionformat']"> name="schema" name="edit" <xsl:apply-templates mode="elementep" select="*/gmd:transferoptions/gmd:md_digitaltransferoptions/gmd:onlin e */gmd:transferoptions/gmd:md_digitaltransferoptions/geonet:child[st ring(@name)='online']"> name="schema" name="edit" </xsl:when> 21

23 MESMA <xsl:otherwise> <xsl:for-each select="."> <xsl:apply-templates mode="elementep" select="*/gmd:distributionformat butionformat']"> name="schema" name="edit" <xsl:apply-templates mode="element" select="*/gmd:transferoptions/gmd:md_digitaltransferoptions/gmd:onlin e */gmd:transferoptions/gmd:md_digitaltransferoptions/geonet:child[st ring(@name)='online']"> name="schema" name="edit" name="flat" select="true()"/> </xsl:otherwise> </xsl:choose> </xsl:with-param> name="schema" name="group" select="/root/gui/strings/distributiontab"/> name="realname" select="'gmd:distributioninfo'"/> </xsl:stylesheet> 22

XSL Elements. xsl:copy-of

XSL Elements. xsl:copy-of XSL Elements The following elements are discussed on this page: xsl:copy-of xsl:value-of xsl:variable xsl:param xsl:if xsl:when xsl:otherwise xsl:comment xsl:import xsl:output xsl:template xsl:call-template

More information

Author: Irena Holubová Lecturer: Martin Svoboda

Author: Irena Holubová Lecturer: Martin Svoboda NPRG036 XML Technologies Lecture 6 XSLT 9. 4. 2018 Author: Irena Holubová Lecturer: Martin Svoboda http://www.ksi.mff.cuni.cz/~svoboda/courses/172-nprg036/ Lecture Outline XSLT Principles Templates Instructions

More information

XSLT: How Do We Use It?

XSLT: How Do We Use It? XSLT: How Do We Use It? Nancy Hallberg Nikki Massaro Kauffman 1 XSLT: Agenda Introduction & Terminology XSLT Walkthrough Client-Side XSLT/XHTML Server-Side XSLT/XHTML More Creative Server-Side XSLT 2 XSLT:

More information

Integrating data: Appendix F, G and H (full) GIMA Thesis. Ing. Huibert-Jan Lekkerkerk B.Sc.

Integrating data: Appendix F, G and H (full) GIMA Thesis. Ing. Huibert-Jan Lekkerkerk B.Sc. Integrating data: Appendix F, G and H (full) GIMA Thesis Ing. Huibert-Jan Lekkerkerk B.Sc. Table of contents TABLE OF CONTENTS... 3 APPENDIX F: MAPPING TO REFERENCE SET... 5 F.1 XSLT2: GAZETTEER... 5

More information

Computer Science E-259

Computer Science E-259 Computer Science E-259 XML with Java Lecture 5: XPath 1.0 (and 2.0) and XSLT 1.0 (and 2.0), Continued 22 October 2007 David J. Malan malan@post.harvard.edu 1 Computer Science E-259 Last Time CSS Level

More information

EXAM XML 1.1 and Related Technologies TYPE: DEMO

EXAM XML 1.1 and Related Technologies TYPE: DEMO IBM EXAM - 000-142 XML 1.1 and Related Technologies TYPE: DEMO http://www.examskey.com/000-142.html 1 Question: 1 XML data is stored and retrieved within a relational database for a data-centric application

More information

XSLT Programming Constructs

XSLT Programming Constructs XSLT Programming Constructs Contents 1. Procedural programming in XSLT 2. Defining named template rules 3. Parameterizing XSLT style sheets 2 1. Procedural Programming in XSLT Declarative vs. procedural

More information

Exam : Title : XML 1.1 and Related Technologies. Version : DEMO

Exam : Title : XML 1.1 and Related Technologies. Version : DEMO Exam : 000-142 Title : XML 1.1 and Related Technologies Version : DEMO 1. XML data is stored and retrieved within a relational database for a data-centric application by means of mapping XML schema elements

More information

XSLT is... XML XSLT XSL-FO XPath

XSLT is... XML XSLT XSL-FO XPath XSLT XSLT is... XML XSLT XSL-FO XPath Назначение XSLT XML XML Назначение XSLT XML HTML Сервер Браузер Назначение XSLT XML HTML Сервер Браузер Declaration

More information

Excel to XML v3. Compatibility Switch 13 update 1 and higher. Windows or Mac OSX.

Excel to XML v3. Compatibility Switch 13 update 1 and higher. Windows or Mac OSX. App documentation Page 1/5 Excel to XML v3 Description Excel to XML will let you submit an Excel file in the format.xlsx to a Switch flow where it will be converted to XML and/or metadata sets. It will

More information

Excel to XML v4. Version adds two Private Data sets

Excel to XML v4. Version adds two Private Data sets Excel to XML v4 Page 1/6 Excel to XML v4 Description Excel to XML will let you submit an Excel file in the format.xlsx to a Switch flow were it will be converted to XML and/or metadata sets. It will accept

More information

Extensible Markup Stylesheet Transformation (XSLT)

Extensible Markup Stylesheet Transformation (XSLT) Extensible Markup Stylesheet Transformation (XSLT) Asst. Prof. Dr. Kanda Runapongsa Saikaew (krunapon@kku.ac.th) Dept. of Computer Engineering Khon Kaen University 1 Overview Terms: XSL, XSLT, XSL-FO Value

More information

XSLT (part II) Mario Alviano A.Y. 2017/2018. University of Calabria, Italy 1 / 19

XSLT (part II) Mario Alviano A.Y. 2017/2018. University of Calabria, Italy 1 / 19 1 / 19 XSLT (part II) Mario Alviano University of Calabria, Italy A.Y. 2017/2018 Outline 2 / 19 1 Introduction 2 Variables, conditional constructs and iterations 3 Sorting and grouping 4 Named templates

More information

XSLT. Announcements (October 24) XSLT. CPS 116 Introduction to Database Systems. Homework #3 due next Tuesday Project milestone #2 due November 9

XSLT. Announcements (October 24) XSLT. CPS 116 Introduction to Database Systems. Homework #3 due next Tuesday Project milestone #2 due November 9 XSLT CPS 116 Introduction to Database Systems Announcements (October 24) 2 Homework #3 due next Tuesday Project milestone #2 due November 9 XSLT 3 XML-to-XML rule-based transformation language Used most

More information

XSL extensible Style Language" DOCUMENTS MULTIMEDIA! Transforming documents using! XSLT" XSLT processor" XSLT stylesheet"

XSL extensible Style Language DOCUMENTS MULTIMEDIA! Transforming documents using! XSLT XSLT processor XSLT stylesheet DOCUMENTS MULTIMEDIA! Transforming documents using! XSLT" XSL extensible Style Language"!" A family of languages for defining document transformation and presentation" XSL XSLT XSL-FO Christine Vanoirbeek"

More information

Extensions to XSLT 1.0, and XSLT 2.0

Extensions to XSLT 1.0, and XSLT 2.0 ... Extensions A typical problem: XSLT 1.0 does not have any way of finding the current date and time. However, some XSLT 1.0 processors allow you to use extensions to XSLT 1.0. The EXSLT initiative http://www.exslt.org/

More information

The Transformation Language XSL

The Transformation Language XSL Chapter 8 The Transformation Language XSL 8.1 XSL: Extensible Stylesheet Language developed from CSS (Cascading Stylesheets) scripting language for transformation of data sources to HTML or any other optical

More information

Burrows & Langford Appendix D page 1 Learning Programming Using VISUAL BASIC.NET

Burrows & Langford Appendix D page 1 Learning Programming Using VISUAL BASIC.NET Burrows & Langford Appendix D page 1 APPENDIX D XSLT XSLT is a programming language defined by the World Wide Web Consortium, W3C (http://www.w3.org/tr/xslt), that provides the mechanism to transform a

More information

XPath and XSLT without the pain!

XPath and XSLT without the pain! XPath and XSLT without the pain! Bertrand Delacrétaz ApacheCon EU 2007, Amsterdam bdelacretaz@apache.org www.codeconsult.ch slides revision: 2007-05-04 Goal Learning to learn XPath and XSLT because it

More information

Semi-structured Data 11 - XSLT

Semi-structured Data 11 - XSLT Semi-structured Data 11 - XSLT Andreas Pieris and Wolfgang Fischl, Summer Term 2016 Outline What is XSLT? XSLT at First Glance XSLT Templates Creating Output Further Features What is XSLT? XSL = extensible

More information

XPath and XSLT. Overview. Context. Context The Basics of XPath. XPath and XSLT. Nodes Axes Expressions. Stylesheet templates Transformations

XPath and XSLT. Overview. Context. Context The Basics of XPath. XPath and XSLT. Nodes Axes Expressions. Stylesheet templates Transformations XPath and XSLT Michael B. Spring Department of Information Science and Telecommunications University of Pittsburgh spring@imap.pitt.edu http://www.sis.pitt.edu/~spring Context The Basics of XPath Nodes

More information

XSL Languages. Adding styles to HTML elements are simple. Telling a browser to display an element in a special font or color, is easy with CSS.

XSL Languages. Adding styles to HTML elements are simple. Telling a browser to display an element in a special font or color, is easy with CSS. XSL Languages It started with XSL and ended up with XSLT, XPath, and XSL-FO. It Started with XSL XSL stands for EXtensible Stylesheet Language. The World Wide Web Consortium (W3C) started to develop XSL

More information

Dynamic Indexing with XSL

Dynamic Indexing with XSL In content is generally displayed in a static format. This means that the content entered never changes unless it is updated manually. When a page is transformed, the data entered on the page is visible.

More information

You need to install this note if you want to enable consolidation in Embedded Model for BPC NW 10.1 in Support Package 08 Patch01.

You need to install this note if you want to enable consolidation in Embedded Model for BPC NW 10.1 in Support Package 08 Patch01. SAP Note 2218894 - Consolidation in embedded model bug fixing - CPMBPC Version 3 Validity: 04.12.2015 - active Language English Header Data Released On 14.12.2015 07:43:43 Release Status Released for Customer

More information

Introduction to XSLT. Version 1.3 March nikos dimitrakas

Introduction to XSLT. Version 1.3 March nikos dimitrakas Introduction to XSLT Version 1.3 March 2018 nikos dimitrakas Table of contents 1 INTRODUCTION... 3 1.1 XSLT... 3 1.2 PREREQUISITES... 3 1.3 STRUCTURE... 3 2 SAMPLE DATA... 4 3 XSLT... 6 4 EXAMPLES... 7

More information

Sample Text Point Instruction

Sample Text Point Instruction TSMAD29/DIPWG7 11.11B Paper for Consideration by TSMAD/DIPWG Potential Adjustments to S-100 Part 9 Portrayal - Text Styles. Submitted by: CARIS Executive Summary: This paper discusses the introduction

More information

XSL Transformation (XSLT) XSLT Processors. Example XSLT Stylesheet. Calling XSLT Processor. XSLT Structure

XSL Transformation (XSLT) XSLT Processors. Example XSLT Stylesheet. Calling XSLT Processor. XSLT Structure Transformation (T) SOURCE The very best of Cat Stevens UK 8.90 1990 Empire Burlesque Bob

More information

GeoNetwork opensource

GeoNetwork opensource GeoNetwork opensource Spatial data management Geographic data sharing for everyone 20070907 François Prunayre FOSS4G2007 - LAB09 1 Getting started with GeoNetwork opensource Installation at a glimpse Directory

More information

WebSphere DataPower SOA Appliances and XSLT (Part 2 of 2) - Tips and Tricks

WebSphere DataPower SOA Appliances and XSLT (Part 2 of 2) - Tips and Tricks IBM Software Group WebSphere DataPower SOA Appliances and XSLT (Part 2 of 2) - Tips and Tricks Hermann Stamm-Wilbrandt (stammw@de.ibm.com) DataPower XML Compiler Developer, L3 8 July 2010 WebSphere Support

More information

<xsl:apply-templates select="atom:entry/atom:content"/> <xsl:copy-of xmlns:xsl="http://www.w3.org/1999/xsl/transform"/>

<xsl:apply-templates select=atom:entry/atom:content/> <xsl:copy-of xmlns:xsl=http://www.w3.org/1999/xsl/transform/> Split one of your gravestone XSL stylesheets into two parts, one with templates about persons, the other with templates about inscriptions. Have a third template which pulls them together, using .

More information

Generating Variants Using XSLT Tutorial

Generating Variants Using XSLT Tutorial Table of Contents 1. Overview... 1 2. About this tutorial... 1 3. Setting up the pure::variants project... 1 4. Setting up the feature model... 3 5. Setting up the family model... 4 6. Setting up the XSLT

More information

D4.8 Report on semantic interoperability with Europeana

D4.8 Report on semantic interoperability with Europeana ECP 2008 DILI 518002 EUscreen Exploring Europe s Television Heritage in Changing Contexts D4.8 Report on semantic interoperability with Europeana Deliverable number Dissemination level D4.8 Report on semantic

More information

COP 4814 Florida International University Kip Irvine XSLT. Updated: 2/9/2016 Based on Goldberg, Chapter 2. Irvine COP 4814

COP 4814 Florida International University Kip Irvine XSLT. Updated: 2/9/2016 Based on Goldberg, Chapter 2. Irvine COP 4814 COP 4814 Florida International University Kip Irvine XSLT Updated: 2/9/2016 Based on Goldberg, Chapter 2 XSL Overview XSL Extensible Stylesheet Language A family of languages used to transform and render

More information

White Paper. XML-Based Export and Import of Objects Using XSLT. Fabasoft Folio 2017 R1 Update Rollup 1

White Paper. XML-Based Export and Import of Objects Using XSLT. Fabasoft Folio 2017 R1 Update Rollup 1 White Paper XML-Based Export and Import of Objects Using XSLT Fabasoft Folio 2017 R1 Update Rollup 1 Copyright Fabasoft R&D GmbH, Linz, Austria, 2018. All rights reserved. All hardware and software names

More information

IBM Research Report. Using XSLT to Detect Cycles in a Directed Graph

IBM Research Report. Using XSLT to Detect Cycles in a Directed Graph RC23144 (W0403-066) March 9, 2004 Computer Science IBM Research Report Using XSLT to Detect Cycles in a Directed Graph David Marston IBM Research Division Thomas J. Watson Research Center One Rogers Street

More information

Paper for Consideration by the S-100 Working Group. S-100 Portrayal Support for Lua

Paper for Consideration by the S-100 Working Group. S-100 Portrayal Support for Lua S100WG02-10.8 Paper for Consideration by the S-100 Working Group S-100 Portrayal Support for Lua Submitted by: Executive Summary: Related Documents: Related Projects: SPAWAR Atlantic This paper describes

More information

SDN Community Contribution

SDN Community Contribution SDN Community Contribution (This is not an official SAP document.) Disclaimer & Liability Notice This document may discuss sample coding or other information that does not include SAP official interfaces

More information

info-h-509 xml technologies Lecture 5: XSLT Stijn Vansummeren February 14, 2017

info-h-509 xml technologies Lecture 5: XSLT Stijn Vansummeren February 14, 2017 info-h-509 xml technologies Lecture 5: XSLT Stijn Vansummeren February 14, 2017 lecture outline 1 How XML may be rendered in Web Browsers 2 Syntax and Semantics of XSLT 3 How XPath is used in XSLT 1 our

More information

XSL and OU Campus. OmniUpdate User Training Conference OmniUpdate, Inc Flynn Road, Suite 100 Camarillo, CA 93012

XSL and OU Campus. OmniUpdate User Training Conference OmniUpdate, Inc Flynn Road, Suite 100 Camarillo, CA 93012 XSL and OU Campus OmniUpdate User Training Conference 2015 OmniUpdate, Inc. 1320 Flynn Road, Suite 100 Camarillo, CA 93012 OmniUpdate, Inc. 1320 Flynn Road, Suite 100 Camarillo, CA 93012 800.362.2605 805.484.9428

More information

XSDs: exemplos soltos

XSDs: exemplos soltos XSDs: exemplos soltos «expande o tipo base»

More information

XSLT program. XSLT elements. XSLT example. An XSLT program is an XML document containing

XSLT program. XSLT elements. XSLT example. An XSLT program is an XML document containing XSLT CPS 216 Advanced Database Systems Announcements (March 24) 2 Homework #3 will be assigned next Tuesday Reading assignment due next Wednesday XML processing in Lore (VLDB 1999) and Niagara (VLDB 2003)

More information

Display the XML Files for Disclosure to Public by Using User-defined XSL Zhiping Yan, BeiGene, Beijing, China Huadan Li, BeiGene, Beijing, China

Display the XML Files for Disclosure to Public by Using User-defined XSL Zhiping Yan, BeiGene, Beijing, China Huadan Li, BeiGene, Beijing, China PharmaSUG China 2018 Paper CD-72 Display the XML Files for Disclosure to Public by Using User-defined XSL Zhiping Yan, BeiGene, Beijing, China Huadan Li, BeiGene, Beijing, China ABSTRACT US Food and Drug

More information

TEST AND PILOT. Wim Kok SCOBDO

TEST AND PILOT. Wim Kok SCOBDO TEST AND PILOT Wim Kok SCOBDO Version history Version Date Remarks Author 0.1 22-08-2017 Initial version Wim Kok 0.2 27-12-2017 Last tests Wim Kok 1.0 18-01-2018 Final Wim Kok This is a living document.

More information

Advanced XSLT editing: Content query web part (CQWP) Dolev Raz SharePoint top soft Soft.co.il

Advanced XSLT editing: Content query web part (CQWP) Dolev Raz SharePoint top soft Soft.co.il Advanced XSLT editing: Content query web part (CQWP) Dolev Raz SharePoint Implementer @ top soft dolev_r@top- Soft.co.il About Me Dolev Raz 22 years-old Live in Qiriyat Ono Works in Logic trough Top Soft

More information

XML. Objectives. Duration. Audience. Pre-Requisites

XML. Objectives. Duration. Audience. Pre-Requisites XML XML - extensible Markup Language is a family of standardized data formats. XML is used for data transmission and storage. Common applications of XML include business to business transactions, web services

More information

4. Unit: Transforming XML with XSLT

4. Unit: Transforming XML with XSLT Semistructured Data and XML 28 4. Unit: Transforming XML with XSLT Exercise 4.1 (XML to HTML) Write an XSLT routine performing the following task: Map the following country data for each country to an

More information

Introduction to XSLT

Introduction to XSLT Introduction to XSLT Justin Tilton, Chief Executive Officer instructional media + magic, inc. at the JA-SIG Conference Vancouver, BC Sunday, June 9, 2002 The Abstract Looking for a methodology to quickly

More information

Advanced XSLT. Web Data Management and Distribution. Serge Abiteboul Ioana Manolescu Philippe Rigaux Marie-Christine Rousset Pierre Senellart

Advanced XSLT. Web Data Management and Distribution. Serge Abiteboul Ioana Manolescu Philippe Rigaux Marie-Christine Rousset Pierre Senellart Advanced XSLT Web Data Management and Distribution Serge Abiteboul Ioana Manolescu Philippe Rigaux Marie-Christine Rousset Pierre Senellart Web Data Management and Distribution http://webdam.inria.fr/textbook

More information

The Transformation Language XSL

The Transformation Language XSL Chapter 8 The Transformation Language XSL 8.1 XSL: Extensible Stylesheet Language developed from CSS (Cascading Stylesheets) scripting language for transformation of data sources to HTML or any other optical

More information

Computer Science E-259

Computer Science E-259 Computer Science E-259 XML with Java Lecture 4: XPath 1.0 (and 2.0) and XSLT 1.0 (and 2.0) 21 February 2007 David J. Malan malan@post.harvard.edu 1 Computer Science E-259 Last Time DOM Level 3 JAXP 1.3

More information

Advanced XSLT. Web Data Management and Distribution. Serge Abiteboul Philippe Rigaux Marie-Christine Rousset Pierre Senellart

Advanced XSLT. Web Data Management and Distribution. Serge Abiteboul Philippe Rigaux Marie-Christine Rousset Pierre Senellart Advanced XSLT Web Data Management and Distribution Serge Abiteboul Philippe Rigaux Marie-Christine Rousset Pierre Senellart http://gemo.futurs.inria.fr/wdmd January 15, 2010 Gemo, Lamsade, LIG, Télécom

More information

Custom Tables with the LandXML Report Extension David Zavislan, P.E.

Custom Tables with the LandXML Report Extension David Zavislan, P.E. December 2-5, 2003 MGM Grand Hotel Las Vegas Custom Tables with the LandXML Report Extension David Zavislan, P.E. CV41-2 Learn some basic concepts of LandXML and the extensible Stylesheet Language (XSL)

More information

Lars Schmidt-Thieme, Information Systems and Machine Learning Lab (ISMLL), University of Hildesheim, Germany, Course on XML and Semantic Web

Lars Schmidt-Thieme, Information Systems and Machine Learning Lab (ISMLL), University of Hildesheim, Germany, Course on XML and Semantic Web Course on XML and Semantic Web Technologies, summer term 2012 0/44 XML and Semantic Web Technologies XML and Semantic Web Technologies I. XML / 5. XML Stylesheet Language Transformations (XSLT) Lars Schmidt-Thieme

More information

Proposal: Codelists 1.0 April 2003

Proposal: Codelists 1.0 April 2003 Proposal: Codelists 1.0 April 2003 Proposal: Codelists / 1.0 / April 2003 1 Document Control Abstract In many cases, there is a need to use sets of pre-defined codes (such as country and currency codes)

More information

XML Where Angels Fear To Tread: SB/MVC on the Server

XML Where Angels Fear To Tread: SB/MVC on the Server XML Where Angels Fear To Tread: SB/MVC on the Server Introduction Michael Corning, Microsoft Corporation This session is a follow-on to "XML for the Criminally Insane: An Introduction to the Schema- Based/Model-View-Controller

More information

The main Topics in this lecture are:

The main Topics in this lecture are: Lecture 15: Working with Extensible Markup Language (XML) The main Topics in this lecture are: - Brief introduction to XML - Some advantages of XML - XML Structure: elements, attributes, entities - What

More information

Style Sheet A. Bellaachia Page: 22

Style Sheet A. Bellaachia Page: 22 Style Sheet How to render the content of an XML document on a page? Two mechanisms: CSS: Cascading Style Sheets XSL (the extensible Style sheet Language) CSS Definitions: CSS: Cascading Style Sheets Simple

More information

Term selector datatype

Term selector datatype Term selector datatype Installation Guide Xuntos B.V. www.xuntos.nl Oktober 2012 Table of Contents Introduction... 3 XML Data save example... 3 Revision History... 3 Before installing this package... 4

More information

XSLT (part I) Mario Alviano A.Y. 2017/2018. University of Calabria, Italy 1 / 22

XSLT (part I) Mario Alviano A.Y. 2017/2018. University of Calabria, Italy 1 / 22 1 / 22 XSLT (part I) Mario Alviano University of Calabria, Italy A.Y. 2017/2018 Outline 2 / 22 1 Introduction 2 Templates 3 Attributes 4 Copy of elements 5 Exercises 4 / 22 What is XSLT? XSLT is a (Turing

More information

Open Geospatial Consortium

Open Geospatial Consortium Open Geospatial Consortium Publication Date: 2014-03-10 Approval Date: 2014-03-30 Posted Date: 2014-04-15 Reference number of this document: OGC 14-009r1 External Reference URL for this document: http://www.opengeospatial.net/doc/per/owc-json

More information

XSLT. December 16, 2008

XSLT. December 16, 2008 XSLT December 16, 2008 XML is used in a large number of applications, either data-centric (semi-structured databases), or document-centric (Web publishing). In either case, there is a need for transforming

More information

Advanced XQuery and XSLT

Advanced XQuery and XSLT NPRG036 XML Technologies Lecture 9 Advanced XQuery and XSLT 30. 4. 2018 Author: Irena Holubová Lecturer: Martin Svoboda http://www.ksi.mff.cuni.cz/~svoboda/courses/172-nprg036/ Lecture Outline XQuery Update

More information

XML. <subtitle>xslt (cont)</subtitle> <author>prof. Dr. Christian Pape</author>

XML. <subtitle>xslt (cont)</subtitle> <author>prof. Dr. Christian Pape</author> XML xslt (cont) prof. Dr. Christian Pape Content Expressions and Functions Copying nodes Using variables and parameters Conditional Processing XSLT 5-2 Expressions

More information

Introduction to XSLT

Introduction to XSLT Introduction to XSLT Justin Tilton, Chief Executive Officer instructional media + magic, inc. at the JA-SIG Conference Destin, Florida December 2, 2001 The Abstract Looking for a methodology to quickly

More information

XML and Semantic Web Technologies. II. XML / 5. XML Stylesheet Language Transformations (XSLT)

XML and Semantic Web Technologies. II. XML / 5. XML Stylesheet Language Transformations (XSLT) XML and Semantic Web Technologies XML and Semantic Web Technologies II. XML / 5. XML Stylesheet Language Transformations (XSLT) Lars Schmidt-Thieme Information Systems and Machine Learning Lab (ISMLL)

More information

XSLT 3.0 Testbed. Tony Graham Mentea 13 Kelly s Bay Beach Skerries, Co Dublin Ireland

XSLT 3.0 Testbed. Tony Graham Mentea 13 Kelly s Bay Beach Skerries, Co Dublin Ireland XSLT 3.0 Testbed Tony Graham Mentea 13 Kelly s Bay Beach Skerries, Co Dublin Ireland info@mentea.net http://www.mentea.net Version 1.0 15 February 2014 2014 Mentea XSLT 3.0 Testbed XSLT 3.0 Testbed xsl:attribute-set

More information

XSLT. Lecture 38. Robb T. Koether. Mon, Apr 21, Hampden-Sydney College. Robb T. Koether (Hampden-Sydney College) XSLT Mon, Apr 21, / 26

XSLT. Lecture 38. Robb T. Koether. Mon, Apr 21, Hampden-Sydney College. Robb T. Koether (Hampden-Sydney College) XSLT Mon, Apr 21, / 26 XSLT Lecture 38 Robb T. Koether Hampden-Sydney College Mon, Apr 21, 2014 Robb T. Koether (Hampden-Sydney College) XSLT Mon, Apr 21, 2014 1 / 26 1 XSLT 2 Running XSLT 3 XSLT Files 4 Output Modes 5 XSLT

More information

XSLT. Patryk Czarnik. XML and Applications 2014/2015 Lecture

XSLT. Patryk Czarnik. XML and Applications 2014/2015 Lecture XSLT Patryk Czarnik XML and Applications 2014/2015 Lecture 10 15.12.2014 XSLT where does it come from? XSL Extensible Stylesheet Language Presentation of XML documents by transformation XSLT XSL Transformations

More information

Appendix H XML Quick Reference

Appendix H XML Quick Reference HTML Appendix H XML Quick Reference What Is XML? Extensible Markup Language (XML) is a subset of the Standard Generalized Markup Language (SGML). XML allows developers to create their own document elements

More information

Integrating Search Interface to SAS Content 3.4

Integrating Search Interface to SAS Content 3.4 Integrating Search Interface to SAS Content 3.4 Copyright Notice The correct bibliographic citation for this manual is as follows: SAS Institute Inc., Integrating Search Interface to SAS Content 3.4, Cary,

More information

XML and Databases XSLT Stylesheets and Transforms

XML and Databases XSLT Stylesheets and Transforms XML and Databases XSLT Stylesheets and Transforms Kim.Nguyen@nicta.com.au Lecture 11 1 / 38 extensible Stylesheet Language Transformations Outline 1 extensible Stylesheet Language Transformations 2 Templates

More information

Web Data Management XSLT. Philippe Rigaux CNAM Paris & INRIA Saclay

Web Data Management XSLT. Philippe Rigaux CNAM Paris & INRIA Saclay http://webdam.inria.fr Web Data Management XSLT Serge Abiteboul INRIA Saclay & ENS Cachan Ioana Manolescu INRIA Saclay & Paris-Sud University Philippe Rigaux CNAM Paris & INRIA Saclay Marie-Christine Rousset

More information

Print & Page Layout Community W3C

Print & Page Layout Community W3C @ W3C Tony Graham Chair http://www.w3.org/community/ppl/ public-ppl@w3.org @pplcg irc://irc.w3.org:6665/#ppl Version 1.0 14 February 2014 2014 Mentea @ W3C 5 Survey 8 Decision making in XSL-FO processing

More information

Introduction to XSLT. Version 1.0 July nikos dimitrakas

Introduction to XSLT. Version 1.0 July nikos dimitrakas Introduction to XSLT Version 1.0 July 2011 nikos dimitrakas Table of contents 1 INTRODUCTION... 3 1.1 XSLT... 3 1.2 PREREQUISITES... 3 1.3 STRUCTURE... 3 2 SAMPLE DATA... 4 3 XSLT... 6 4 EXAMPLES... 7

More information

Roxen CMS 5.4. XSLT Tutorial

Roxen CMS 5.4. XSLT Tutorial Roxen CMS 5.4 XSLT Tutorial 2014-03-11 www.roxen.com Roxen Internet Software AB 2011 Roxen Internet Software AB. All rights reserved. Under the copyright laws, this document may not be copied, in whole

More information

A Collections. A.1 Consistency of the metadata model

A Collections. A.1 Consistency of the metadata model A Collections A.1 Consistency of the metadata model Before designing the Knowledge Base presented in section 2.4 to tackle the problem of cataloguing collections, it was studied how metadata records could

More information

DocBook: A Case Study and Anecdotes. Norman Walsh Sun Microsystems, Inc.

DocBook: A Case Study and Anecdotes. Norman Walsh Sun Microsystems, Inc. DocBook: A Case Study and Anecdotes Norman Walsh Sun Microsystems, Inc. Background What is DocBook? A DocBook Document DocBook History DocBook s Purpose 2 / 30 What is DocBook? DocBook is an XML vocabulary

More information

INTERNET & WEB APPLICATION DEVELOPMENT SWE 444. Fall Semester (081) Module 4 (III): XSL

INTERNET & WEB APPLICATION DEVELOPMENT SWE 444. Fall Semester (081) Module 4 (III): XSL INTERNET & WEB APPLICATION DEVELOPMENT SWE 444 Fall Semester 2008-2009 (081) Module 4 (III): XSL Dr. El-Sayed El-Alfy Computer Science Department King Fahd University of Petroleum and Minerals alfy@kfupm.edu.sa

More information

4. Unit: Transforming XML with XSLT

4. Unit: Transforming XML with XSLT Semistructured Data and XML 38 4. Unit: Transforming XML with XSLT Exercise 4.1 (XML to HTML) Write an XSLT routine that outputs the following country data for all countries with more than 1000000inhabitants

More information

Using WebSphere DataPower SOA Appliance with the FTP Transport Protocol

Using WebSphere DataPower SOA Appliance with the FTP Transport Protocol IBM Software Group Using WebSphere DataPower SOA Appliance with the FTP Transport Protocol David Shute (dshute@us.ibm.com) DataPower Enablement Program Manager 1 February 2011 WebSphere Support Technical

More information

store process communicate

store process communicate store process communicate 2011-10-04 store as XML communicate using HTML and CSS process with XSL

More information

How to Audit DirXML Events Using Stylesheets, Java, and JDBC

How to Audit DirXML Events Using Stylesheets, Java, and JDBC How to Audit DirXML Events Using Stylesheets, Java, and JDBC How-To Article NOVELL APPNOTES Karl Bunnell Senior Software Engineer Novell Developer Solutions kbunnell@novell.com This AppNote is the last

More information

XSL Concepts: Conditions and Loops. Robert Kiffe, Senior Web Developer OmniUpdate, Inc.

XSL Concepts: Conditions and Loops. Robert Kiffe, Senior Web Developer OmniUpdate, Inc. XSL Concepts: Conditions and Loops Robert Kiffe, Senior Web Developer OmniUpdate, Inc. Quick XSL Recap Conditional Statements If Choose XPath Conditional Loops For-Each For-Each-Group Apply-Templates Activities!

More information

Web Services Week 3. Fall Emrullah SONUÇ. Department of Computer Engineering Karabuk University

Web Services Week 3. Fall Emrullah SONUÇ. Department of Computer Engineering Karabuk University Web Services Week 3 Emrullah SONUÇ Department of Computer Engineering Karabuk University Fall 2017 1 Recap XML, Writing XML Rules for Writing XML Elements, Attributes, and Values XSL, XSLT 2 Contents Homework

More information

Presentation. Separating Content and Presentation Cascading Style Sheets (CSS) XML and XSLT

Presentation. Separating Content and Presentation Cascading Style Sheets (CSS) XML and XSLT Presentation Separating Content and Presentation Cascading Style Sheets (CSS) XML and XSLT WordPress Projects Theme Generators WYSIWYG editor Look at tools to support generation of themes Design a new

More information

GeoNetwork Developer Manual

GeoNetwork Developer Manual GeoNetwork Developer Manual Release 2.10.4-0 GeoNetwork December 08, 2017 Contents 1 Software development 3 1.1 System Requirements.......................................... 3 1.2 Tools...................................................

More information

XSLT Version 2.0 is Turing-Complete: A Purely Transformation Based Proof

XSLT Version 2.0 is Turing-Complete: A Purely Transformation Based Proof XSLT Version 2.0 is Turing-Complete: A Purely Transformation Based Proof Ruhsan Onder and Zeki Bayram Department of Computer Engineering/Internet Technologies Research Center Eastern Mediterranean University

More information

Chapter 1. DocBook XSL

Chapter 1. DocBook XSL Chapter 1. DocBook XSL Bob Stayton $Id: publishing.xml,v 1.4 2002/06/03 19:26:58 xmldoc Exp $ Copyright 2000 Bob Stayton Table of Contents Using XSL tools to publish DocBook documents... 1 XSLT engines...

More information

Birkbeck (University of London)

Birkbeck (University of London) Birkbeck (University of London) MSc Examination Department of Computer Science and Information Systems Internet and Web Technologies (COIY063H7) 15 Credits Date of Examination: 13 June 2017 Duration of

More information

How to Create XSLT Functions that Manipulate Functions

How to Create XSLT Functions that Manipulate Functions How to Create XSLT Functions that Manipulate Functions (a.k.a. Higher-Order Functions) Roger L. Costello September 2010 Introduction A powerful programming technique is to create functions that can accept

More information

PASS4TEST. IT Certification Guaranteed, The Easy Way! We offer free update service for one year

PASS4TEST. IT Certification Guaranteed, The Easy Way!   We offer free update service for one year PASS4TEST IT Certification Guaranteed, The Easy Way! \ http://www.pass4test.com We offer free update service for one year Exam : 000-141 Title : XML and related technologies Vendors : IBM Version : DEMO

More information

XML Wrap-up. CS 431 March 1, 2006 Carl Lagoze Cornell University

XML Wrap-up. CS 431 March 1, 2006 Carl Lagoze Cornell University XML Wrap-up CS 431 March 1, 2006 Carl Lagoze Cornell University XSLT Processing Model Input XSL doc parse Input XML doc parse Parsed tree serialize Input XML doc Parsed tree Xformed tree Output doc (xml,

More information

Version Integrating Oracle Commerce Cloud Service and Oracle Retail Order Management System

Version Integrating Oracle Commerce Cloud Service and Oracle Retail Order Management System Version 17.2 Integrating Oracle Commerce Cloud Service and Oracle Retail Order Management System Integrating Oracle Commerce Cloud Service and Oracle Retail Order Management System Product version: 17.2

More information

arxiv: v2 [astro-ph.im] 15 Jun 2009

arxiv: v2 [astro-ph.im] 15 Jun 2009 Astron. Nachr. / AN, No., 0 7 (2009) / DOI please set DOI! A standard transformation from XML to RDF via XSLT F. Breitling Astrophysikalisches Institut Potsdam, An der Sternwarte 16, D-14482 Potsdam, Germany

More information

Functions & Conditional Statements

Functions & Conditional Statements Functions & Conditional Statements OmniUpdate User Training Conference 2015 OmniUpdate, Inc. 1320 Flynn Road, Suite 100 Camarillo, CA 93012 OmniUpdate, Inc. 1320 Flynn Road, Suite 100 Camarillo, CA 93012

More information

DP Interview Q&A. 1. What are the different services that have you used in Datapower? WebService Proxy, Multiprotocol gateway and XML Firewall

DP Interview Q&A. 1. What are the different services that have you used in Datapower? WebService Proxy, Multiprotocol gateway and XML Firewall DP Interview Q&A 1. What are the different services that have you used in Datapower? WebService Proxy, Multiprotocol gateway and XML Firewall 2. Difference between WSP and MPGW? WSP Web Service Proxy is

More information

Higher-Order Functional Programming with XSLT 2.0 and FXSL

Higher-Order Functional Programming with XSLT 2.0 and FXSL Extreme Markup Languages 2006 Montréal, Québec August 7-11, 2006 Higher-Order Functional Programming with XSLT 2.0 and FXSL Dimitre Novatchev Microsoft Abstract This article describes the added support

More information

A Guide for Designing Your Own Dyamic SiteMason Templates. Creating. SiteMason Templates

A Guide for Designing Your Own Dyamic SiteMason Templates. Creating. SiteMason Templates A Guide for Designing Your Own Dyamic SiteMason Templates Creating SiteMason Templates 2 Creating SiteMason Templates (c) 2003 Monster Labs, Inc. Current Version: February 6, 2003 Manual Version 1.0 3

More information

Translating XSLT into XQuery

Translating XSLT into XQuery Translating into Albin Laga, Praveen Madiraju, Darrel A. Mazzari and Gowri Dara Department of Mathematics, Statistics, and Computer Science Marquette University P.O. Box 1881, Milwaukee, WI 53201 albin.laga,

More information