Гость
Форумы / XML, XSL, XPath, XQuery [игнор отключен] [закрыт для гостей] / Группировка Мюнхена возможна ли / 4 сообщений из 4, страница 1 из 1
22.07.2008, 15:43
    #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
22.07.2008, 20:12
    #35445697
Volder
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Группировка Мюнхена возможна ли
shieldHRТоесть получается что мне нужно ввести атрибуты?-Нет не нужно.
-А что нужно?
-А покажите, что у Вас уже получилось?
...
Рейтинг: 0 / 0
24.07.2008, 10:28
    #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
24.07.2008, 12:12
    #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
Форумы / XML, XSL, XPath, XQuery [игнор отключен] [закрыт для гостей] / Группировка Мюнхена возможна ли / 4 сообщений из 4, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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