<?xml version="1.0" encoding="UTF-8"?>
<!--
This file was generated by Altova MapForce 2009sp1

YOU SHOULD NOT MODIFY THIS FILE, BECAUSE IT WILL BE
OVERWRITTEN WHEN YOU RE-RUN CODE GENERATION.

Refer to the Altova MapForce Documentation for further details.
http://www.altova.com/mapforce
-->
<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:gco="http://www.isotc211.org/2005/gco" xmlns:gmd="http://www.isotc211.org/2005/gmd" xmlns:gmi="http://www.isotc211.org/2005/gmi" xmlns:gmx="http://www.isotc211.org/2005/gmx" xmlns:gsr="http://www.isotc211.org/2005/gsr" xmlns:gss="http://www.isotc211.org/2005/gss" xmlns:gts="http://www.isotc211.org/2005/gts" xmlns:srv="http://www.isotc211.org/2005/srv" xmlns:gml="http://www.opengis.net/gml" xmlns:ogc="http://www.opengis.net/ogc" xmlns:ows="http://www.opengis.net/ows/1.1" xmlns:gmi2="http://www.opengis.net/sos/1.0" xmlns:swe="http://www.opengis.net/swe/1.0.1" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:smil20="http://www.w3.org/2001/SMIL20/" xmlns:smil20lang="http://www.w3.org/2001/SMIL20/Language" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:fn="http://www.w3.org/2005/xpath-functions" xmlns:grp="http://www.altova.com/Mapforce/grouping" exclude-result-prefixes="fn gmi2 grp ogc ows smil20 smil20lang swe xs xsi xsl">
	<xsl:output method="xml" encoding="UTF-8" indent="yes"/>
	<xsl:template match="/">
		<gmi:MI_Metadata>
			<xsl:variable name="var1_instance" as="node()" select="."/>
			<gmd:identificationInfo>
				<srv:SV_ServiceIdentification>
					<gmd:citation>
						<gmd:CI_Citation>
							<gmd:title>
								<xsl:for-each select="$var1_instance/gmi2:Capabilities/ows:ServiceIdentification/ows:Title">
									<gco:CharacterString>
										<xsl:sequence select="xs:string(.)"/>
									</gco:CharacterString>
								</xsl:for-each>
							</gmd:title>
						</gmd:CI_Citation>
					</gmd:citation>
					<gmd:abstract>
						<xsl:for-each select="$var1_instance/gmi2:Capabilities/ows:ServiceIdentification/ows:Abstract">
							<gco:CharacterString>
								<xsl:sequence select="xs:string(.)"/>
							</gco:CharacterString>
						</xsl:for-each>
					</gmd:abstract>
					<xsl:for-each select="$var1_instance/gmi2:Capabilities/ows:ServiceProvider">
						<gmd:pointOfContact>
							<gmd:CI_ResponsibleParty>
								<gmd:individualName>
									<xsl:for-each select="ows:ServiceContact/ows:IndividualName">
										<gco:CharacterString>
											<xsl:sequence select="xs:string(.)"/>
										</gco:CharacterString>
									</xsl:for-each>
								</gmd:individualName>
								<gmd:positionName>
									<xsl:for-each select="ows:ServiceContact/ows:PositionName">
										<gco:CharacterString>
											<xsl:sequence select="xs:string(.)"/>
										</gco:CharacterString>
									</xsl:for-each>
								</gmd:positionName>
								<gmd:contactInfo>
									<gmd:CI_Contact>
										<gmd:phone>
											<gmd:CI_Telephone>
												<gmd:voice>
													<xsl:for-each select="ows:ServiceContact/ows:ContactInfo/ows:Phone/ows:Voice">
														<gco:CharacterString>
															<xsl:sequence select="xs:string(.)"/>
														</gco:CharacterString>
													</xsl:for-each>
												</gmd:voice>
												<gmd:facsimile>
													<xsl:for-each select="ows:ServiceContact/ows:ContactInfo/ows:Phone/ows:Facsimile">
														<gco:CharacterString>
															<xsl:sequence select="xs:string(.)"/>
														</gco:CharacterString>
													</xsl:for-each>
												</gmd:facsimile>
											</gmd:CI_Telephone>
										</gmd:phone>
										<gmd:address>
											<xsl:for-each select="ows:ServiceContact/ows:ContactInfo/ows:Address">
												<gmd:CI_Address>
													<gmd:deliveryPoint>
														<xsl:for-each select="ows:DeliveryPoint">
															<gco:CharacterString>
																<xsl:sequence select="xs:string(.)"/>
															</gco:CharacterString>
														</xsl:for-each>
													</gmd:deliveryPoint>
													<gmd:city>
														<xsl:for-each select="ows:City">
															<gco:CharacterString>
																<xsl:sequence select="xs:string(.)"/>
															</gco:CharacterString>
														</xsl:for-each>
													</gmd:city>
													<gmd:administrativeArea>
														<xsl:for-each select="ows:AdministrativeArea">
															<gco:CharacterString>
																<xsl:sequence select="xs:string(.)"/>
															</gco:CharacterString>
														</xsl:for-each>
													</gmd:administrativeArea>
													<gmd:postalCode>
														<xsl:for-each select="ows:PostalCode">
															<gco:CharacterString>
																<xsl:sequence select="xs:string(.)"/>
															</gco:CharacterString>
														</xsl:for-each>
													</gmd:postalCode>
													<gmd:country>
														<xsl:for-each select="ows:Country">
															<gco:CharacterString>
																<xsl:sequence select="xs:string(.)"/>
															</gco:CharacterString>
														</xsl:for-each>
													</gmd:country>
													<gmd:electronicMailAddress>
														<xsl:for-each select="ows:ElectronicMailAddress">
															<gco:CharacterString>
																<xsl:sequence select="xs:string(.)"/>
															</gco:CharacterString>
														</xsl:for-each>
													</gmd:electronicMailAddress>
												</gmd:CI_Address>
											</xsl:for-each>
										</gmd:address>
									</gmd:CI_Contact>
								</gmd:contactInfo>
							</gmd:CI_ResponsibleParty>
						</gmd:pointOfContact>
					</xsl:for-each>
					<gmd:descriptiveKeywords>
						<gmd:MD_Keywords>
							<gmd:keyword>
								<xsl:for-each select="$var1_instance/gmi2:Capabilities/ows:ServiceIdentification/ows:Keywords/ows:Keyword">
									<gco:CharacterString>
										<xsl:sequence select="xs:string(.)"/>
									</gco:CharacterString>
								</xsl:for-each>
							</gmd:keyword>
							<gmd:type>
								<xsl:for-each select="$var1_instance/gmi2:Capabilities/ows:ServiceIdentification/ows:Keywords/ows:Keyword">
									<xsl:variable name="var32_Keyword" as="node()" select="."/>
									<xsl:if test="$var32_Keyword/@xml:lang">
										<gmd:MD_KeywordTypeCode>
											<xsl:attribute name="codeListValue">
												<xsl:sequence select="xs:string(xs:anyURI(xs:string(@xml:lang)))"/>
											</xsl:attribute>
											<xsl:sequence select="xs:string(xs:string(@xml:lang))"/>
										</gmd:MD_KeywordTypeCode>
									</xsl:if>
								</xsl:for-each>
							</gmd:type>
						</gmd:MD_Keywords>
					</gmd:descriptiveKeywords>
					<srv:serviceType>
						<xsl:for-each select="$var1_instance/gmi2:Capabilities/ows:ServiceIdentification">
							<xsl:variable name="var34_ServiceIdentification" as="node()" select="."/>
							<gco:LocalName>
								<xsl:if test="$var34_ServiceIdentification/ows:ServiceType/@codeSpace">
									<xsl:attribute name="codeSpace">
										<xsl:sequence select="xs:string(xs:anyURI(ows:ServiceType/@codeSpace))"/>
									</xsl:attribute>
								</xsl:if>
								<xsl:sequence select="xs:string(ows:ServiceType)"/>
							</gco:LocalName>
						</xsl:for-each>
					</srv:serviceType>
					<srv:serviceTypeVersion>
						<xsl:for-each select="$var1_instance/gmi2:Capabilities/ows:ServiceIdentification/ows:ServiceTypeVersion">
							<gco:CharacterString>
								<xsl:sequence select="xs:string(.)"/>
							</gco:CharacterString>
						</xsl:for-each>
					</srv:serviceTypeVersion>
					<srv:restrictions>
						<gmd:MD_Constraints>
							<gmd:useLimitation>
								<xsl:for-each select="$var1_instance/gmi2:Capabilities/ows:ServiceIdentification/ows:AccessConstraints">
									<gco:CharacterString>
										<xsl:sequence select="xs:string(.)"/>
									</gco:CharacterString>
								</xsl:for-each>
							</gmd:useLimitation>
						</gmd:MD_Constraints>
					</srv:restrictions>
					<srv:containsOperations>
						<xsl:for-each select="$var1_instance/gmi2:Capabilities/ows:OperationsMetadata/ows:Operation">
							<srv:SV_OperationMetadata>
								<srv:operationName>
									<gco:CharacterString>
										<xsl:sequence select="xs:string(@name)"/>
									</gco:CharacterString>
								</srv:operationName>
								<srv:parameters>
									<xsl:for-each select="ows:Parameter">
										<srv:SV_Parameter>
											<srv:name>
												<gco:aName>
													<gco:CharacterString>
														<xsl:sequence select="xs:string(@name)"/>
													</gco:CharacterString>
												</gco:aName>
												<xsl:for-each select="ows:DataType">
													<gco:attributeType>
														<gco:TypeName>
															<gco:aName>
																<gco:CharacterString>
																	<xsl:sequence select="xs:string(.)"/>
																</gco:CharacterString>
															</gco:aName>
														</gco:TypeName>
													</gco:attributeType>
												</xsl:for-each>
											</srv:name>
											<srv:description>
												<gco:CharacterString>
													<xsl:variable name="var46_map_select_AllowedValues" as="xs:string*">
														<xsl:for-each select="ows:AllowedValues/ows:Value">
															<xsl:sequence select="xs:string(.)"/>
														</xsl:for-each>
													</xsl:variable>
													<xsl:sequence select="fn:string-join($var46_map_select_AllowedValues, ',')"/>
												</gco:CharacterString>
											</srv:description>
											<xsl:for-each select="ows:DataType">
												<srv:valueType>
													<gco:TypeName>
														<gco:aName>
															<gco:CharacterString>
																<xsl:sequence select="xs:string(.)"/>
															</gco:CharacterString>
														</gco:aName>
													</gco:TypeName>
												</srv:valueType>
											</xsl:for-each>
										</srv:SV_Parameter>
									</xsl:for-each>
								</srv:parameters>
								<xsl:for-each select="ows:DCP/ows:HTTP/ows:Get">
									<xsl:variable name="var51_Get" as="node()" select="."/>
									<srv:connectPoint>
										<gmd:CI_OnlineResource>
											<gmd:linkage>
												<xsl:if test="$var51_Get/@xlink:href">
													<gmd:URL>
														<xsl:sequence select="xs:string(xs:anyURI(@xlink:href))"/>
													</gmd:URL>
												</xsl:if>
											</gmd:linkage>
										</gmd:CI_OnlineResource>
									</srv:connectPoint>
								</xsl:for-each>
								<xsl:for-each select="ows:DCP/ows:HTTP/ows:Post">
									<xsl:variable name="var53_Post" as="node()" select="."/>
									<srv:connectPoint>
										<gmd:CI_OnlineResource>
											<gmd:linkage>
												<xsl:if test="$var53_Post/@xlink:href">
													<gmd:URL>
														<xsl:sequence select="xs:string(xs:anyURI(@xlink:href))"/>
													</gmd:URL>
												</xsl:if>
											</gmd:linkage>
										</gmd:CI_OnlineResource>
									</srv:connectPoint>
								</xsl:for-each>
							</srv:SV_OperationMetadata>
						</xsl:for-each>
					</srv:containsOperations>
				</srv:SV_ServiceIdentification>
			</gmd:identificationInfo>
		</gmi:MI_Metadata>
	</xsl:template>
</xsl:stylesheet>
