Допустимые символы RDF - PullRequest
       18

Допустимые символы RDF

2 голосов
/ 23 ноября 2011

Все ли действительные символы XML считаются действительными в RDF?

Я нашел это в Википедии для допустимых символов XML:

    U+0009, U+000A, U+000D: these are the only C0 controls accepted in XML 1.0;
U+0020–U+D7FF, U+E000–U+FFFD: this excludes some (not all) non-characters in the BMP (all surrogates, U+FFFE and U+FFFF are forbidden);
U+10000–U+10FFFF: this includes all code points in supplementary planes, including non-characters.

Ответы [ 2 ]

1 голос
/ 24 ноября 2011

Литералы RDF являются Unicode, однако, когда вы записываете эти литералы (кодируете их) в некотором синтаксисе, вы должны соблюдать правила синтаксиса.RDF / XML - это синтаксис XML (я редактировал его в 2004 году), поэтому он ограничивает символы Unicode и имеет собственные правила кодирования, поэтому вы можете экранировать такие символы, как ', <>.

Вы также должны использовать кодировку Unicode, чтобы превратить символы в последовательности байтов, UTF-8 и UTF-16 являются общими.Они не ограничивают символы, которые вы можете записать.

Тогда ответ действительно зависит от того, что вы имеете в виду.На практике маловероятно, что вам захочется использовать символ Unicode, который не может быть юридически записан в XML или RDF / XML, поскольку он включает в себя широкий диапазон Unicode.

0 голосов
/ 14 ноября 2013

Надо лучше обратиться к оригинальным спецификациям, которые просто используют Википедию. Набор разрешенных символов в XML 1.0 :

Char ::= #x9 | #xA | #xD | [#x20-#xD7FF] | [#xE000-#xFFFD] | [#x10000-#x10FFFF]
/* any Unicode character, excluding the surrogate blocks, FFFE, and FFFF. */

Набор разрешенных символов в именах тегов XML еще более ограничен.

Набор разрешенных последовательностей символов в литералах RDF определен как «являющаяся строкой Unicode [UNICODE], которая ДОЛЖНА быть в нормальной форме C [NFC]». Набор символов Unicode - это кодовая точка от U + 0000 до U + 10FFFF ( минус 66 не символов в зависимости от вашей точки зрения).

В любом случае, набор разрешенных символов Unicode включает символы, явно запрещенные в XML. См. Также вопрос SO Почему «управляющие» символы недопустимы в XML 1.0? . В XML 1.1 набор символов был расширен с до

Char ::= [#x1-#xD7FF] | [#xE000-#xFFFD] | [#x10000-#x10FFFF]
/* any Unicode character, excluding the surrogate blocks, FFFE, and FFFF. */

Нельзя все же выразить, например, символ (U + 0000) в XML, хотя это разрешено в литералах RDF.

...