Portál AbcLinuxu, 13. července 2025 21:03


Dotaz: XSLT a nastaveni disable-output-escaping

5.10.2009 08:24 Tomik
XSLT a nastaveni disable-output-escaping
Přečteno: 298×
Odpovědět | Admin
Dobry den, prosim o radu, nevite jak v XSL sablone se da nastavit, aby cela sablona byla disable-output-escaping="yes". Nebo pokud nekdo vite, jak to nastavit pro napr.

<meta name="{typName}" content="{content}"/>

Pokud bych to nastavoval pro

<xsl:value-of select="title" disable-output-escaping="yes" />

tak tam to je OK. Dekuji.
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

5.10.2009 08:44 Filip Jirsák | skóre: 68 | blog: Fa & Bi
Rozbalit Rozbalit vše Re: XSLT a nastaveni disable-output-escaping
Odpovědět | | Sbalit | Link | Blokovat | Admin
Co má být výsledkem? Aby když bude obsahem třeba content „1<2“, aby se vypsalo <meta name="typ" content="1<2"/&gt; místo <meta name="typ" content="1<2"/>? Takže chcete záměrně produkovat nevalidní XML? Myslím, že na to žádný standardní postup v XSLT není…
5.10.2009 09:15 l4m4
Rozbalit Rozbalit vše Re: XSLT a nastaveni disable-output-escaping
XSLT output method="text" nemá žádný důvod generovat validní XML.
5.10.2009 09:50 Filip Jirsák | skóre: 68 | blog: Fa & Bi
Rozbalit Rozbalit vše Re: XSLT a nastaveni disable-output-escaping
Předpokládám, že s takovým nastavením se ale také nedělá žádné escapování.
5.10.2009 09:53 Tomik
Rozbalit Rozbalit vše Re: XSLT a nastaveni disable-output-escaping
Vysledkem ma byt napr prevod "&" na "&"
5.10.2009 09:54 Tomik
Rozbalit Rozbalit vše Re: XSLT a nastaveni disable-output-escaping
aha & amp; na &
5.10.2009 10:19 Filip Jirsák | skóre: 68 | blog: Fa & Bi
Rozbalit Rozbalit vše Re: XSLT a nastaveni disable-output-escaping
Opačně. Ve výchozím nastavení se & vypíše na výstup jako &amp;, aby byl výsledek validní XML. Vy zřejmě chcete docílit toho, aby se vypsalo &, takže výsledkem bude nevalidní XML – pořád mi není jasné, k čemu je to dobré, protože pak vám na tom XML parser skončí s chybou.
5.10.2009 12:30 Tomik
Rozbalit Rozbalit vše Re: XSLT a nastaveni disable-output-escaping
Je to tak, ze v php mam $keywords = htmlspecialchars($keywords); to se pak prevede pres jednu tridu na xml a spoji se to s XSLT stylem a pres XSLT procesor dostanu html... No a ta $keywords se pak zobrazi v metatagu keywords. Jenomze se me tam zobrazuje & amp;
5.10.2009 12:48 Filip Jirsák | skóre: 68 | blog: Fa & Bi
Rozbalit Rozbalit vše Re: XSLT a nastaveni disable-output-escaping
Který prohlížeč nebo co vám tam zobrazuje &amp;? Firefox tam zobrazuje správně &, vyhledávače si s tím myslím poradí taky správně. Pokud je v HTML kódu &amp; a prohlížeč zobrazí místo znaku & název entity, je chyba v tom prohlížeči…
5.10.2009 12:54 petr_p | skóre: 59 | blog: pb
Rozbalit Rozbalit vše Re: XSLT a nastaveni disable-output-escaping

Tomíku, nauč se sem do redakčního systému zapsat „&amp;“ (bez tvojí mezery). Možná pak pochopíš, jak funguje escapování v XML:

Pokud chceš v atributu content mít hodnotu „Máma&Táta“, tak ve výstupním kódu XML bude fyzicky řetězec „content="Máma&amp;Táta"“. Tak to má být.

Zrovna tak, když budeš chtít takovou hodnotu zadat do XSLT transformace jako vstup, tak tam fyzicky bude řetězec rovněž obsahující entitu.

Jestli nebude problém v PHP? Nech si pomocí PHP vypsat požadovaný XSLT kód do souboru a pak pomocí nástroje xsltproc jej zpracuj a pozoruj výstup.

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.