Сохранение пробела атрибута

Я создал минимальный пример, который дает то, что вы хотите:

fun <T: Any> test(t: T?): T {
    // ...
    return t as T
}

Вы определяете верхнюю границу Any для T, поэтому она не может быть null. Для параметра t вы используете тип T?. В конце концов вы возвращаете t в касте T.

Примеры:

val a: String = test("Hello")
val b: String = test(null)
10
задан Mathias Müller 25 March 2014 в 16:22
поделиться

3 ответа

Это - на самом деле необработанный XML парсинг проблемы, не чего-то, с чем XSLT может помочь Вам. Синтаксический анализ XML должен преобразовать новые строки в том значении атрибута к пробелам согласно ‘3.3.3 Нормализации Значения атрибута’ в стандарте XML. Так что-либо в настоящее время чтение Ваших атрибутов описания и удержание новых строк делают его неправильно.

Вы можете восстанавливать новые строки путем предварительной обработки XML для выхода из новых строк к и № 10; символьные ссылки, пока Вы также не получили новые строки, где charrefs запрещены, такой как в телах тега. Charrefs должен выжить как управляющие символы до значения атрибута, где можно затем превратить их в текстовые узлы.

6
ответ дан 4 December 2019 в 01:32
поделиться

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

Необходимо будет обработать файл за пределами XML сначала для сохранения пробелов.

1
ответ дан 4 December 2019 в 01:32
поделиться

Согласно Аннотируемой Спецификации XML, пробел в значениях атрибута нормализован процессором XML (См. (T) аннотацию на 3.3.3). Так, похоже, что ответ, вероятно, нет.

3
ответ дан 4 December 2019 в 01:32
поделиться
Другие вопросы по тегам:

Похожие вопросы: