XSLT Transform não funciona até que eu remova o nó raiz

Eu estou tentando extrair o título do XML abaixo do serviço da Web do Met Office usando XSLT, no entanto meu XSLT select retorna em branco.

FONTE:

   Frosty start. Bright or sunny day. A clear and frosty start in west, but cloudier in Kent with isolated showers. Then dry with sunny periods. Increasing cloud in west later will bring coastal showers with freshening southerly winds. Chilly inland, but less cold near coasts. Maximum Temperature 8C.    

Meu XSLT:

           

Eu mudei a raiz para / RegionalFcst e tentei outras alterações semelhantes, como adicionar uma barra antes de FcstPeriods, mas nada funciona até que eu remova a primeira e última linha do XML de origem – então funciona perfeitamente.

Isso está bem nos testes, mas é claro que eu quero usar o serviço web fornecido pelo Met Office e é assim que eles são apresentados.

Alguma ideia?

O problema : o seu XML coloca seus elementos em um namespace .

Solução : declare o mesmo namespace em sua folha de estilo, atribua um prefixo a ele e use esse prefixo para endereçar os elementos no XML de origem:

XSLT 1.0

          

Abaixo está a simples mudança necessária no seu xsl.

from:

para:

Existem 2 erros no seu XSL:

  1. nunca selecionará nada porque e todos os seus elementos filhos são namespaced ( xmlns="www.metoffice.gov.uk/xml/metoRegionalFcst" ).
  2. não corresponderá a mas corresponderá a seu pai, o elemento de documento (invisível). é o primeiro e único filho de / .

Para que o seu XSL funcione corretamente, teria que ser assim: