Дизайн XML: описание файлов, в именах которых есть управляющие символы - PullRequest
1 голос
/ 06 февраля 2012

Я создаю приложение XML 1.0, которое описывает файлы (как другие сделали ).В настоящее время у меня есть элемент file, который требует атрибута name;значением этого атрибута является имя файла.

Но я считаю, что это не сработает.Имена файлов, которые содержат специальные символы &, <, ' и ", являются хитрыми, но для них можно использовать предопределенные ссылки на сущности .Но как насчет имен файлов, которые содержат управляющие символы?Хотя это очень редко, это возможно.

Мне кажется, что нет никакого способа создать приложение XML для моей цели, потому что XML (1.0) не разрешает управляющие символы где-либо втекст.Квот стандарт :

Char :: = # x9 |#xA |#xD |[# x20- # xD7FF] |[# xE000- # xFFFD] |[# x10000- # x10FFFF]

Есть ли какие-нибудь хитрости, чтобы обойти это? Будет ли он работать в XML 1.1 или у него тоже есть ограничения?


На моем компьютере с GNU / Linux я могу создать два файла с управляющими символами в именах:

 touch `echo -e 'SP\a'`
 touch `echo -e 'SP\v'`
 ls SP*

1 Ответ

0 голосов
/ 06 февраля 2012

В XML 1.1 вы можете представлять все символы, кроме NUL (кодовая точка 0). Управляющие символы должны быть экранированы как ссылки на цифровые символы.

Если вам нужны все символы, включая NUL, вам необходимо определить собственное соглашение о escape. Вы можете принять соглашение, используемое для URI (% HH) или соглашение, используемое в Java (\ uNNNN), или вы можете изобрести свой собственный.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...