Padrão de restrição de esquema XML por não permitir sequência específica

Preciso escrever um esquema XSD com uma restrição em um campo, para garantir que o valor do campo não contenha a substring FILENAME em nenhum local.

Por exemplo, todos os itens a seguir devem ser inválidos:

FILENAME
ORIGINFILENAME
FILENAMETEST
123FILENAME456

Nenhum desses valores deve ser válido.

Em uma linguagem de expressão regular que ofereça suporte negativo, eu poderia fazer isso escrevendo/^((?!FILENAME).)*$ mas a linguagem de padrão XSD não suporta lookahead negativo.

Como posso implementar uma restrição de padrão XSD com o mesmo efeito que/^((?!FILENAME).)*$ ?

Preciso usar o padrão, porque não tenho acesso às asserções do XSD 1.1, que são a outra possibilidade óbvia.

A questãoRestrição XSD que nega uma sequência correspondente abrange um caso semelhante, mas nesse caso a string proibida é proibida apenas como um prefixo, o que facilita a verificação da restrição. Como a solução pode ser estendida para cobrir o caso em que precisamos verificar todos os locais na cadeia de entrada, e não apenas o começo?

questionAnswers(1)

yourAnswerToTheQuestion