Avatar billede zybe Nybegynder
03. marts 2011 - 14:24 Der er 4 kommentarer

Problemer med enkelt visning via xslt

Jeg er ret grøn på dette området, så jeg har brug for lidt hjælp til følgende.

Jeg har noget data i en database, som giver et output som xml. Xml visningen kan tilpasses vha. en xslt fil.

Jeg har fået outputtet til at se ud som dette: http://files.jlmedia.dk/xml1.jpg men jeg skal gerne have det til element felterne til at hedde noget forskellige.

Min xslt fil ser sådan ud:

<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" omit-xml-declaration="yes" indent="yes"  encoding="utf-8" />

    <xsl:template match="/">
        <ProductList>
            <xsl:for-each select="View/Rows/Row">
                <Product>
                    <xsl:for-each select="Value">
                    <element>
                      <xsl:value-of select="current()"/>
                    </elemet>
                  </xsl:for-each>
            </Product>
          </xsl:for-each>
        </ProductList>
  </xsl:template>
</xsl:stylesheet>

Jeg vil meget gerne have den tilrettet til at så således ud: http://files.jlmedia.dk/xml1.jpg

Database felterne hedder henholdvsis "ParagraphImageUrl" og "ParagraphImage" hvis de skal bruges.

Håber der en venlig sjæl der kan hjælpe med det.
Avatar billede tjens Nybegynder
03. marts 2011 - 15:04 #1
Kan du ikke også vise den rå XML som kommer fra databasen?

Som tekst (og ikke som billede).
Avatar billede zybe Nybegynder
03. marts 2011 - 15:38 #2
Nej, desværre ikke. Det bliver automatisk genereret igennem et modul i systemet, så ser slet ikke den rå xml.
Avatar billede tjens Nybegynder
03. marts 2011 - 16:14 #3
Hvis vi ikke kan se den XML, der kommer fra en View/Rows/Row-node, er det vanskeligt at hjælpe.

Det vil ikke være særligt driftsikkert at begynde at fuske med om Current() indeholder "?ID" eller ".jpg"
Avatar billede jokkejensen Novice
13. marts 2011 - 21:26 #4
<xsl:template match="/">
        <ProductList>
            <xsl:for-each select="View/Rows/Row">
                <Product>
                    <xsl:for-each select="Value">
                    <xsl:variable name="$navn">
                      <xsl:choose>
                          <xsl:when test="position() = 1">
                                url
                          </xsl:when>
                          <xsl:otherwise>
                                billede
                          </xsl:otherwise>
                      </xsl:choose>
                    </xsl:variable>
                    <element name="$navn">
                      <xsl:value-of select="current()"/>
                    </elemet>
                  </xsl:for-each>
            </Product>
          </xsl:for-each>
        </ProductList>
  </xsl:template>
</xsl:stylesheet>
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester