Шаблон ограничения схемы XML для запрета определенной строки

Мне нужно написать схему XSD с ограничением на поле, чтобы гарантировать, что значение поля не содержит подстроку FILENAME в любом месте.

Например, все следующее должно быть недействительным:

FILENAME
ORIGINFILENAME
FILENAMETEST
123FILENAME456

Ни одно из этих значений не должно быть действительным.

На языке регулярных выражений, поддерживающем отрицательный прогноз, я мог бы сделать это, написав/^((?!FILENAME).)*$ но язык шаблонов XSD не поддерживает негативную перспективу.

Как я могу реализовать ограничение шаблона XSD с тем же эффектом, что и/^((?!FILENAME).)*$ ?

Мне нужно использовать шаблон, потому что у меня нет доступа к утверждениям XSD 1.1, которые являются другой очевидной возможностью.

ВопросXSD ограничение, которое отрицает совпадающую строку охватывает аналогичный случай, но в этом случае запрещенная строка запрещена только в качестве префикса, что облегчает проверку ограничения. Как можно расширить решение, чтобы охватить случай, когда мы должны проверять все местоположения во входной строке, а не только начало?

Ответы на вопрос(1)

Ваш ответ на вопрос