我们正在尝试转换由WMS上的GetCapabilities操作产生的XML文件,但是组合的名称标签会抛出错误,更准确地说是名称由两个使用冒号分隔的单词组成的标记,如以下来源:
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
提前致谢
答案 0 :(得分:1)
您没有显示包含WMS_Capabilities等的Xml文档。如果服务和标题位于同一名称空间中,则此类内容应该有所帮助:
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:ns=""http://www.opengis.net/wms"">
<xsl:template match="/">
<html>
<head>
</head>
<body>
<h1>Get Capabilities Operation:</h1>
<table border="1">
<tr>
<td> <xsl:value-of select="ns:WMS_Capabilities/ns:Service/ns:Title"/>
<!-- it is not able to take the content that is within the label "Title"-->
</td>
</tr>
</table>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
我将namespace-uri与“ns”前缀相关联,并使用XPath表达式中的前缀来指示元素属于与前缀关联的名称空间。