Právě je 28 bře 2024 18:46

Všechny časy jsou v UTC + 1 hodina




Odeslat nové téma Odpovědět na téma  [ Příspěvků: 5 ] 
Autor Zpráva
 Předmět příspěvku: Problém se stylováním XML dokumentu přes XSL
PříspěvekNapsal: 16 črc 2010 08:36 

Registrován:
15 črc 2010 20:57
Příspěvky:
3
Dobrý deň, snažím sa vytvoriť XSL súbor ktorý daný XML dokument zobrazí ako keby som tam pripojil daný subor s css štýlmi ale furt ukazuje chybu. Prosím nepovedal by my niekto kde je chyba a ako to ma byť správne? Ak je to možné poprosím odpoveď na e mail kai99@azet.sk

XML súbor
Kód:
<?xml version="1.0" encoding="ISO-8859-2" ?>
<?xml-stylesheet type="text/xsl" href="cd_catalog.xsl"?>
<CATALOG>
   <CD>
      <TITLE>Empire Burlesque</TITLE>
      <ARTIST>Bob Dylan</ARTIST>
      <COUNTRY>USA</COUNTRY>
      <COMPANY>Columbia</COMPANY>
      <PRICE>10.90</PRICE>
      <YEAR>1985</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>



XSL súbor
Kód:
<?xml version="1.0"?>
<xsl:stylesheet
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="1.0">
<xsl:template match="/CATALOG">
<HTML>
<HEAD>
<TITLE></TITLE>
</HEAD>
<BODY>
<xsl:for-each select="catalog/cd">
<H1><xsl:value-of select="TITLE"/></H1>
<H2><xsl:value-of select="ARTIST"/></H2>
<p><xsl:value-of select="./COUNTRY"/></p>
<p><xsl:value-of select="./COMPANY"/></p>
<p><xsl:value-of select="./PRICE"/></p>
<p><xsl:value-of select="./YEAR"/></p>
</xsl:for-each>
</BODY>
</HTML>
</xsl:template>
</xsl:stylesheet>



CSS súbor
Kód:
CATALOG
{
background-color: #ffffff;
width: 100%;
}
CD
{
display: block;
margin-bottom: 30pt;
margin-left: 0;
}
TITLE
{
color: #FF0000;
font-size: 20pt;
}
ARTIST
{
color: #0000FF;
font-size: 20pt;
}
COUNTRY,PRICE,YEAR,COMPANY
{
display: block;
color: #000000;
margin-left: 20pt;
}


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Problém se stylováním XML dokumentu přes XSL
PříspěvekNapsal: 20 črc 2010 12:51 

Registrován:
20 črc 2010 12:18
Příspěvky:
3
Dobrý den,
problém je v několika věcech:

1) je nutné dodržovat konvenci psaní malých a velkých písmen. Protože používáte velká písmena pro tagy uvnitř XML, je nutné mít názvy sjednocené i v XSL: obsah atributu select v tagu <xsl:foreach musí být také velkými písmeny:
Kód:
<xsl:foreach select="CATALOG/CD"> ...


2) v tagu <xsl:template musí být obsah atributu match pouhé lomítko (match="/"), protože u tagu xsl:foreach využívá už cestu CATALOG/CD, kdyby zůstala v atributu match hodnota "/CATALOG" procházel by foreach cestu /CATALOG/CATALOG/CD, která ale neexistuje:
Kód:
<xsl:template match="/"> ...


3) v xsl souboru není nikde definován soubor s css stylem, ten je nutný nalinkovat, stejným způsobem jako do normální html stránky, do tagu <head>:
Kód:
         <HEAD>
            <TITLE></TITLE>
            <LINK href="style.css" rel="stylesheet" type="text/css" />
         </HEAD>


4) soubor style.css obsahuje styl, ovšem ne pro data v xml, ale pro výsledný html soubor, takže by měl stylovat html prvky (podle názvu tagů nebo jejích css tříd - class, atd.):
Kód:
body {
   background-color: #ffffff;
   width: 100%;
}

h1 {
   display: block;
   margin-bottom: 30pt;
   margin-left: 0;
}

h2 {
   color: #0000FF;
   font-size: 20pt;
}
/* ... atd ... */

_________________
Radek Ježdík
Webhosting C4
http://www.c4.cz/


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Problém se stylováním XML dokumentu přes XSL
PříspěvekNapsal: 21 črc 2010 09:03 

