webForumDet fria alternativet

variabel i en xsl-fil

XML

0 svar · 250 visningar · startad av jme

Medlem sedan maj 20012 237 inlägg
Frågan#1

Hej.

Har följande xsl-fil:

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
  <xsl:param name="titles" />
  <xsl:template match="/articles">
    <h2><xsl:value-of select="$titles" /></h2>
    <xsl:for-each select="item/title[@id='8']">
      <h3><xsl:value-of select="." /></h3>
    </xsl:for-each>
  </xsl:template>
</xsl:stylesheet>

I stället för att det står @id='8' så vill jag kunna placera värdet med:

$xsl = new DomDocument();
$xsl->load("articles.xsl");
$inputdom = new DomDocument();
$inputdom->load("articles.xml");

/* create the processor and import the stylesheet */
$proc = new XsltProcessor();
$xsl = $proc->importStylesheet($xsl);
$proc->setParameter(null, "id", '8'); // <-- här placeras värdet 
echo $proc->transformToDoc($inputdom);

Är detta möjligt?

Just nu gör har jag ett fulhack där jag först läser in filen med php (fopen() och fgets() ) sen kör jag str_replace() där jag byter ett visst tecken mot valt värde.

Sedan kör jag som vanligt och bakar ihop xml-filen samt xsl-filen och skriver ut resultatet.

263 ms totalt · 4 externa anrop · v20260731065814-full.6fe65c25
129 ms — deklarationer (db)
0 ms — hämta statistik (cache)
131 ms — hämta tråd, inlägg och bilagor (db)
127 ms — ändringar (db)