我们正在尝试转换一个 XML 文件,该文件是 WMS 上的 GetCapabilities 操作的结果,但是组合的名称标签会引发错误,更准确地说,名称由两个单词组成的标签用冒号分隔,如以下来源:
1)
<OnlineResource xlink:type="simple" xlink:href="http://www.ign.es/wms-inspire/ign-base?SERVICE=WMS&"/>
2)
<OnlineResource xlink:type="simple" xlink:href="http://www.ign.es/wms-inspire/ign-base?SERVICE=WMS&"/>
3)
<inspire_vs:ExtendedCapabilities>
<inspire_common:MetadataUrl xsi:type="inspire_common:resourceLocatorType">
<inspire_common:URL>http://www.ign.es/csw-inspire/srv/es/csw?SERVICE=CSW&VERSION=2.0.2&REQUEST=GetRecordById&outputSchema=http://www.isotc211.org/2005/gmd&ElementSetName=full&ID=spaignwms_www.ign.es_wms-inspire_ignbase_2011</inspire_common:URL>
<inspire_common:MediaType>application/vnd.ogc.csw.GetRecordByIdResponse_xml
</inspire_common:MediaType>
</inspire_common:MetadataUrl>
<inspire_common:SupportedLanguages xsi:type="inspire_common:supportedLanguagesType">
<inspire_common:DefaultLanguage>
<inspire_common:Language>spa</inspire_common:Language>
</inspire_common:DefaultLanguage>
<inspire_common:SupportedLanguage>
<inspire_common:Language>eng
</inspire_common:Language>
</inspire_common:SupportedLanguage>
</inspire_common:SupportedLanguages>
<inspire_common:ResponseLanguage>
<inspire_common:Language>spa</inspire_common:Language>
</inspire_common:ResponseLanguage>
</inspire_vs:ExtendedCapabilities>
还有属性: xmlns="http://www.opengis.net/wms", xlink="http://www.w3.org/1999/xlink", xsi="http://www.w3.org /2001/XMLSchema-instance" 包含在标签中,避免它正常工作:
<WMS_Capabilities srv="http://schemas.opengis.net/iso/19139/20060504/srv/srv.xsd" gmd="http://schemas.opengis.net/iso/19139/20060504/gmd/gmd.xsd" gco="http://schemas.opengis.net/iso/19139/20060504/gco/gco.xsd" inspire_vs="http://inspire.ec.europa.eu/schemas/inspire_vs/1.0" gml="http://schemas.opengis.net/gml" inspire_common="http://inspire.ec.europa.eu/schemas/common/1.0" version="1.3.0" updateSequence="2619" xmlns="http://www.opengis.net/wms" xlink="http://www.w3.org/1999/xlink" xsi="http://www.w3.org/2001/XMLSchema-instance" schemaLocation="http://www.opengis.net/wms http://inspire.ec.europa.eu/schemas/inspire_vs/1.0/inspire_vs.xsd">
目前,使转换工作的唯一方法是编辑原始 XML 以消除冲突部分,这种解决方案没有多大意义,因此欢迎任何解决此不便的想法
这是一个简单的 XSL 文件:
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<html>
<head>
</head>
<body>
<h1>Get Capabilities Operation:</h1>
<table border="1">
<tr>
<td> <xsl:value-of select="WMS_Capabilities/Service/Title"/>
<!-- it is not able to take the content that is within the label "Title"-->
</td>
</tr>
</table>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
这是 XML 文件的一部分
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="ign-base.xsl"?>
<WMS_Capabilities xmlns:srv="http://schemas.opengis.net/iso/19139/20060504/srv/srv.xsd"
xmlns:gmd="http://schemas.opengis.net/iso/19139/20060504/gmd/gmd.xsd"
xmlns:gco="http://schemas.opengis.net/iso/19139/20060504/gco/gco.xsd"
xmlns:inspire_vs="http://inspire.ec.europa.eu/schemas/inspire_vs/1.0"
xmlns:gml="http://schemas.opengis.net/gml"
xmlns:inspire_common="http://inspire.ec.europa.eu/schemas/common/1.0"
version="1.3.0" updateSequence="2619" xmlns="http://www.opengis.net/wms"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.opengis.net/wms http://inspire.ec.europa.eu/schemas/inspire_vs/1.0/inspire_vs.xsd">
<Service>
<Name>WMS</Name>
<Title>Mapa base de España del Instituto Geográfico Nacional</Title>
<Abstract>Servicio Web de Mapas conforme al perfil INSPIRE de ISO19128-WMS 1.3.0 que permite acceder a cartografía procedente de diversas bases de datos geográficos del IGN España. Para escalas pequeñas se usa la Base Cartográfica Numérica 1:200.000 (BCN200) y datos estructurados procedentes del SIGNA (Sistema de Información Geográfica NAcional); para escalas intermedias se usa la Base Topográfica Nacional 1:25.000 (BTN25) junto con la Base Cartográfica Numérica 1:25.000 (BCN25); para escalas grandes, información procedente del callejero oficial Cartociudad. Se muestra información geográfica perteneciente a los siguientes anexos de Inspire: 1) Nombres geográficos, Unidades administrativas, Direcciones, Redes de transporte, Hidrografía, Lugares protegidos (pertenecientes al Anexo I); 2) Elevaciones y Cubierta terrestre (pertenecientes al Anexo II); 3) Edificios, Servicios de utilidad pública y estatales, Instalaciones de producción e industriales e Instalaciones agrícolas y de acuicultura (pertenecientes al Anexo III). También se muestra información que bien por los tipos de objetos espaciales o la geometría que se utiliza para representarlos están fuera de Inspire. Son los siguientes: Paises, Fondo cartográfico, Manazanas urbanas, Aeropuertos y las capas contenidas en los grupos de capas Puertos, Islas y Sombreado. El resto de capas se han agrupado constituyendo grupos de capas equivalentes a capas Inspire cuya denominación es conforme con la Directiva INSPIRE 2007/2/EC (nombre, título y estilo Inspire por defecto). Todas las capas tienen asociado un estilo de visualización definido por el IGN y además, si pertenece a Inspire, el estilo Inspire por defecto.</Abstract>
<KeywordList>
<Keyword>WMS</Keyword>
<Keyword>IDEE</Keyword>
<Keyword>BCN200</Keyword>
<Keyword>BCN25</Keyword>
<Keyword>BTN25</Keyword>
<Keyword>Cartografía</Keyword>
<Keyword vocabulary="ISO 19119 geographic services taxonomy, version 2.3">infoMapAccessService</Keyword>
<Keyword vocabulary="ISO 19119 geographic services taxonomy, version 2.3">infoManagementService</Keyword>
<Keyword>España</Keyword>
<Keyword>SIGNA</Keyword>
<Keyword>Topográfico</Keyword>
<Keyword>View</Keyword>
<Keyword>WMS 1.3.0</Keyword>
<Keyword>OGC</Keyword>
</KeywordList>
<OnlineResource xlink:type="simple" xlink:href="http://www.ign.es"/>
<ContactInformation>
<ContactPersonPrimary>
<ContactPerson/>
<ContactOrganization>Instituto Geográfico Nacional</ContactOrganization>
</ContactPersonPrimary>
<ContactPosition>PointOfContact</ContactPosition>
<ContactAddress>
<AddressType>Postal</AddressType>
<Address>General Ibáñez de Íbero, 3</Address>
<City>Madrid</City>
<StateOrProvince>España</StateOrProvince>
<PostCode>28003</PostCode>
<Country>España</Country>
</ContactAddress>
<ContactVoiceTelephone>+34 91 597 96 61</ContactVoiceTelephone>
<ContactFacsimileTelephone>+34 91 597 97 64</ContactFacsimileTelephone>
<ContactElectronicMailAddress>ign@fomento.es</ContactElectronicMailAddress>
</ContactInformation>
<Fees>no conditions apply</Fees>
<AccessConstraints>licencia</AccessConstraints>
</Service>
<Capability>
<Request>
<GetCapabilities>
<Format>text/xml</Format>
<DCPType>
<HTTP>
<Get>
<OnlineResource xlink:type="simple" xlink:href="http://www.ign.es/wms-inspire/ign-base?SERVICE=WMS&"/>
</Get>
<Post>
<OnlineResource xlink:type="simple" xlink:href="http://www.ign.es/wms-inspire/ign-base?SERVICE=WMS&"/>
</Post>
</HTTP>
</DCPType>
</GetCapabilities>
<GetMap>
<Format>image/png</Format>
<Format>application/atom+xml</Format>
<Format>application/pdf</Format>
<Format>application/vnd.google-earth.kml+xml</Format>
<Format>application/vnd.google-earth.kmz</Format>
<Format>image/gif</Format>
<Format>image/jpeg</Format>
<Format>image/svg+xml</Format>
<Format>image/tiff</Format>
<DCPType>
<HTTP>
<Get>
<OnlineResource xlink:type="simple" xlink:href="http://www.ign.es/wms-inspire/ign-base?SERVICE=WMS&"/>
</Get>
</HTTP>
</DCPType>
</GetMap>
<GetFeatureInfo>
<Format>text/html</Format>
<DCPType>
<HTTP>
<Get>
<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://www.ign.es/wms-inspire/ign-base?SERVICE=WMS&"/>
</Get>
<Post>
<OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="http://www.ign.es/wms-inspire/ign-base?SERVICE=WMS&"/>
</Post>
</HTTP>
</DCPType>
</GetFeatureInfo>
</Request>
<Exception>
<Format>XML</Format>
<Format>INIMAGE</Format>
<Format>BLANK</Format>
</Exception>
<inspire_vs:ExtendedCapabilities>
<inspire_common:MetadataUrl xsi:type="inspire_common:resourceLocatorType">
<inspire_common:URL>http://www.ign.es/csw-inspire/srv/es/csw?SERVICE=CSW&VERSION=2.0.2&REQUEST=GetRecordById&outputSchema=http://www.isotc211.org/2005/gmd&ElementSetName=full&ID=spaignwms_www.ign.es_wms-inspire_ignbase_2011</inspire_common:URL>
<inspire_common:MediaType>application/vnd.ogc.csw.GetRecordByIdResponse_xml</inspire_common:MediaType>
</inspire_common:MetadataUrl>
<inspire_common:SupportedLanguages xsi:type="inspire_common:supportedLanguagesType">
<inspire_common:DefaultLanguage>
<inspire_common:Language>spa</inspire_common:Language>
</inspire_common:DefaultLanguage>
<inspire_common:SupportedLanguage>
<inspire_common:Language>eng</inspire_common:Language>
</inspire_common:SupportedLanguage>
</inspire_common:SupportedLanguages>
<inspire_common:ResponseLanguage>
<inspire_common:Language>spa</inspire_common:Language>
</inspire_common:ResponseLanguage>
</inspire_vs:ExtendedCapabilities>
<Layer>
<Title>Mapa base de España del Instituto Geográfico Nacional</Title>
<Abstract>Servicio Web de Mapas conforme al perfil INSPIRE de ISO19128-WMS 1.3.0 que permite acceder a cartografía procedente de diversas bases de datos geográficos del IGN España. Para escalas pequeñas se usa la Base Cartográfica Numérica 1:200.000 (BCN200) y datos estructurados procedentes del SIGNA (Sistema de Información Geográfica NAcional); para escalas intermedias se usa la Base Topográfica Nacional 1:25.000 (BTN25) junto con la Base Cartográfica Numérica 1:25.000 (BCN25); para escalas grandes, información procedente del callejero oficial Cartociudad. Se muestra información geográfica perteneciente a los siguientes anexos de Inspire: 1) Nombres geográficos, Unidades administrativas, Direcciones, Redes de transporte, Hidrografía, Lugares protegidos (pertenecientes al Anexo I); 2) Elevaciones y Cubierta terrestre (pertenecientes al Anexo II); 3) Edificios, Servicios de utilidad pública y estatales, Instalaciones de producción e industriales e Instalaciones agrícolas y de acuicultura (pertenecientes al Anexo III). También se muestra información que bien por los tipos de objetos espaciales o la geometría que se utiliza para representarlos están fuera de Inspire. Son los siguientes: Paises, Fondo cartográfico, Manazanas urbanas, Aeropuertos y las capas contenidas en los grupos de capas Puertos, Islas y Sombreado. El resto de capas se han agrupado constituyendo grupos de capas equivalentes a capas Inspire cuya denominación es conforme con la Directiva INSPIRE 2007/2/EC (nombre, título y estilo Inspire por defecto). Todas las capas tienen asociado un estilo de visualización definido por el IGN y además, si pertenece a Inspire, el estilo Inspire por defecto.</Abstract>
<CRS>EPSG:4258</CRS>
<CRS>EPSG:4326</CRS>
<CRS>CRS:84</CRS>
<CRS>EPSG:23029</CRS>
<CRS>EPSG:23030</CRS>
<CRS>EPSG:23031</CRS>
<CRS>EPSG:25828</CRS>
<CRS>EPSG:25829</CRS>
<CRS>EPSG:25830</CRS>
<CRS>EPSG:25831</CRS>
<CRS>EPSG:4230</CRS>
<EX_GeographicBoundingBox>
<westBoundLongitude>-179.90</westBoundLongitude>
<eastBoundLongitude>179.90</eastBoundLongitude>
<southBoundLatitude>-89.90</southBoundLatitude>
<northBoundLatitude>84.00</northBoundLatitude>
</EX_GeographicBoundingBox>
<Layer>
<Name>GN.GeographicalNames</Name>
<Title>Nombres geográficos</Title>
<Abstract>Representación de datos espaciales correspondientes al tema "Nombres Geográficos" del Anexo I de la directiva INSPIRE.</Abstract>
<CRS>EPSG:23029</CRS>
<CRS>EPSG:23030</CRS>
<CRS>EPSG:23031</CRS>
<CRS>EPSG:25828</CRS>
<CRS>EPSG:25829</CRS>
<CRS>EPSG:25830</CRS>
<CRS>EPSG:25831</CRS>
<CRS>EPSG:4230</CRS>
<EX_GeographicBoundingBox>
<westBoundLongitude>-19.00</westBoundLongitude>
<eastBoundLongitude>5.00</eastBoundLongitude>
<southBoundLatitude>27.00</southBoundLatitude>
<northBoundLatitude>44.00</northBoundLatitude>
</EX_GeographicBoundingBox>
以及带有完整 XML 答案的服务链接
http://www.ign.es/wms-inspire/ign-base?request=GetCapabilities&service=WMS
提前致谢