<?xml version="1.0" encoding="ISO-8859-1"?>
<!--
======================================================================
	 FGDC CSDGM to ISO 19110 (Methodology for Feature Cataloguing) Transform using XPath 2.0

	 This is the XML Style sheet that transforms metadata conforming to the Entity and Attribute Section from the Content Standards for Digital Geospatial Metadata 
	 of the Federal Geographic Data Committee June 1998 FGDC-STD-001-1998 version to the ISO 19110.  This stylesheet can be applied to FGDC CSDGM XML that
	 contains the entity and attribute section, with detailed information,  to generate ISO 19110 feature catalog XML. This stylesheet should only be applied if there is 
	 an Entity and Attribute section within the FGDC CSDGM XML file. 

	 This file was generated by Altova MapForce 2009sp1

	 Authors:
	     This is the result of a collaboration of the Metadata Transform Working Group. For further information, please contact NOAA's National Coastal Data 
	     Development Center (NCDDC).
			National Coastal Data Development Center
			Toll Free: 866.732.2382
			E-mail: ncddcmetadata@noaa.gov

	 Distribution liability:
		 NOAA makes no warranty regarding these data, expressed or implied, nor does the fact of distribution constitute such a warranty. NOAA, NESDIS, 
		 NODC and NCDDC cannot assume liability for any damages caused by any errors or omissions in these data, nor as a result of the failure of these data 
		 to function on a particular system. These files were developed for opensource uses.

 Revisions:
	   	 20091028 (JLM) Namespaces were corrected to avoid duplicates.
							 xmlns:n="http://www.isotc211.org/2005/gfc" was changed
							 to xmlns:gfc="http://www.isotc211.org/2005/gfc".
		20091120 (JLM) CodeLists were edited to remove extra quotes and >.
							 CodeLists were checked to ensure inclusion of domian 
							 codes. Edits were also made to remove un-used elements. 
		20100502 (JLM) Min and Max Range Domains were remapped using 
							 constrainedBy.
		20100721 (JLM) A type in the XSLT header comments were corrected to 
							 state that this is a conversion to ISO 19110 not 19111. 
		20101029 (JLM) A major overhaul was given to this transform to account
							 for validation issues and to arrange information more logically. 
