powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / XML, XSL, XPath, XQuery [игнор отключен] [закрыт для гостей] / У элементов нет ID, но они нужны!
2 сообщений из 2, страница 1 из 1
У элементов нет ID, но они нужны!
    #35102864
pavelblk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть XML, у которого практически у каждого элемента допустимо существование ID по схеме.
При разработке трансформации, иногда удобно чтобы у элементов были ID всегда, так как на них удобно опираться например при создании HTML, можно присвоить DIV соответствующее ID.
Но когда их нет, это уже проблема и необходимо переписывать XSLT.

Вопрос как виртуально или не виртуально сгенерить ID или поиметь уникальность в рамках одной трансформации.
Например:
<subpara id="sp1">1</subpara>
<subpara id="sp2">2</subpara>
<subpara>3</subpara>

Как видно у третьей subpara нет ID.

А трансформация делает например следующее:

<xsl:template match="//subpara">
<div>
<xsl:attribute name="id"><xsl:value-of select="@id"</xsl:attribute>
<xsl:apply-templates></xsl:apply-templates>
</div>
</xsl:template>

На выходе:

<DIV id="sp1">1</DIV>
<DIV id="sp2">2</DIV>
<DIV>3</DIV>

А нужно например

<DIV id="sp1">1</DIV>
<DIV id="sp2">2</DIV>
<DIV id="sp3">3</DIV>

или

<DIV id="i756456734">1</DIV>
<DIV id="i145656577">2</DIV>
<DIV id="i555556787">3</DIV>

Это нужно для того чтобы можно было с помощью javascript обращаться к определенным в процессе работы уже HTML.

Какие существуют приемы или выходы???
...
Рейтинг: 0 / 0
У элементов нет ID, но они нужны!
    #35102943
agathis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
(взгляд человека, который вчера узнал о существовании xslt :))

проверять наличие ID и воспользоваться xsl:generate-id(), если ID нет? http://www.w3schools.com/xsl/func_generateid.asp
...
Рейтинг: 0 / 0
2 сообщений из 2, страница 1 из 1
Форумы / XML, XSL, XPath, XQuery [игнор отключен] [закрыт для гостей] / У элементов нет ID, но они нужны!
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]