Заставьте Java использовать вкладки вместо пробелов для расположения с отступом

Я создаю XML-документ. Я получил его к использованию отступа TransformerFactory.setAttribute("indent-number", new Integer(2)); Transformer.setOutputProperty(OutputKeys.INDENT, "yes");

Действительно ли возможно заставить Java использовать вкладки вместо пробелов для расположения с отступом?Еще как?

6
задан tumba25 2 April 2010 в 02:18
поделиться

3 ответа

Нет, не в Общее. Спецификация XSLT не позволяет указывать, КАКИЕ пробелы использовать при отступах.

Однако это может быть элемент, специфичный для XSLT-процессора, который нужно настроить. Проверьте документацию на тот, который вы используете.

Если вы ДЕЙСТВИТЕЛЬНО этого хотите, вы можете использовать XSLT-скрипт Afterburner для вывода, который делает все, что вы хотите, с узлами text () -.

2
ответ дан 17 December 2019 в 18:12
поделиться

Думаю, что нет.

Вы можете получить результат и обработать его, заменив вызов str.replace ("\ n", "\ n \ t") (или любое количество пробелов, которое вы хотите).

Но я бы не рекомендовал этого - вкладки не зависят от платформы.

0
ответ дан 17 December 2019 в 18:12
поделиться

Да, некоторые считают табуляцию злом. Однако, если вы хотите использовать TransformFactory и хотите изменить поведение отступов, чтобы использовать табуляции вместо пробелов, вам нужно предоставить собственную реализацию ContentHandler. Затем передайте свою реализацию ContentHandler в новый SAXResult - передайте его как "результат" в Transformer.transform(...). Приходится перепрыгивать через множество обручей. Другим вариантом может быть использование интеллектуального XSLT для вывода.

1
ответ дан 17 December 2019 в 18:12
поделиться
Другие вопросы по тегам:

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