Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   Как передать элементы из XSLT в JS? (https://javascript.ru/forum/events/13130-kak-peredat-ehlementy-iz-xslt-v-js.html)

Константин_1992 16.11.2010 19:08

Как передать элементы из XSLT в JS?
 
С помощью Xpath пишем путь к нашим элементам в XML DOMe. Как передать получившийся массив в массив JS в отдельный JS файл?...
Знаю, вопрос глуповат, но уже крыша едет просто... :-E

Константин_1992 16.11.2010 20:18

Чуток иначе определим: Пишем адрес к необходимым "детям" в переменную... А вот как это преобразовать в массив JS для отображения в виде таблицы в необходимом div-e?

subzey 16.11.2010 20:53

Чисто теоретически так:
<script type="text/javascript">
myarray = [
      <xsl:for-each select="myitems/items">"<xsl:value-of select="item" />"<xsl:if test="position()!=last()">,</xsl:if></xsl:for-each>
];
</script>

Проверить, к сожалению, не смогу.

Константин_1992 16.11.2010 20:54

Сейчас проверю, спасибо большое!

Константин_1992 16.11.2010 21:27

неа... ошибку XSL выдает.... (

Константин_1992 16.11.2010 21:39

Вот отрывок кода:
<xsl:attribute name="onmouseup">
<script type="text/javascript">
magArray = [<xsl: for-each select = "library/category/magazine">
"<xsl: value-of select = "title"/>"
"<xsl: value-of select = "issue"/>"
"<xsl: value-of select = "publisher"/>"
"<xsl: value-of select = "pages"/>"
"<xsl: value-of select = "rent"/>"
<xsl: for-each/>];
bookArray = [<xsl: for-each select = "library/category/book">
"<xsl: value-of select = "title"/>"
"<xsl: value-of select = "author"/>"
"<xsl: value-of select = "publisher"/>"
"<xsl: value-of select = "binding"/>"
"<xsl: value-of select = "pages"/>"
<xsl: for-each/>];
</script>
</xsl:attribute>

SV0L0CH 16.11.2010 21:43

Константин_1992,
А где запятые между элементами массива?

SV0L0CH 16.11.2010 21:46

и тег <script/> внутри атрибута преобразуется в пустую строку(если там вообще такое допустимо)

Константин_1992 16.11.2010 21:50

Кхм. Тогда как можно взять элементы данного узла, и передать их для обработки?...
А насчет запятых - то там по сути один элемент <for-each>

SV0L0CH 16.11.2010 22:02

Или тут имеется ввиду это?
<xslt:for-each select="library/category">
    <xlst:for-each select="*">
        '<xslt:value-of select="name()"/>':[<!-- а тут уже поля по порядку -->],
    </xslt:for-each>
</xslt:for-each>


Часовой пояс GMT +3, время: 21:04.