21. září bude sraz! Od 18.00 v restauraci Tradice v Praze u Anděla
Autor Zpráva
Radek9
Profil
Ahoj. Mám XML dokument, ve kterém mám odkaz na XSL dokument, který mi to převádní na HTML. Ještě jsem si tam pomocí CSS dodělal aby tagy <b>, <i> a <u> měly normální vlastnosti HTML, ale XSL prostě CSSku nepovolilo fungovat. Když vymažu kousek s odkazem na XSL, tak je text normálně HTML (tedy <b> je tučný atd.), ale když tam mám oboje tak je tam zobrazeno jen XSL. Zkoušel jsem i do XSL vložit tag <link> s příslušným CSS, ale ani to nefungovalo. Nevíte někdo jak to udělat?
tiso
Profil
Radek9 - zožeň si vešticu.
Radek9
Profil
tiso
A ty si sežeň psychologa. Byla to úplně normální otázka.
tiso
Profil
Radek9 - otázka možno bola normálna, ale bez konkrétneho XML, XSL a možno aj CSS ti fakt poradí iba veštica. Preto som to napísal. Takže?
Radek9
Profil
XML:
<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet type="text/xsl" href="style.php"?> 
<stranka>
<titulek>lolec :D</titulek>
<data>
	<food>
		<name>Belgian Waffles</name>
		<price>$5.95</price>
		<description>two of our <b>famous</b> Belgian Waffles with plenty of real maple syrup</description>

		<calories>650</calories>

	</food>
	<food>
		<name>Strawberry Belgian Waffles</name>
		<price>$7.95</price>
		<description>light Belgian waffles covered with strawberries and whipped cream</description>

		<calories>900</calories>
	</food>

	<food>
		<name>Berry-Berry Belgian Waffles</name>
		<price>$8.95</price>
		<description>light Belgian waffles covered with an assortment of fresh berries and whipped cream</description>

		<calories>900</calories>
	</food>
	<food>

		<name>French Toast</name>
		<price>$4.50</price>
		<description>thick slices made from our homemade sourdough bread</description>

		<calories>600</calories>
	</food>
	<food>
		<name>Homestyle Breakfast</name>

		<price>$6.95</price>
		<description>two eggs, bacon or sausage, toast, and our ever-popular hash browns</description>

		<calories>950</calories>
	</food>
</data>
</stranka>

XSL:
<?xml version="1.0" encoding="utf-8"?>
<html xsl:version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
  <head>
    <xsl:for-each select="stranka">
      <title><xsl:value-of select="titulek"/></title>
    </xsl:for-each>
    <link rel="stylesheet" href="xml.css" type="text/css"/>
  </head>
  <body style="font-family:Arial;font-size:12pt;background-color:#ffffff">
    <xsl:for-each select="stranka/data/food">

          <div style="background-color:teal;color:white;padding:4px">
        <span style="font-weight:bold"><xsl:value-of select="name"/></span>
        - <xsl:value-of select="price"/>
      </div>
      <div style="padding-left:20px;padding-bottom:1em;font-size:10pt;background:#eeeeee">
        <xsl:value-of select="description"/>
        <span style="font-style:italic">
          <xsl:value-of select="calories"/> (calories per serving)
        </span>

      </div>
    </xsl:for-each>
  </body>
</html>

CSS:
b {
  font-weight: bold;
}
tiso
Profil
Radek9 - ono to funguje, len v tom výsledom xhtml žiadny element <b> nie je, takže sa ten štýl nemá na čo aplikovať...

A miesto:
<xsl:for-each select="stranka">
      <title><xsl:value-of select="titulek"/></title>
</xsl:for-each>

stačí:
<title><xsl:value-of select="stranka/titulek"/></title>
Radek9
Profil
tiso
A jak ho tam mám dostat?
tiso
Profil
Radek9 - zmeníš šablónu, napríklad:
...
<span style="font-style:italic">
    <b><xsl:value-of select="calories"/></b> (calories per serving)
</span>
...

a v css si zmeň:
b {
  /*font-weight: bold; toto nema zmysel nastavovat*/
  color: #F00;
}
Radek9
Profil
Já vím, ale to bych měl celý kus textu tučný. Já totiž ty tagy <b> chci mít uvnitř jiného tagu, který tučný mít nechci.
tiso
Profil
Já totiž ty tagy <b> chci mít uvnitř jiného tagu, který tučný mít nechci.
To znamená konkrétne čo? Daj príklad...

Aha, už chápem,ty chceš aby ti do výsledku zobrazilo <b> z pôvodného xml:
<description>two of our <b>famous</b> Belgian Waffles with plenty of real maple syrup</description>

Tak takto:
<xsl:copy-of select="description"/>
Radek9
Profil
Díky, funguje.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0