XPS-документов, в отличие от (кашляет) , некоторых других форматов не могут содержать сценарии или активное содержимое. Они только используются в качестве пре-печатного формата высокой точности. При этом парсеры XPS не могут полностью содержать уязвимости безопасности. И они могут быть использованы. Пока что я не слышал о подобных подвигах.
Но вернемся к вашей точке. Если кто-то хочет поместить скрипт в строку в документе XPS, он, безусловно, может это сделать. Он просто не должен ожидать, что это будет выполнено. Если какое-то программное обеспечение на самом деле делает , то, вероятно, это проблема безопасности программного обеспечения, а не формата файла.
То, что вы можете помещать вредоносное ПО в текстовый файл (помните iloveyou.vbs?), Не означает, что сами текстовые файлы имеют уязвимость безопасности: -)
ETA: Атрибут UnicodeString, о котором идет речь, помогает выполнять поиск в файле XPS:
Атрибут UnicodeString содержит массив скалярных значений Unicode, представленных текущим элементом. Указание строки Unicode РЕКОМЕНДУЕТСЯ, поскольку она поддерживает поиск, выбор и доступность.
И хотя ожидается, что сама строка будет в определенном формате (также подробно описанном в стандарте на стр. 115), причина, по которой зритель не хотел принимать ваш ввод, заключается в том, что это даже не правильно сформированный XML, амперсанд (&
) кажется незапертым. Я предполагаю, что это будет работать, если вы закодируете амперсанд как &
, как того требует XML. В спецификации также говорится, что
Стандартные механизмы экранирования XML используются для указания зарезервированных символов XML.
Но даже с учетом этого связь между атрибутом UnicodeString и другими частями документа довольно сложна. Они написали более половины страницы о том, какие комбинации действительны, а какие нет. Поэтому я бы посоветовал вам сначала прочитать об этом, прежде чем пытаться поиграть дальше: -)