Registrován:
15 črc 2010 20:57
Příspěvky:
3
redhead píše:
Dobrý den,
problém je v několika věcech:

1) je nutné dodržovat konvenci psaní malých a velkých písmen. Protože používáte velká písmena pro tagy uvnitř XML, je nutné mít názvy sjednocené i v XSL: obsah atributu select v tagu <xsl:foreach musí být také velkými písmeny:
Kód:
<xsl:foreach select="CATALOG/CD"> ...


2) v tagu <xsl:template musí být obsah atributu match pouhé lomítko (match="/"), protože u tagu xsl:foreach využívá už cestu CATALOG/CD, kdyby zůstala v atributu match hodnota "/CATALOG" procházel by foreach cestu /CATALOG/CATALOG/CD, která ale neexistuje:
Kód:
<xsl:template match="/"> ...


3) v xsl souboru není nikde definován soubor s css stylem, ten je nutný nalinkovat, stejným způsobem jako do normální html stránky, do tagu <head>:
Kód:
         <HEAD>
            <TITLE></TITLE>
            <LINK href="style.css" rel="stylesheet" type="text/css" />
         </HEAD>


4) soubor style.css obsahuje styl, ovšem ne pro data v xml, ale pro výsledný html soubor, takže by měl stylovat html prvky (podle názvu tagů nebo jejích css tříd - class, atd.):
Kód:
body {
   background-color: #ffffff;
   width: 100%;
}

h1 {
   display: block;
   margin-bottom: 30pt;
   margin-left: 0;
}

h2 {
   color: #0000FF;
   font-size: 20pt;
}
/* ... atd ... */


Velmi pekne dakujem už my to funguje :D . A ešte keby som sa mohol spytať ked chcem v tom mojom XSL suobre nastaviť aby tie cd boli zarovnane do bloku tak ako tam umiestniť parameter
Kód:
display: block


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Problém se stylováním XML dokumentu přes XSL
PříspěvekNapsal: 22 črc 2010 09:07 

Registrován:
20 črc 2010 12:18
Příspěvky:
3
Thomas86 píše:
A ešte keby som sa mohol spytať ked chcem v tom mojom XSL suobre nastaviť aby tie cd boli zarovnane do bloku tak ako tam umiestniť parameter
Kód:
display: block


Nevím přesně co myslíte, můžete to nastavit jakémukoliv prvku html, který v xsl souboru vytvoříte, přes selektory v css.

_________________
Radek Ježdík
Webhosting C4
http://www.c4.cz/


Nahoru
 Profil  
 
 Předmět příspěvku: Re: Problém se stylováním XML dokumentu přes XSL
PříspěvekNapsal: 23 črc 2010 08:59 

Registrován:
15 črc 2010 20:57
Příspěvky:
3
Tak by som chcel vytvoriť xsl a tam umiestniť aj parameter aby to zarovnalo do bloku ako ked pripojim css k xml dokumentu ale chcem žeby v xsl bolo to zarovanie nastavene (css tam pripajať nechcem). A čo sa tyka tej chyby kde ste ma opravili to stači len to čo ste pisali bo som si to opravil išlo my to ale sa my zmazal ten subor tak som skopiroval zdrojak s mojho prispevku opravil podla vašich rad a zas nejde (nechapem ked prvy krat to išlo a druhy krat nejde).


Nahoru
 Profil  
 
Zobrazit příspěvky za předchozí:  Seřadit podle  
Odeslat nové téma Odpovědět na téma  [ Příspěvků: 5 ] 

Všechny časy jsou v UTC + 1 hodina


Kdo je online

Uživatelé procházející toto fórum: Žádní registrovaní uživatelé a 1 návštěvník


Nemůžete zakládat nová témata v tomto fóru
Nemůžete odpovídat v tomto fóru
Nemůžete upravovat své příspěvky v tomto fóru
Nemůžete mazat své příspěvky v tomto fóru
Nemůžete přikládat soubory v tomto fóru

Hledat:
Přejít na:  
cron
FTP Uploader
Staňte se naším zákazníkem!
Hledáme kolegy
Tvorba web stránek Hosting
Návody pro C4

© 2009-2024 ČESKÝ WEBHOSTING s.r.o. Kontaktní e-mail: forum@c4.cz
Diskuzní fórum využívá technologie: phpBB, phpBB-SEO.com, phpBB.cz