powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / XML, XSL, XPath, XQuery [игнор отключен] [закрыт для гостей] / Группировка Мюнхена возможна ли
4 сообщений из 4, страница 1 из 1
Группировка Мюнхена возможна ли
    #35445070
shieldHR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Задача простая, но я в этом деле новичок.
есть следующий XML
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
<MA xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="C:\XSD\manifest2.xsd">
	<MAIN_DATA>
		<STTN>String1</STTN>
		<ASSP>String</ASSP>
		<DSCA>String</DSCA>
		<SEAB>String</SEAB>
	</MAIN_DATA>
	<MAIN_DATA>
		<STTN>String1</STTN>
		<ASSP>String</ASSP>
		<DSCA>String</DSCA>
		<SEAB>String</SEAB>
	</MAIN_DATA>
	<MAIN_DATA>
		<STTN>String2</STTN>
		<ASSP>String</ASSP>
		<DSCA>String</DSCA>
		<SEAB>String</SEAB>
	</MAIN_DATA>
</MA>

необходимо сделать группировку по STTN.
Читаю пример тут и вижу что группируют по атрибутам.
Тоесть получается что мне нужно ввести атрибуты?
Прошу ногами не пинать, я только учусь, просто времени мало, а группировку нужно сделать!((
Очень прошу помощи!
Спасибо!
...
Рейтинг: 0 / 0
Группировка Мюнхена возможна ли
    #35445697
Volder
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
shieldHRТоесть получается что мне нужно ввести атрибуты?-Нет не нужно.
-А что нужно?
-А покажите, что у Вас уже получилось?
...
Рейтинг: 0 / 0
Группировка Мюнхена возможна ли
    #35448775
shieldHR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот что есть!
сделано по второму способу в приведенном в начале методе.
Пример привожу вместе в FO преобразованиями.

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
                                <xsl:for-each-group select="MAIN" group-by="STTN">
                                            <fo:table-row>
                                                <fo:table-cell border-style="solid" border-width="1pt" border-color="black" padding-start="0pt" padding-end="0pt" padding-before="0pt" padding-after="0pt" width="170pt" display-align="center" text-align="start">
                                                    <fo:block>
                                                        <xsl:for-each select="current-group()">
                                                            <xsl:apply-templates />
                                                        </xsl:for-each>
                                                    </fo:block>
                                                </fo:table-cell>
                                                <fo:table-cell border-style="solid" border-width="1pt" border-color="black" padding-start="0pt" padding-end="0pt" padding-before="0pt" padding-after="0pt" width="215pt" display-align="center" text-align="start">
                                                    <fo:block />
                                                </fo:table-cell>
                                                <fo:table-cell border-style="solid" border-width="1pt" border-color="black" padding-start="0pt" padding-end="0pt" padding-before="0pt" padding-after="0pt" display-align="center" text-align="start">
                                                    <fo:block />
                                                </fo:table-cell>
                                            </fo:table-row>
                                            <fo:table-row>
                                                <fo:table-cell border-style="solid" border-width="1pt" border-color="black" padding-start="0pt" padding-end="0pt" padding-before="0pt" padding-after="0pt" width="170pt" display-align="center" text-align="start">
                                                    <fo:block />
                                                </fo:table-cell>
                                                <fo:table-cell border-style="solid" border-width="1pt" border-color="black" padding-start="0pt" padding-end="0pt" padding-before="0pt" padding-after="0pt" width="215pt" display-align="center" text-align="start">
                                                    <fo:block>
                                                        <xsl:for-each select="ASSP">
                                                            <xsl:apply-templates />
                                                        </xsl:for-each>
                                                    </fo:block>
                                                </fo:table-cell>
                                                <fo:table-cell border-style="solid" border-width="1pt" border-color="black" padding-start="0pt" padding-end="0pt" padding-before="0pt" padding-after="0pt" display-align="center" text-align="start">
                                                    <fo:block>
                                                        <xsl:for-each select="DSCA">
                                                            <xsl:apply-templates />
                                                        </xsl:for-each>
                                                    </fo:block>
                                                </fo:table-cell>
                                            </fo:table-row>
                                            <fo:table-row>
                                                <fo:table-cell border-style="solid" border-width="1pt" border-color="black" padding-start="0pt" padding-end="0pt" padding-before="0pt" padding-after="0pt" width="170pt" display-align="center" text-align="start">
                                                    <fo:block />
                                                </fo:table-cell>
                                                <fo:table-cell border-style="solid" border-width="1pt" border-color="black" padding-start="0pt" padding-end="0pt" padding-before="0pt" padding-after="0pt" width="215pt" display-align="center" text-align="start">
                                                    <fo:block />
                                                </fo:table-cell>
                                                <fo:table-cell border-style="solid" border-width="1pt" border-color="black" padding-start="0pt" padding-end="0pt" padding-before="0pt" padding-after="0pt" display-align="center" text-align="start">
                                                    <fo:block>
                                                        <xsl:for-each select="SEAB">
                                                            <xsl:apply-templates />
                                                        </xsl:for-each>
                                                    </fo:block>
                                                </fo:table-cell>
                                            </fo:table-row>
                                </xsl:for-each-group>	

Вобщем поясню, из приведенного примера xml нужно получить таблицу где в строке 3 ячейки.
и групировку нужно сделать по STTN.
Если что то непонятно объяснил, то скажите!
...
Рейтинг: 0 / 0
Группировка Мюнхена возможна ли
    #35449143
Volder
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
shieldHRЕсли что то непонятно объяснил, то скажите!ну что-то Вы тут накудрили.
если нужен такой результат:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
<?xml version="1.0" encoding="UTF8"?>
<MA>
   <ROW>
      <CELL>String1</CELL>
      <CELL>String</CELL>
      <CELL>String</CELL>
      <CELL>String</CELL>
   </ROW>
   <ROW>
      <CELL/>
      <CELL>String</CELL>
      <CELL>String</CELL>
      <CELL>String</CELL>
   </ROW>
   <ROW>
      <CELL>String2</CELL>
      <CELL>String</CELL>
      <CELL>String</CELL>
      <CELL>String</CELL>
   </ROW>
</MA>
вот шаблончег:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
<?xml version="1.0"?>
<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
   <xsl:template match="/MA">
      <MA>
         <xsl:for-each-group select="MAIN_DATA" group-by="STTN">
            <xsl:for-each select="current-group()">
               <ROW>
                  <CELL>
                     <xsl:if test="position()=1">
                        <xsl:apply-templates select="STTN"/>
                     </xsl:if>
                  </CELL>
                  <CELL>
                     <xsl:apply-templates select="ASSP"/>
                  </CELL>
                  <CELL>
                     <xsl:apply-templates select="DSCA"/>
                  </CELL>
                  <CELL>
                     <xsl:apply-templates select="SEAB"/>
                  </CELL>
               </ROW>
            </xsl:for-each>
         </xsl:for-each-group>
      </MA>
   </xsl:template>
</xsl:stylesheet>
в Formatting Objects сами переделайте.
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / XML, XSL, XPath, XQuery [игнор отключен] [закрыт для гостей] / Группировка Мюнхена возможна ли
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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