XSLT 2.0 동적 테이블 수

IMAMBAKS

XML 변환에서 html 테이블로 올바른 출력을 생성하는 데 문제가 있습니다.

입력 XML :

    <Report>
      <Report>
        <objective objective="Y1">
          <function function="X1" />
          <function function="X3" />
          <function function="X4" />
          <function function="X2" />
          <function function="X6" />
        </objective>

        <objective objective="Y2" />

        <objective objective="Y3" />

        <objective objective="Y4">
          <function function="X5" />
          <function function="X3" />
        </objective>
        <objective objective="Y5">
          <function function="X2" />
          <function function="X1" />
          <function function="X4" />
        </objective>
      </Report>
    </Report>

원하는 출력 :

여기에 이미지 설명 입력

이것이 제가 지금까지 가지고있는 것입니다. 내 XSLT 2.0 :

<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:fo="http://www.w3.org/1999/XSL/Format"    xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:fn="http://www.w3.org/2005/xpath-functions">



<xsl:template match ="Report/Report" >
<html>
    <head>
    <title></title>
    </head>
    <body>

            <table>
            <tbody>
                <tr>
                    <th>Objective\Function</th>

                    <xsl:for-each-group select="objective/function" group-by="@function">
                    <xsl:sort select="current-grouping-key()"/>

                    <th><xsl:value-of select="current-grouping-key()"/></th>
                     </xsl:for-each-group>
                </tr>
                    <xsl:variable name="allData" select="objective"/>
                    <xsl:for-each select="objective">
                <tr>

                        <td><xsl:value-of select="@objective"></xsl:value-of></td>                          

                        <xsl:for-each-group select="$allData" group-by="function/@function">

                             <xsl:sort select="current-grouping-key()"/>

                                  <td><xsl:value-of select="count(current-grouping-key())"/></td>

                        </xsl:for-each-group>

                </tr>

                </xsl:for-each>

            </tbody>
            </table>

    </body>
    </html>

</xsl:template>
</xsl:stylesheet>

나는 내가 오히려 가깝다고 생각한다. 나는 count 함수로 무언가를해야한다고 생각한다.

여기에 이미지 설명 입력

기본적으로 내가 원하는 것은 :

함수 노드에 속한 @function이 부모의 속성 @objective와 관련이 있다면 1 (발생 횟수에 따라 다름)을 세고 그렇지 않으면 0을 세십시오. 사전에 감사드립니다. 지난 며칠 동안 고군분투 해 왔습니다.

팀 C

목표 요소에 대한 현재 xsl : for-each 루프 에서 현재 요소에 대한 참조를 보유 할 변수를 정의 할 수 있습니다.

<xsl:for-each select="objective">
   <xsl:variable name="current" select="." />

그런 다음 함수 요소를 반복 하는 두 번째 xsl : for-each-group에서 그룹화 키와 일치하는 현재 목표 (변수에 보관 됨) 내의 함수 요소 수를 간단히 계산할 수 있습니다 (그러면 0 또는 1)

<xsl:value-of select="count($current[function/@function=current-grouping-key()])"/>

이 XSLT 시도

<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" 
     xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:fn="http://www.w3.org/2005/xpath-functions"
      exclude-result-prefixes="xs fn">
<xsl:template match ="Report/Report" >
<html>
    <head>
    <title></title>
    </head>
    <body>
            <table>
            <tbody>
                <tr>
                    <th>Objective\Function</th>
                    <xsl:for-each-group select="objective/function" group-by="@function">
                    <xsl:sort select="current-grouping-key()"/>
                    <th><xsl:value-of select="current-grouping-key()"/></th>
                     </xsl:for-each-group>
                </tr>
                    <xsl:variable name="allData" select="objective"/>
                    <xsl:for-each select="objective">
                    <xsl:variable name="current" select="." />
                <tr>
                        <td><xsl:value-of select="@objective"></xsl:value-of></td>                          
                        <xsl:for-each-group select="$allData" group-by="function/@function">
                             <xsl:sort select="current-grouping-key()"/>
                             <td><xsl:value-of select="count($current[function/@function=current-grouping-key()])"/></td>
                        </xsl:for-each-group>
                </tr>
                </xsl:for-each>
            </tbody>
            </table>
    </body>
    </html>
</xsl:template>
</xsl:stylesheet>

다음과 같은 출력이 생성됩니다.

<html>
   <head>
      <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
      <title></title>
   </head>
   <body>
      <table>
         <tbody>
            <tr>
               <th>Objective\Function</th>
               <th>X1</th>
               <th>X2</th>
               <th>X3</th>
               <th>X4</th>
               <th>X5</th>
               <th>X6</th>
            </tr>
            <tr>
               <td>Y1</td>
               <td>1</td>
               <td>1</td>
               <td>1</td>
               <td>1</td>
               <td>0</td>
               <td>1</td>
            </tr>
            <tr>
               <td>Y2</td>
               <td>0</td>
               <td>0</td>
               <td>0</td>
               <td>0</td>
               <td>0</td>
               <td>0</td>
            </tr>
            <tr>
               <td>Y3</td>
               <td>0</td>
               <td>0</td>
               <td>0</td>
               <td>0</td>
               <td>0</td>
               <td>0</td>
            </tr>
            <tr>
               <td>Y4</td>
               <td>0</td>
               <td>0</td>
               <td>1</td>
               <td>0</td>
               <td>1</td>
               <td>0</td>
            </tr>
            <tr>
               <td>Y5</td>
               <td>1</td>
               <td>1</td>
               <td>0</td>
               <td>1</td>
               <td>0</td>
               <td>0</td>
            </tr>
         </tbody>
      </table>
   </body>
