Гость
Форумы / XML, XSL, XPath, XQuery [игнор отключен] [закрыт для гостей] / Xslt: Как сделать тег элемента с "двумя префиксами" ? / 11 сообщений из 11, страница 1 из 1
23.01.2013, 12:15
    #38121083
lieben
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Xslt: Как сделать тег элемента с "двумя префиксами" ?
Итак, мне нужно получить название тега типа "app:regA". Однако, не получается корректно(чтобы работало) вставить часть "app:"

Имеется :
Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
<xsl:template name="abc">
        <xsl:param name="prefix"/>
        <xsl:param name="track"/>
		
		<xsl:element name="{$prefix}A">

</xsl:template>


<xsl:call-template name="abc">
                    <xsl:with-param name="prefix">reg</xsl:with-param>
                    <xsl:with-param name="track">anyway</xsl:with-param>
                </xsl:call-template>




P.S. заранее спасибо.
...
Рейтинг: 0 / 0
24.01.2013, 00:11
    #38122455
_Vasilisk_
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Xslt: Как сделать тег элемента с "двумя префиксами" ?
app это не префикс. Это алиас пространства имен. Алиасы задаются через xmlns. Принадлежность элемента пространству имен задается через атрибут namespace у <xsl:element>
...
Рейтинг: 0 / 0
24.01.2013, 02:10
    #38122533
lieben
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Xslt: Как сделать тег элемента с "двумя префиксами" ?
_Vasilisk_app это не префикс. Это алиас пространства имен. Алиасы задаются через xmlns. Принадлежность элемента пространству имен задается через атрибут namespace у <xsl:element>
Именно поэтому написал в кавычках. Алиас задан в xmlns.
_Vasilisk_Принадлежность элемента пространству имен задается через атрибут namespace у <xsl:element>

Через namespace пробовал, однако не работает. Можно пример, если не сложно?
...
Рейтинг: 0 / 0
26.01.2013, 02:08
    #38125499
_Vasilisk_
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Xslt: Как сделать тег элемента с "двумя префиксами" ?
liebenЧерез namespace пробовал, однако не работаетКак пробовали?
...
Рейтинг: 0 / 0
26.01.2013, 02:11
    #38125501
_Vasilisk_
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Xslt: Как сделать тег элемента с "двумя префиксами" ?
liebenМожно пример, если не сложно?
Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
<xsl:stylesheet ... xmlns:app="http://my.company.com">

.............
  <xsl:element name="test" namespase="http://my.company.com">
  .............
  </xsl:element>
...........
</xsl:stylesheet>
...
Рейтинг: 0 / 0
28.01.2013, 11:57
    #38126971
mage.lan
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Xslt: Как сделать тег элемента с "двумя префиксами" ?
и так тоже должно работать
Код: xml
1.
2.
3.
4.
5.
6.
7.
<xsl:stylesheet ... xmlns:app="http://my.company.com">
.............
  <app:test>
  .............
  </app:test>
...........
</xsl:stylesheet>


на w3c были же примеры как xsl-ем xsl делать
...
Рейтинг: 0 / 0
29.01.2013, 17:17
    #38129257
lieben
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Xslt: Как сделать тег элемента с "двумя префиксами" ?
_Vasilisk_Как пробовали?
Тимплэйт:
Код: xml
1.
2.
3.
4.
5.
<xsl:template name="address">
        <xsl:param name="prefix"/>
        <xsl:param name="test"/>
<xsl:element name="{$prefix}Region" namespace="http://opopop.ru"><xsl:value-of select="//pgu:object[pgu:code = $test]//pgu:entry[pgu:key = 'Name']/pgu:value"/></xsl:element>
</xsl:template>


Вызов тимплэйта:
Код: xml
1.
2.
3.
4.
<xsl:call-template name="address">
                    <xsl:with-param name="prefix">reg</xsl:with-param>
                    <xsl:with-param name="test">abc</xsl:with-param>
                </xsl:call-template>


stylesheet:
Код: xml
1.
2.
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:app="http://opopop.ru">
</xsl:stylesheet>


Что выходит:
Код: xml
1.
<regRegion xmlns="http://opopop.ru">такой</regRegion>




mage.lanи так тоже должно работать
Код: xml
1.
2.
3.
4.
5.
6.
7.
<xsl:stylesheet ... xmlns:app="http://my.company.com">
.............
  <app:test>
  .............
  </app:test>
...........
</xsl:stylesheet>


на w3c были же примеры как xsl-ем xsl делать

Спасибо конечно, но проблема глубже.
...
Рейтинг: 0 / 0
29.01.2013, 18:42
    #38129487
_Vasilisk_
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Xslt: Как сделать тег элемента с "двумя префиксами" ?
liebenЧто выходит:
Код: xml
1.
<regRegion xmlns="http://opopop.ru">такой</regRegion>

Ровно то, что просили. Узел regRegion в пространсте имен http://opopop.ru. Не вижу разницы как объявлено пространство имен - явно или через алиас. Документы идентичны
...
Рейтинг: 0 / 0
29.01.2013, 18:48
    #38129494
lieben
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Xslt: Как сделать тег элемента с "двумя префиксами" ?
_Vasilisk_liebenЧто выходит:
Код: xml
1.
<regRegion xmlns="http://opopop.ru">такой</regRegion>

Ровно то, что просили. Узел regRegion в пространсте имен http://opopop.ru. Не вижу разницы как объявлено пространство имен - явно или через алиас. Документы идентичны

Документы индентичны, согласен. Есть большое НО - мою xml обрабатывает клиент(по работе), и у него принимает именно через алиас. Ладно, спасибо за ответы. Придется делать много рутины.
...
Рейтинг: 0 / 0
29.01.2013, 20:19
    #38129612
_Vasilisk_
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Xslt: Как сделать тег элемента с "двумя префиксами" ?
lieben. Есть большое НО - мою xml обрабатывает клиент(по работе), и у него принимает именно через алиасЭто принципиальная ошибка
...
Рейтинг: 0 / 0
30.01.2013, 22:22
    #38131469
lieben
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Xslt: Как сделать тег элемента с "двумя префиксами" ?
_Vasilisk_lieben. Есть большое НО - мою xml обрабатывает клиент(по работе), и у него принимает именно через алиасЭто принципиальная ошибка
Заказчик, довольно крупная фирма, таким свойственно.
...
Рейтинг: 0 / 0
Форумы / XML, XSL, XPath, XQuery [игнор отключен] [закрыт для гостей] / Xslt: Как сделать тег элемента с "двумя префиксами" ? / 11 сообщений из 11, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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