Полезная информация

В мире Mozilla происходит много интересных событий. Но вам не нужно постоянно посещать новостные сайты, чтобы быть в курсе всех изменений. Зайдите на ленту новостей Mozilla Россия.

№122-03-2006 19:36:12

mojo
Участник
 
Группа: Members
Зарегистрирован: 15-03-2006
Сообщений: 29

Составить строку из нескольких xml entity.

вопрос, можно ли склеить строку из entity из javascript.
в xul получаетсято что хочется, а из js получаются склееные имена entit'ей.

xul:
<menuitem id="someID" label="&ent1; &ent2;" />

js:
document.getElementById( "someID" ).setAttribute( "label", "&ent1;" + " " + "&ent2;" );

если нельзя, то как быть с локализацией?
спасибо.

Отсутствует

 

№222-03-2006 19:57:14

Yan
Участник
 
Группа: Extensions
Откуда: Москва
Зарегистрирован: 27-02-2005
Сообщений: 1019

Re: Составить строку из нескольких xml entity.

Для javascript используются не entity, а properties.

Отсутствует

 

№322-03-2006 20:29:08

mojo
Участник
 
Группа: Members
Зарегистрирован: 15-03-2006
Сообщений: 29

Re: Составить строку из нескольких xml entity.

посмотрю, но

Выделить код

Код:

document.getElementById( "someID" ).setAttribute( "label", "&ent1;" );

дает желаемый результат, и мне не ясно, почему при конкатенации, должно быть иначе.

Отсутствует

 

№422-03-2006 20:57:59

Yan
Участник
 
Группа: Extensions
Откуда: Москва
Зарегистрирован: 27-02-2005
Сообщений: 1019

Re: Составить строку из нескольких xml entity.

Посмотрел, и правда работает. Но только если javascript-код неправильно оформлен в документе.
XML не позволяет просто вставить javascript в код страницы, его нужно экранировать с помощью <![CDATA[...]]>.
Т.е. неправильно:

<script type="text/javascript">
...
</script>

Нужно:

<script type="application/x-javascript">
<![CDATA[
...
]]>
</script>

Если Javascript не экранировать, то возникнет масса проблем, например простейший код

x="A&B";

вызовет ошибку.

Т.е. грамотно будет javascript поместить в <![CDATA[...]]>, и использовать properties.

Отсутствует

 

№522-03-2006 22:20:25

mojo
Участник
 
Группа: Members
Зарегистрирован: 15-03-2006
Сообщений: 29

Re: Составить строку из нескольких xml entity.

сделал с помощью properties.
но у меня javascript не сидел в xul, он там был только объявлен.

Отсутствует

 

№622-03-2006 22:54:32

Yan
Участник
 
Группа: Extensions
Откуда: Москва
Зарегистрирован: 27-02-2005
Сообщений: 1019

Re: Составить строку из нескольких xml entity.

mojo
Ну значит моё преположение не подтвердилось.. Странно, при "вынесенном" javascript'е у меня такой фокус не проходил, ну да ладно, не важно.

Отсутствует

 

№723-03-2006 10:32:20

mojo
Участник
 
Группа: Members
Зарегистрирован: 15-03-2006
Сообщений: 29

Re: Составить строку из нескольких xml entity.

да, я был не прав.
у меня тоже такой фокус не проходит, просто показалось/не туда посмотрел.

Отсутствует

 

№823-03-2006 14:02:21

Anton
Участник
 
Группа: Extensions
Откуда: от верблюда
Зарегистрирован: 14-12-2004
Сообщений: 3057
Веб-сайт

Re: Составить строку из нескольких xml entity.

...если javascript-код неправильно оформлен в документе.
XML не позволяет просто вставить javascript в код страницы, его нужно экранировать с помощью <![CDATA[...]]>...

Почему это не позволяет ? Позволяет, если в javascript-коде отсутствуют элементы XML-кода.

...
Если Javascript не экранировать, то возникнет масса проблем, например простейший код

вызовет ошибку...

То же самое можно сказать в случае

Выделить код

Код:

<script type="application/x-javascript">
<![CDATA[
...
x="]]>";
...
]]>
</script>

Проще в этом случае написать

Выделить код

Код:

<script type="application/x-javascript">
...
x="]]&gt;";
...
</script>

Отредактировано Anton (23-03-2006 14:03:20)


Время настанет, время придет...
И лис кОнкурiентов на части порвет !!!

Отсутствует

 

№923-03-2006 15:50:38

Yan
Участник
 
Группа: Extensions
Откуда: Москва
Зарегистрирован: 27-02-2005
Сообщений: 1019

Re: Составить строку из нескольких xml entity.

Anton
Можно, но сложно. Если использование entities в строковых переменных еще выглядит нормальным, то например, в конуструкции

Выделить код

Код:

...
if (A&amp;&amp;B) {...}
...

это будет совсем диким, IMHO.
Так что чтобы не заморачиваться с экранированием всего и вся, я считаю правильным повсеместное использование <![CDATA[...]]>. Тогда "проблемными" останутся лишь частные случаи (типа x="]]>";), которые можно по пальцам пересчитать.

Отредактировано Yan (23-03-2006 15:54:04)

Отсутствует

 

№1023-03-2006 16:12:07

mojo
Участник
 
Группа: Members
Зарегистрирован: 15-03-2006
Сообщений: 29

Re: Составить строку из нескольких xml entity.

а мне вообще кажется, что лучше держать котлеты отдельно, а мух отдельно.

Отсутствует

 

№1123-03-2006 16:23:29

Yan
Участник
 
Группа: Extensions
Откуда: Москва
Зарегистрирован: 27-02-2005
Сообщений: 1019

Re: Составить строку из нескольких xml entity.

mojo
Это само собой. Но иногда приходится поступать по-другому.

Отсутствует

 

Board footer

Powered by PunBB
Modified by Mozilla Russia
Copyright © 2004–2020 Mozilla Russia GitHub mark
Язык отображения форума: [Русский] [English]