</html>

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

동적 중첩 XML 테이블 용 XSLT

분류에서Dev

CSS 홀수 & 짝수 동적 테이블

분류에서Dev

R Shiny : 탭 내 동적 테이블 수

분류에서Dev

XSLT 동적 XML 열에 대한 HTML 테이블 만들기

분류에서Dev

HTML 테이블로 결과를 얻기 위해 동적 열 수가있는 XML에서 XSLT를 사용하는 방법

분류에서Dev

2 테이블에서 Django-Html 동적 루프를 어떻게 얻을 수 있습니까?

분류에서Dev

동적 오류 메시지가 표시되면 div 테이블 행 2를 정렬 할 수 없습니다.

분류에서Dev

동일한 테이블에서 2 개의 JOIN 수행

분류에서Dev

XSLT의 다른 변수에서 동적으로 변수 이름 전달

분류에서Dev

동적으로 식별 테이블 (변수로 식별되는 테이블)

분류에서Dev

알 수없는 양의 열이있는 Xpages 동적 테이블

분류에서Dev

동적 제목과 각도의 동적 값이있는 수직 테이블

분류에서Dev

db2에서 동적 테이블 이름 사용

분류에서Dev

http / 2 동적 테이블 디코딩이 잘못됨

분류에서Dev

동적 변수를 사용하여 MySQL 테이블 쿼리

분류에서Dev

AngularJS 수직 탭 테이블에 동적으로 탭 추가

분류에서Dev

동적 피벗 테이블의 합계 및 집계 함수

분류에서Dev

mysql 테이블 동적에 참여할 수 있습니까?

분류에서Dev

MYSQL 열로 동적 테이블의 개수 합계

분류에서Dev

동적 두 열 테이블을 만들 수 없습니다.

분류에서Dev

Postgresql 함수 동적 테이블 quote_ident 오류

분류에서Dev

테이블이 비어 있으면 0과 동일한 행 수를 얻는 방법이 SAS입니다.

분류에서Dev

Angular 2에서 동적으로 객체 테이블 생성

분류에서Dev

Django tables2가있는 동적 테이블

분류에서Dev

테이블 뷰에 동적 2D 배열 삽입

분류에서Dev

행 끝의 동일한 테이블에서 2 개의 개수를 합산

분류에서Dev

XSLT 네임 스페이스 ns0을 읽을 수 없음 :

분류에서Dev

데이터 테이블이 동적으로 생성 된 테이블을 정렬 할 수 없습니다.

분류에서Dev

테이블의 값을 사용하여 테이블에 동적 수의 행을 삽입 할 수 있습니까?

Related 관련 기사

  1. 1

    동적 중첩 XML 테이블 용 XSLT

  2. 2

    CSS 홀수 & 짝수 동적 테이블

  3. 3

    R Shiny : 탭 내 동적 테이블 수

  4. 4

    XSLT 동적 XML 열에 대한 HTML 테이블 만들기

  5. 5

    HTML 테이블로 결과를 얻기 위해 동적 열 수가있는 XML에서 XSLT를 사용하는 방법

  6. 6

    2 테이블에서 Django-Html 동적 루프를 어떻게 얻을 수 있습니까?

  7. 7

    동적 오류 메시지가 표시되면 div 테이블 행 2를 정렬 할 수 없습니다.

  8. 8

    동일한 테이블에서 2 개의 JOIN 수행

  9. 9

    XSLT의 다른 변수에서 동적으로 변수 이름 전달

  10. 10

    동적으로 식별 테이블 (변수로 식별되는 테이블)

  11. 11

    알 수없는 양의 열이있는 Xpages 동적 테이블

  12. 12

    동적 제목과 각도의 동적 값이있는 수직 테이블

  13. 13

    db2에서 동적 테이블 이름 사용

  14. 14

    http / 2 동적 테이블 디코딩이 잘못됨

  15. 15

    동적 변수를 사용하여 MySQL 테이블 쿼리

  16. 16

    AngularJS 수직 탭 테이블에 동적으로 탭 추가

  17. 17

    동적 피벗 테이블의 합계 및 집계 함수

  18. 18

    mysql 테이블 동적에 참여할 수 있습니까?

  19. 19

    MYSQL 열로 동적 테이블의 개수 합계

  20. 20

    동적 두 열 테이블을 만들 수 없습니다.

  21. 21

    Postgresql 함수 동적 테이블 quote_ident 오류

  22. 22

    테이블이 비어 있으면 0과 동일한 행 수를 얻는 방법이 SAS입니다.

  23. 23

    Angular 2에서 동적으로 객체 테이블 생성

  24. 24

    Django tables2가있는 동적 테이블

  25. 25

    테이블 뷰에 동적 2D 배열 삽입

  26. 26

    행 끝의 동일한 테이블에서 2 개의 개수를 합산

  27. 27

    XSLT 네임 스페이스 ns0을 읽을 수 없음 :

  28. 28

    데이터 테이블이 동적으로 생성 된 테이블을 정렬 할 수 없습니다.

  29. 29

    테이블의 값을 사용하여 테이블에 동적 수의 행을 삽입 할 수 있습니까?

뜨겁다태그

보관