-->
<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:gfc="http://www.isotc211.org/2005/gfc" xmlns:gmd="http://www.isotc211.org/2005/gmd" 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:gml="http://www.opengis.net/gml/3.2" xmlns:xlink="http://www.w3.org/1999/xlink" 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 grp xs xsi xsl" xmlns="http://www.isotc211.org/2005/gfc">
	<xsl:output method="xml" encoding="ISO-8859-1" indent="yes"/>
	<xsl:template match="/">
		<gfc:FC_FeatureCatalogue>
			<xsl:attribute name="xsi:schemaLocation" separator=" ">
			 <xsl:sequence select="'http://www.isotc211.org/2005/gfc http://www.ngdc.noaa.gov/metadata/published/xsd/schema/gfc/gfc.xsd'"/>
			</xsl:attribute>
			<xsl:variable name="var1_instance" as="node()" select="."/>
			<xsl:for-each select="$var1_instance/metadata">
				<xsl:variable name="var2_metadata" as="node()" select="."/>
				<xsl:for-each select="eainfo">
					<xsl:attribute name="id">
						<xsl:sequence select="xs:string(xs:ID('FC001'))"/>
					</xsl:attribute>
					<gmx:name>
						<xsl:for-each select="$var2_metadata/idinfo/citation/citeinfo/title">
							<gco:CharacterString>
								<xsl:sequence select="fn:normalize-space(fn:concat('Feature Catalogue for ', xs:string(.)))"/>
							</gco:CharacterString>
						</xsl:for-each>
					</gmx:name>
					<gmx:scope>
						<xsl:attribute name="gco:nilReason">
							<xsl:sequence select="xs:string(xs:string(fn:normalize-space('unknown')))"/>
						</xsl:attribute>
					</gmx:scope>
					<gmx:versionNumber>
						<xsl:attribute name="gco:nilReason">
							<xsl:sequence select="xs:string(xs:string('unknown'))"/>
						</xsl:attribute>
					</gmx:versionNumber>
					<gmx:versionDate>
						<xsl:attribute name="gco:nilReason">
							<xsl:sequence select="xs:string(xs:string('unknown'))"/>
						</xsl:attribute>
					</gmx:versionDate>
					<gmx:language>
						<gco:CharacterString>
							<xsl:sequence select="'eng; US'"/>
						</gco:CharacterString>
					</gmx:language>
					<gmx:characterSet>
						<gmd:MD_CharacterSetCode>
							<xsl:attribute name="codeList">
								<xsl:sequence select="xs:string(xs:anyURI('http://www.isotc211.org/2005/resources/Codelist/gmxCodelists.xml#MD_CharacterSetCode'))"/>
							</xsl:attribute>
							<xsl:attribute name="codeListValue">
								<xsl:sequence select="xs:string(xs:anyURI('utf8'))"/>
							</xsl:attribute>
							<xsl:attribute name="codeSpace">
								<xsl:sequence select="xs:string(xs:anyURI('004'))"/>
							</xsl:attribute>
						</gmd:MD_CharacterSetCode>
					</gmx:characterSet>
					<gfc:producer>
						<gmd:CI_ResponsibleParty>
							<xsl:variable name="var11_map_select_metainfo" as="xs:string*">
								<xsl:for-each select="$var2_metadata/metainfo/metc/cntinfo/cntperp/cntper">
									<xsl:sequence select="xs:string(.)"/>
								</xsl:for-each>
							</xsl:variable>
							<xsl:variable name="var8_cond_result_exists" as="xs:string*">
								<xsl:choose>
									<xsl:when test="fn:exists($var11_map_select_metainfo)">
										<xsl:for-each select="$var2_metadata/metainfo/metc/cntinfo/cntperp/cntper">
											<xsl:sequence select="xs:string(.)"/>
										</xsl:for-each>
									</xsl:when>
									<xsl:otherwise>
										<xsl:for-each select="$var2_metadata/metainfo/metc/cntinfo/cntorgp/cntper">
											<xsl:sequence select="xs:string(.)"/>
										</xsl:for-each>
									</xsl:otherwise>
								</xsl:choose>
							</xsl:variable>
							<xsl:for-each select="$var8_cond_result_exists">
								<gmd:individualName>
									<gco:CharacterString>
										<xsl:sequence select="fn:normalize-space(.)"/>
									</gco:CharacterString>
								</gmd:individualName>
							</xsl:for-each>
							<xsl:variable name="var22_map_select_metainfo" as="xs:string*">
								<xsl:for-each select="$var2_metadata/metainfo/metc/cntinfo/cntperp/cntorg">
									<xsl:sequence select="xs:string(.)"/>
								</xsl:for-each>
							</xsl:variable>
							<xsl:variable name="var19_cond_result_exists" as="xs:string*">
								<xsl:choose>
									<xsl:when test="fn:exists($var22_map_select_metainfo)">
										<xsl:for-each select="$var2_metadata/metainfo/metc/cntinfo/cntperp/cntorg">
											<xsl:sequence select="xs:string(.)"/>
										</xsl:for-each>
									</xsl:when>
									<xsl:otherwise>
										<xsl:for-each select="$var2_metadata/metainfo/metc/cntinfo/cntorgp/cntorg">
											<xsl:sequence select="xs:string(.)"/>
										</xsl:for-each>
									</xsl:otherwise>
								</xsl:choose>
							</xsl:variable>
							<xsl:for-each select="$var19_cond_result_exists">
								<gmd:organisationName>
									<gco:CharacterString>
										<xsl:sequence select="fn:normalize-space(.)"/>
									</gco:CharacterString>
								</gmd:organisationName>
							</xsl:for-each>
							<xsl:for-each select="$var2_metadata/metainfo/metc/cntinfo/cntpos">
								<gmd:positionName>
									<gco:CharacterString>
										<xsl:sequence select="fn:normalize-space(xs:string(.))"/>
									</gco:CharacterString>
								</gmd:positionName>
							</xsl:for-each>
							<gmd:contactInfo>
								<gmd:CI_Contact>
									<gmd:phone>
										<gmd:CI_Telephone>
											<xsl:for-each select="$var2_metadata/metainfo/metc/cntinfo/cntvoice">
												<gmd:voice>
													<gco:CharacterString>
														<xsl:sequence select="fn:normalize-space(xs:string(.))"/>
													</gco:CharacterString>
												</gmd:voice>
											</xsl:for-each>
											<xsl:for-each select="$var2_metadata/metainfo/metc/cntinfo/cntfax">
												<gmd:facsimile>
													<gco:CharacterString>
														<xsl:sequence select="fn:normalize-space(xs:string(.))"/>
													</gco:CharacterString>
												</gmd:facsimile>
											</xsl:for-each>
										</gmd:CI_Telephone>
									</gmd:phone>
									<gmd:address>
										<gmd:CI_Address>
											<xsl:for-each select="$var2_metadata/metainfo/metc/cntinfo/cntaddr/address">
												<gmd:deliveryPoint>
													<gco:CharacterString>
														<xsl:sequence select="fn:normalize-space(xs:string(.))"/>
													</gco:CharacterString>
												</gmd:deliveryPoint>
											</xsl:for-each>
											<xsl:for-each select="$var2_metadata/metainfo/metc/cntinfo/cntaddr/city">
												<gmd:city>
													<gco:CharacterString>
														<xsl:sequence select="fn:normalize-space(xs:string(.))"/>
													</gco:CharacterString>
												</gmd:city>
											</xsl:for-each>
											<xsl:for-each select="$var2_metadata/metainfo/metc/cntinfo/cntaddr/state">
												<gmd:administrativeArea>
													<gco:CharacterString>
														<xsl:sequence select="fn:normalize-space(xs:string(.))"/>
													</gco:CharacterString>
												</gmd:administrativeArea>
											</xsl:for-each>
											<xsl:for-each select="$var2_metadata/metainfo/metc/cntinfo/cntaddr/postal">
												<gmd:postalCode>
													<gco:CharacterString>
														<xsl:sequence select="fn:normalize-space(xs:string(.))"/>
													</gco:CharacterString>
												</gmd:postalCode>
											</xsl:for-each>
											<xsl:for-each select="$var2_metadata/metainfo/metc/cntinfo/cntaddr/country">
												<gmd:country>
													<gco:CharacterString>
														<xsl:sequence select="fn:normalize-space(xs:string(.))"/>
													</gco:CharacterString>
												</gmd:country>
											</xsl:for-each>
											<xsl:for-each select="$var2_metadata/metainfo/metc/cntinfo/cntemail">
												<gmd:electronicMailAddress>
													<gco:CharacterString>
														<xsl:sequence select="fn:normalize-space(xs:string(.))"/>
													</gco:CharacterString>
												</gmd:electronicMailAddress>
											</xsl:for-each>
										</gmd:CI_Address>
									</gmd:address>
									<xsl:for-each select="$var2_metadata/metainfo/metc/cntinfo/hours">
										<gmd:hoursOfService>
											<gco:CharacterString>
												<xsl:sequence select="fn:normalize-space(xs:string(.))"/>
											</gco:CharacterString>
										</gmd:hoursOfService>
									</xsl:for-each>
									<xsl:for-each select="$var2_metadata/metainfo/metc/cntinfo/cntinst">
										<gmd:contactInstructions>
											<gco:CharacterString>
												<xsl:sequence select="fn:normalize-space(xs:string(.))"/>
											</gco:CharacterString>
										</gmd:contactInstructions>
									</xsl:for-each>
								</gmd:CI_Contact>
							</gmd:contactInfo>
							<gmd:role>
								<gmd:CI_RoleCode>
									<xsl:attribute name="codeList">
										<xsl:sequence select="xs:string(xs:anyURI('http://www.isotc211.org/2005/resources/Codelist/gmxCodelists.xml#CI_RoleCode'))"/>
									</xsl:attribute>
									<xsl:attribute name="codeListValue">
										<xsl:sequence select="xs:string(xs:anyURI('resourceProvider'))"/>
									</xsl:attribute>
									<xsl:attribute name="codeSpace">
										<xsl:sequence select="xs:string(xs:anyURI('001'))"/>
									</xsl:attribute>
								</gmd:CI_RoleCode>
							</gmd:role>
						</gmd:CI_ResponsibleParty>
					</gfc:producer>
					<xsl:for-each select="detailed">
						<xsl:variable name="var52_detailed" as="node()" select="."/>
						<xsl:for-each select="enttyp">
							<gfc:featureType>
								<gfc:FC_FeatureType>
									<gfc:typeName>
										<xsl:for-each select="enttypl">
											<gco:LocalName>
												<xsl:sequence select="fn:normalize-space(xs:string(.))"/>
											</gco:LocalName>
										</xsl:for-each>
									</gfc:typeName>
									<gfc:definition>
										<xsl:for-each select="enttypd">
											<gco:CharacterString>
												<xsl:sequence select="fn:normalize-space(xs:string(.))"/>
											</gco:CharacterString>
										</xsl:for-each>
									</gfc:definition>
									<gfc:isAbstract>
										<gco:Boolean>
											<xsl:sequence select="xs:string(((('0' != 'false') and ('false' != 'false')) and fn:boolean('false')))"/>
										</gco:Boolean>
									</gfc:isAbstract>
									<gfc:featureCatalogue>
										<xsl:attribute name="uuidref">
											<xsl:sequence select="'FC001'"/>
										</xsl:attribute>
									</gfc:featureCatalogue>
									<xsl:for-each select="$var52_detailed/attr">
										<gfc:carrierOfCharacteristics>
											<gfc:FC_FeatureAttribute>
												<xsl:for-each select="attrdomv/rdom">
													<xsl:variable name="var62_rdom" as="node()" select="."/>
													<gfc:constrainedBy>
														<gfc:FC_Constraint>
															<gfc:description>
																<xsl:variable name="var64_cond_result_exists" as="xs:string?" select="(if (fn:exists(rdommin)) then 'Range Domain Min: ' else ())"/>
																<xsl:if test="fn:exists($var64_cond_result_exists)">
																	<xsl:for-each select="rdommin">
																		<xsl:variable name="var65_rdommin" as="node()" select="."/>
																		<xsl:variable name="var67_cond_result_exists" as="xs:string?" select="(if (fn:exists($var62_rdom/rdommax)) then ' Range Domain Max: ' else ())"/>
																		<xsl:if test="fn:exists($var67_cond_result_exists)">
																			<xsl:for-each select="$var62_rdom/rdommax">
																				<xsl:variable name="var68_rdommax" as="node()" select="."/>
																				<xsl:variable name="var73_map_select_attrmres" as="xs:string*">
																					<xsl:for-each select="$var62_rdom/attrmres">
																						<xsl:sequence select="fn:string(.)"/>
																					</xsl:for-each>
																				</xsl:variable>
																				<xsl:variable name="var70_cond_result_exists" as="xs:string?" select="(if (fn:exists($var73_map_select_attrmres)) then ' Smallest unit increment: ' else ())"/>
																				<xsl:if test="fn:exists($var70_cond_result_exists)">
																					<xsl:for-each select="$var62_rdom/attrmres">
																						<gco:CharacterString>
																							<xsl:sequence select="fn:string(fn:concat(fn:concat(fn:concat(fn:concat(fn:concat($var64_cond_result_exists, xs:string($var65_rdommin)), $var67_cond_result_exists), xs:string($var68_rdommax)), $var70_cond_result_exists), fn:string(.)))"/>
																						</gco:CharacterString>
																					</xsl:for-each>
																				</xsl:if>
																			</xsl:for-each>
																		</xsl:if>
																	</xsl:for-each>
																</xsl:if>
															</gfc:description>
														</gfc:FC_Constraint>
													</gfc:constrainedBy>
												</xsl:for-each>
												<xsl:for-each select="attrlabl">
													<gfc:memberName>
														<gco:LocalName>
															<xsl:sequence select="fn:normalize-space(xs:string(.))"/>
														</gco:LocalName>
													</gfc:memberName>
												</xsl:for-each>
												<xsl:for-each select="attrdef">
													<gfc:definition>
														<gco:CharacterString>
															<xsl:sequence select="fn:normalize-space(xs:string(.))"/>
														</gco:CharacterString>
													</gfc:definition>
												</xsl:for-each>
												<gfc:cardinality>
													<xsl:attribute name="gco:nilReason">
														<xsl:sequence select="xs:string(xs:string('unknown'))"/>
													</xsl:attribute>
												</gfc:cardinality>
												<xsl:for-each select="attrdefs">
													<gfc:definitionReference>
														<gfc:FC_DefinitionReference>
															<gfc:definitionSource>
																<gfc:FC_DefinitionSource>
																	<gfc:source>
																		<gmd:CI_Citation>
																			<gmd:title>
																				<xsl:attribute name="gco:nilReason">
																					<xsl:sequence select="xs:string(xs:string('inapplicable'))"/>
																				</xsl:attribute>
																			</gmd:title>
																			<gmd:date>
																				<xsl:attribute name="gco:nilReason">
																					<xsl:sequence select="xs:string(xs:string('unknown'))"/>
																				</xsl:attribute>
																			</gmd:date>
																			<gmd:citedResponsibleParty>
																				<gmd:CI_ResponsibleParty>
																					<gmd:organisationName>
																						<gco:CharacterString>
																							<xsl:sequence select="fn:normalize-space(xs:string(.))"/>
																						</gco:CharacterString>
																					</gmd:organisationName>
																					<gmd:role>
																						<gmd:CI_RoleCode>
																							<xsl:attribute name="codeList">
																								<xsl:sequence select="xs:string(xs:anyURI('http://www.isotc211.org/2005/resources/Codelist/gmxCodelists.xml#CI_RoleCode'))"/>
																							</xsl:attribute>
																							<xsl:attribute name="codeListValue">
																								<xsl:sequence select="xs:string(xs:anyURI('resourceProvider'))"/>
																							</xsl:attribute>
																							<xsl:attribute name="codeSpace">
																								<xsl:sequence select="xs:string(xs:anyURI('001'))"/>
																							</xsl:attribute>
																						</gmd:CI_RoleCode>
																					</gmd:role>
																				</gmd:CI_ResponsibleParty>
																			</gmd:citedResponsibleParty>
																		</gmd:CI_Citation>
																	</gfc:source>
																</gfc:FC_DefinitionSource>
															</gfc:definitionSource>
														</gfc:FC_DefinitionReference>
													</gfc:definitionReference>
												</xsl:for-each>
												<xsl:for-each select="attrdomv/rdom/attrunit">
													<gfc:valueMeasurementUnit>
														<gml:BaseUnit>
															<xsl:attribute name="gml:id">
																<xsl:sequence select="xs:string(xs:ID('baseUnit'))"/>
															</xsl:attribute>
															<gml:identifier>
																<xsl:attribute name="codeSpace">
																	<xsl:sequence select="xs:string(xs:anyURI(xs:string(.)))"/>
																</xsl:attribute>
															</gml:identifier>
															<gml:unitsSystem>
																<xsl:attribute name="nilReason">
																	<xsl:sequence select="xs:string(xs:string('unknown'))"/>
																</xsl:attribute>
															</gml:unitsSystem>
														</gml:BaseUnit>
													</gfc:valueMeasurementUnit>
												</xsl:for-each>
												<xsl:for-each select="attrdomv/edom">
													<gfc:listedValue>
														<gfc:FC_ListedValue>
															<xsl:for-each select="edomv">
																<gfc:label>
																	<gco:CharacterString>
																		<xsl:sequence select="fn:normalize-space(xs:string(.))"/>
																	</gco:CharacterString>
																</gfc:label>
															</xsl:for-each>
															<xsl:for-each select="edomvd">
																<gfc:definition>
																	<gco:CharacterString>
																		<xsl:sequence select="fn:normalize-space(xs:string(.))"/>
																	</gco:CharacterString>
																</gfc:definition>
															</xsl:for-each>
															<xsl:for-each select="edomvds">
																<gfc:definitionReference>
																	<gfc:FC_DefinitionReference>
																		<gfc:definitionSource>
																			<gfc:FC_DefinitionSource>
																				<gfc:source>
																					<gmd:CI_Citation>
																						<gmd:title>
																							<xsl:attribute name="gco:nilReason">
																								<xsl:sequence select="xs:string(xs:string('unknown'))"/>
																							</xsl:attribute>
																						</gmd:title>
																						<gmd:date>
																							<xsl:attribute name="gco:nilReason">
																								<xsl:sequence select="xs:string(xs:string('unknown'))"/>
																							</xsl:attribute>
																						</gmd:date>
																						<gmd:citedResponsibleParty>
																							<gmd:CI_ResponsibleParty>
																								<gmd:organisationName>
																									<gco:CharacterString>
																										<xsl:sequence select="fn:normalize-space(xs:string(.))"/>
																									</gco:CharacterString>
																								</gmd:organisationName>
																								<gmd:role>
																									<gmd:CI_RoleCode>
																										<xsl:attribute name="codeList">
																											<xsl:sequence select="xs:string(xs:anyURI('http://www.isotc211.org/2005/resources/Codelist/gmxCodelists.xml#CI_RoleCode'))"/>
																										</xsl:attribute>
																										<xsl:attribute name="codeListValue">
																											<xsl:sequence select="xs:string(xs:anyURI('resourceProvider'))"/>
																										</xsl:attribute>
																										<xsl:attribute name="codeSpace">
																											<xsl:sequence select="xs:string(xs:anyURI('001'))"/>
																										</xsl:attribute>
																									</gmd:CI_RoleCode>
																								</gmd:role>
																							</gmd:CI_ResponsibleParty>
																						</gmd:citedResponsibleParty>
																					</gmd:CI_Citation>
																				</gfc:source>
																			</gfc:FC_DefinitionSource>
																		</gfc:definitionSource>
																	</gfc:FC_DefinitionReference>
																</gfc:definitionReference>
															</xsl:for-each>
														</gfc:FC_ListedValue>
													</gfc:listedValue>
												</xsl:for-each>
												<xsl:for-each select="attrdomv/codesetd">
													<gfc:listedValue>
														<gfc:FC_ListedValue>
															<xsl:for-each select="codesetn">
																<gfc:label>
																	<gco:CharacterString>
																		<xsl:sequence select="fn:normalize-space(xs:string(.))"/>
																	</gco:CharacterString>
																</gfc:label>
															</xsl:for-each>
															<gfc:definitionReference>
																<gfc:FC_DefinitionReference>
																	<xsl:for-each select="codesets">
																		<gfc:definitionSource>
																			<gfc:FC_DefinitionSource>
																				<gfc:source>
																					<gmd:CI_Citation>
																						<gmd:title>
																							<xsl:attribute name="gco:nilReason">
																								<xsl:sequence select="xs:string(xs:string('unknown'))"/>
																							</xsl:attribute>
																						</gmd:title>
																						<gmd:date>
																							<xsl:attribute name="gco:nilReason">
																								<xsl:sequence select="xs:string(xs:string('unknown'))"/>
																							</xsl:attribute>
																						</gmd:date>
																						<gmd:citedResponsibleParty>
																							<gmd:CI_ResponsibleParty>
																								<gmd:organisationName>
																									<gco:CharacterString>
																										<xsl:sequence select="fn:normalize-space(xs:string(.))"/>
																									</gco:CharacterString>
																								</gmd:organisationName>
																								<gmd:role>
																									<gmd:CI_RoleCode>
																										<xsl:attribute name="codeList">
																											<xsl:sequence select="xs:string(xs:anyURI('http://www.isotc211.org/2005/resources/Codelist/gmxCodelists.xml#CI_RoleCode'))"/>
																										</xsl:attribute>
																										<xsl:attribute name="codeListValue">
																											<xsl:sequence select="xs:string(xs:anyURI('resourceProvider'))"/>
																										</xsl:attribute>
																										<xsl:attribute name="codeSpace">
																											<xsl:sequence select="xs:string(xs:anyURI('001'))"/>
																										</xsl:attribute>
																									</gmd:CI_RoleCode>
																								</gmd:role>
																							</gmd:CI_ResponsibleParty>
																						</gmd:citedResponsibleParty>
																					</gmd:CI_Citation>
																				</gfc:source>
																			</gfc:FC_DefinitionSource>
																		</gfc:definitionSource>
																	</xsl:for-each>
																</gfc:FC_DefinitionReference>
															</gfc:definitionReference>
														</gfc:FC_ListedValue>
													</gfc:listedValue>
												</xsl:for-each>
											</gfc:FC_FeatureAttribute>
										</gfc:carrierOfCharacteristics>
									</xsl:for-each>
								</gfc:FC_FeatureType>
							</gfc:featureType>
						</xsl:for-each>
					</xsl:for-each>
				</xsl:for-each>
			</xsl:for-each>
		</gfc:FC_FeatureCatalogue>
	</xsl:template>
</xsl:stylesheet>
