2016-06-28 10 views
0

3 부 공급자로부터 XML로 숫자가 표시됩니다. 나는이 숫자를 100으로 나누어 표시하고 dicimals로 표시해야합니다. xls에서 가능합니까?XML xlst 계산 값

그렇게

Number = 40000

<xsl:value-of select="number" /> 

output: 40000

하지만 난 그것이 내가 임 지금 얻는 것보다 입력 값이 서로 다른 만들 수있는 옵션이 그나마

output: 400,00

해야합니다.

편집 :

<xsl:value-ofselect="Number div 100"> gives 400 

그래서 가까운 다음 포맷되어지고 메신저. 그러나 필자가 오류가로 : 그냥 http://www.w3schools.com/xsl/tryxslt.asp?xmlfile=cdcatalog&xsltfile=tryxsl_if<xsl:value-of select="format-number(year div 100,'###,###,##0.00')"/>을 시도

<xsl:value-of select="format-number(Number div 100,'###,###,##0.00')"> 
+1

http://stackoverflow.com/questions/14447205/division-in-xslt 정확하게이었다 많은 – malarres

+0

도움을 줄 수 I 고마워! –

+0

select = "format-number (숫자 div 100, '###, ###, ## 0.00')와 함께"닫혀 있지 않은 리터럴 문자열이 있습니다. "라는 메시지가 뜨거워졌습니다. –

답변

1

"이 닫히지 않은 리터럴 문자열"그것은했다.

전체 XML :

