Как отобразить исходный код XML, используя HTML с Emacs? - PullRequest
4 голосов
/ 09 сентября 2010

В файле HTML мне нужно показать некоторый код XML.Проблема в том, что я не могу использовать

<code><pre>..

для отображения '<' и '>'.

Каково решение этой проблемы?

ДОБАВЛЕНО

Из ответа замена '<' и '>' на &lt; и &gt; может быть решением.Я пользователь Emacs, есть ли инструменты / магия Emacs, чтобы сделать это автоматически?Я имею в виду, я могу использовать поиск и замену, но я ожидаю, что Emacs может сделать это, выбрав регион -> Mx replace_xml или что-то в этом роде.

Ответы [ 6 ]

5 голосов
/ 09 сентября 2010

Вам нужно экранировать < как &lt; и & как &amp;. При желании для согласованности вы можете экранировать > как &gt;

Чтобы сделать это автоматически в Emacs, если вы находитесь в режиме HTML, вы можете выбрать код, который вы хотите экранировать, и запустить M-x sgml-quote .

2 голосов
/ 09 сентября 2010

Вам необходимо заменить < на &lt; и > на &gt;. Как это сделать, зависит от рассматриваемого языка на стороне сервера.


Обновление : согласно вашему обновлению: это больше не связано с программированием. Я думаю http://superuser.com - лучшее место, чтобы задавать вопросы, связанные с программным обеспечением.

1 голос
/ 09 сентября 2010

Как уже упоминалось, вам нужно экранировать XML.Для надежности я бы также избежал одинарных и двойных кавычек.Обратите внимание, что CDATA и <pre> могут вызвать проблемы, если по какой-либо причине ваш XML-документ содержит ]]> или </pre>.

Вы можете сойти с рук, выполнив прямую подстановкупобег, но если вы это сделаете, убедитесь, что вы сбежали от & до &amp;, прежде чем делать какие-либо другие побеги.

0 голосов
/ 10 сентября 2010
  • Выберите регион
  • Do M -% < RET &lt; RET !
0 голосов
/ 09 сентября 2010

Выполните подстановку, используя язык программирования без Emacs.

Для Python:

<code>#Make a copy just in case.
#Open file.
#Read lines.
for line in lines:
    line = line.replace("<pre>", "&lt;").replace("
","> ") # Выход в файл. # Наслаждайтесь!
0 голосов
/ 09 сентября 2010

Как уже отмечали другие, вам нужно экранировать xml-разметку, чтобы отобразить ее в формате html.

Взгляните на таблицу стилей xmlverbatim : она так же хороша, как при печати и раскрашивании,

Если вы гуглите вокруг, есть несколько таблиц стилей для аналогичного форматирования.

...