xmlxsltvalue-of

XSL/XML: Elements are placed in wrong order


I want to create text which uses 3 XML elements and adds some characters between them, but when I type it like that all text lands after those XML elements (screenshot) How do I make it look like in xsl?

<rezyser>
<dane>
  <imie>Joel</imie>
  <nazwisko>Coen</nazwisko>
  <urodziny>
    <data>1954-11-29</data>
    <miejsce kraj="US">Minneapolis</miejsce>
    <stan>Minnesota</stan>
  </urodziny>
  <link>
    <nazwa>Strona reżysera</nazwa>
    <adres>http://www.coenbrothers.net/</adres>
  </link>
</dane>
</rezyser>

<xsl:for-each select="strona/rezyser">
      <h3>
        <xsl:value-of select="concat(dane/imie, ' ', dane/nazwisko)"/>
      </h3>
      Urodzony <xsl:value-of select="dane/urodziny"/> w <xsl:value-of select="dane/miejsce"/> w stanie <xsl:value-of select="dane/stan"/><br/>
      <a href="{dane/link/adres}"><xsl:value-of select="dane/link/nazwa"/></a>
      <br/>
    </xsl:for-each>

Solution

  • Since you are in the context of rezyser, I am guessing you want to do:

    Urodzony <xsl:value-of select="dane/urodziny/data"/> w <xsl:value-of select="dane/urodziny/miejsce"/> w stanie <xsl:value-of select="dane/urodziny/stan"/>