<?xml version="1.0" encoding="UTF-8"?> 
<catalog> 
    <cd> 
     <title>Empire Burlesque</title> 
     <artist>Bob Dylan</artist> 
     <country>USA</country> 
     <company>Columbia</company> 
     <price>10.90</price> 
     <year>40000</year> 
    </cd> 
    <cd> 
     <title>Hide your heart</title> 
     <artist>Bonnie Tyler</artist> 
     <country>UK</country> 
     <company>CBS Records</company> 
     <price>9.90</price> 
     <year>1988</year> 
    </cd> 
    <cd> 
     <title>Greatest Hits</title> 
     <artist>Dolly Parton</artist> 
     <country>USA</country> 
     <company>RCA</company> 
     <price>9.90</price> 
     <year>1982</year> 
    </cd> 
    <cd> 
     <title>Still got the blues</title> 
     <artist>Gary Moore</artist> 
     <country>UK</country> 
     <company>Virgin records</company> 
     <price>10.20</price> 
     <year>1990</year> 
    </cd> 
    <cd> 
     <title>Eros</title> 
     <artist>Eros Ramazzotti</artist> 
     <country>EU</country> 
     <company>BMG</company> 
     <price>9.90</price> 
     <year>1997</year> 
    </cd> 
    <cd> 
     <title>One night only</title> 
     <artist>Bee Gees</artist> 
     <country>UK</country> 
     <company>Polydor</company> 
     <price>10.90</price> 
     <year>1998</year> 
    </cd> 
    <cd> 
     <title>Sylvias Mother</title> 
     <artist>Dr.Hook</artist> 
     <country>UK</country> 
     <company>CBS</company> 
     <price>8.10</price> 
     <year>1973</year> 
    </cd> 
    <cd> 
     <title>Maggie May</title> 
     <artist>Rod Stewart</artist> 
     <country>UK</country> 
     <company>Pickwick</company> 
     <price>8.50</price> 
     <year>1990</year> 
    </cd> 
    <cd> 
     <title>Romanza</title> 
     <artist>Andrea Bocelli</artist> 
     <country>EU</country> 
     <company>Polydor</company> 
     <price>10.80</price> 
     <year>1996</year> 
    </cd> 
    <cd> 
     <title>When a man loves a woman</title> 
     <artist>Percy Sledge</artist> 
     <country>USA</country> 
     <company>Atlantic</company> 
     <price>8.70</price> 
     <year>1987</year> 
    </cd> 
    <cd> 
     <title>Black angel</title> 
     <artist>Savage Rose</artist> 
     <country>EU</country> 
     <company>Mega</company> 
     <price>10.90</price> 
     <year>1995</year> 
    </cd> 
    <cd> 
     <title>1999 Grammy Nominees</title> 
     <artist>Many</artist> 
     <country>USA</country> 
     <company>Grammy</company> 
     <price>10.20</price> 
     <year>1999</year> 
    </cd> 
    <cd> 
     <title>For the good times</title> 
     <artist>Kenny Rogers</artist> 
     <country>UK</country> 
     <company>Mucik Master</company> 
     <price>8.70</price> 
     <year>1995</year> 
    </cd> 
    <cd> 
     <title>Big Willie style</title> 
     <artist>Will Smith</artist> 
     <country>USA</country> 
     <company>Columbia</company> 
     <price>9.90</price> 
     <year>1997</year> 
    </cd> 
    <cd> 
     <title>Tupelo Honey</title> 
     <artist>Van Morrison</artist> 
     <country>UK</country> 
     <company>Polydor</company> 
     <price>8.20</price> 
     <year>1971</year> 
    </cd> 
    <cd> 
     <title>Soulsville</title> 
     <artist>Jorn Hoel</artist> 
     <country>Norway</country> 
     <company>WEA</company> 
     <price>7.90</price> 
     <year>1996</year> 
    </cd> 
    <cd> 
     <title>The very best of</title> 
     <artist>Cat Stevens</artist> 
     <country>UK</country> 
     <company>Island</company> 
     <price>8.90</price> 
     <year>1990</year> 
    </cd> 
    <cd> 
     <title>Stop</title> 
     <artist>Sam Brown</artist> 
     <country>UK</country> 
     <company>A and M</company> 
     <price>8.90</price> 
     <year>1988</year> 
    </cd> 
    <cd> 
     <title>Bridge of Spies</title> 
     <artist>T`Pau</artist> 
     <country>UK</country> 
     <company>Siren</company> 
     <price>7.90</price> 
     <year>1987</year> 
    </cd> 
    <cd> 
     <title>Private Dancer</title> 
     <artist>Tina Turner</artist> 
     <country>UK</country> 
     <company>Capitol</company> 
     <price>8.90</price> 
     <year>1983</year> 
    </cd> 
    <cd> 
     <title>Midt om natten</title> 
     <artist>Kim Larsen</artist> 
     <country>EU</country> 
     <company>Medley</company> 
     <price>7.80</price> 
     <year>1983</year> 
    </cd> 
    <cd> 
     <title>Pavarotti Gala Concert</title> 
     <artist>Luciano Pavarotti</artist> 
     <country>UK</country> 
     <company>DECCA</company> 
     <price>9.90</price> 
     <year>1991</year> 
    </cd> 
    <cd> 
     <title>The dock of the bay</title> 
     <artist>Otis Redding</artist> 
     <country>USA</country> 
     <company>Atlantic</company> 
     <price>7.90</price> 
     <year>1987</year> 
    </cd> 
    <cd> 
     <title>Picture book</title> 
     <artist>Simply Red</artist> 
     <country>EU</country> 
     <company>Elektra</company> 
     <price>7.20</price> 
     <year>1985</year> 
    </cd> 
    <cd> 
     <title>Red</title> 
     <artist>The Communards</artist> 
     <country>UK</country> 
     <company>London</company> 
     <price>7.80</price> 
     <year>1987</year> 
    </cd> 
    <cd> 
     <title>Unchain my heart</title> 
     <artist>Joe Cocker</artist> 
     <country>USA</country> 
     <company>EMI</company> 
     <price>8.20</price> 
     <year>1987</year> 
    </cd> 
</catalog> 

전체 XSLT :

<?xml version="1.0" encoding="UTF-8"?> 
<xsl:stylesheet version="1.0" 
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> 
<xsl:template match="/"> 
    <html> 
    <body> 
    <h2>My CD Collection</h2> 
    <table border="1"> 
     <tr bgcolor="#9acd32"> 
     <th>Title</th> 
     <th>Artist</th> 
     <th>Number</th> 
    </tr> 
    <xsl:for-each select="catalog/cd"> 
    <xsl:if test="price>10"> 
     <tr> 
     <td><xsl:value-of select="title"/></td> 
     <td><xsl:value-of select="artist"/></td> 
     <td><xsl:value-of select="format-number(year div 100,'###,###,##0.00')"/></td> 
     </tr> 
    </xsl:if> 
    </xsl:for-each> 
    </table> 
    </body> 
    </html> 
</xsl:template> 
</xsl:stylesheet> 
+0

굉장히 감사합니다. 버그가있는 xlst를 처리하는 소프트웨어 여야합니다. –