Removendo os últimos caracteres em uma string XSLT

No meu CMS, é possível criar um novo artigo e escolher uma imagem para ser mostrada nesse artigo. Quando uma imagem é escolhida, uma miniatura da imagem também será criada automaticamente.

Se a imagem enviada for chamadaimage.jpg, então a miniatura correspondente será automaticamente nomeadaimage_thumbnail.jpg.

Agora gostaria de usar a imagem em miniatura, em todos os lugares no site onde o artigo é mencionado, exceto no próprio artigo (onde a imagem original deve ser exibida).

Mas como posso fazer isso?

Imagino que poderia obter o nome original da imagem e depois dividi-la antes do sufixo (.jpg, .png, .jpeg etc) e hardcode_thumbnail depois do nome, então isso seria suficiente.

Em outras palavras, eu quero pegar o nome completo do arquivo e dividi-lo em duas partes, para que eu possa inserir a string_thumbnail entre as duas partes.

Talvez isso funcionasse, mas e se uma imagem chamadaimage.2horses.jpg (um arquivo com mais de um ponto no nome do arquivo) é carregado? Um corte ingênuo antes do '. não funcionaria aqui.

Existe alguma forma de contornar isto? Talvez cortando o nome do arquivo antes dos últimos 4 (.jpg, .png) ou 5 (.jpeg) personagens?

questionAnswers(6)

yourAnswerToTheQuestion