Devel.cz Lupa Měšec Podnikatel Root Zdroják.cz DigiZone Slunečnice Vitalia TopDrive KupDnes Navrcholu NovýTarif Dobrý web Weblogy Woko Jagg Computer.cz SK: MojeLinky

Hlavní navigace

Názory k článku
Generujeme jednoduchý web pomocí XML

KapitánRUM
KapitánRUM (neregistrovaný) ---.profico.cz
9. 5. 2011 0:16 Nový

* moc pěkný článek *

celé vlákno

Jen víc takových!

ja.
ja. (neregistrovaný) ---.178-41-15.t-com.sk
9. 5. 2011 7:41 Nový

Re: Generujeme jednoduchý web pomocí XML

celé vlákno

chcel by som varovat pred pouzitim na velkych dynamickych weboch. Mal som uz 2x tu cest a musim povedat, ze xslt posobi ako absolutna obfuskacia. Co by ste v PHP napisali za pol minuty, v xsl to trva o dost dlhsie. Co by ste v php mali na 9 znakov, v xsl to je na 4 riadky a viac. Nemoznost programovat objektovo to cele uz len zaklincuje.

SB
SB (neregistrovaný) ---.eset.com
9. 5. 2011 7:58 Nový

Re: Generujeme jednoduchý web pomocí XML

celé vlákno

http://www.php.net/manual/en/xsltprocessor.registerphpfunctions.php ?

Sila XSLT sa prejaví práve pri použití vo veľkých dynamických weboch, na ktorých v jednom momente môže pracovať viac developerských teamov. XSLT v MVC architektúre nájdeš v mnohých komplexných business riešeniach.

fos4
fos4 (neregistrovaný) ---.customer.poda.cz
9. 5. 2011 8:56 Nový

Re: Generujeme jednoduchý web pomocí XML

celé vlákno

Na co se více hodí PHP použij PHP, na co více XSLT použij XSLT.

Na velke weby se práve XSLT nejvíce hodí, jedna část týmu se věnuje programování kde výstupem je XML a to už si převezmou kodeři a jen píší XSLT + CSS + JS.

Mimo jiné ještě existuje XSLT2 (http://www.w3.org/TR/xslt20/), případně pro PHP exslt (http://www.exslt.org/)

Petr Šmíd
Petr Šmíd (neregistrovaný) ---.frankfurt.ipgprs.viaginterkom.de
9. 5. 2011 16:44 Nový

Re: Generujeme jednoduchý web pomocí XML

celé vlákno

V zásadě souhlasím. Problémem je to, že se to obtížně debuguje.

blizz
blizz (neregistrovaný) ---.178-41-72.t-com.sk
9. 5. 2011 22:41 Nový

Redakčně smazáno

celé vlákno
10. 5. 2011 9:27 smazal Martin Malý, důvod: Nesouhlas lze vyjádřit i bez vulgarismů...
KapitánRUM
KapitánRUM (neregistrovaný) ---.profico.cz
10. 5. 2011 2:58 Nový

Re: Generujeme jednoduchý web pomocí XML

celé vlákno

Ale jsi zlý :-D

Yet Another Anonymous Coward
Yet Another Anonymous Coward (neregistrovaný) ---.net.upcbroadband.cz
9. 5. 2011 8:52 Nový

Alternativy

celé vlákno

Pro ty, co nemají v lásce XML existuje spousta alternativ: Hakyll, yst, nanoc, jekyll

Osobně bych doporučil Hakyll — podporuje hodně vstupních formátů a má pěknou konfiguraci v Haskellu :)

Martin Malý aura:93
9. 5. 2011 9:12 Nový

Re: Alternativy

celé vlákno

Díky za tipy, Jekyll mám v "námětech na články", tak si tam i ty další tipy přidám.

Kibo
Kibo (neregistrovaný) 212.96.172.---
9. 5. 2011 9:35 Nový

Pěkné

celé vlákno

Je to pěkné a čisté, ale trochu ukecané a zbytežně pracné.
Využít by přece šlo už hotových templatovacích nástrojů. Napadá mě např.: SiteMesh, FreeMarker ale je jich spusta. (http://en.wikipedia.org/wiki/Template_engine_%28web%29)
V Groovy existuje SimpleTemplate­Engine, XMLBuilder, HTMLBuilder = stejný výsledek za méně námahy.
Tom

Martin Soušek
Martin Soušek (neregistrovaný) ---.net.upcbroadband.cz
9. 5. 2011 9:47 Nový

článek o XSLT v 21. století?

celé vlákno

Moc nechápu, proč ještě v 21. století musíme být ohlupování články o XSLT. Domníval jsem se, že i ti nejzatvrzelejší propagátoři XML uznali, že to je obluda a naprosto slepá ulička.

Asi jsem se mýlil.

Tak tedy znovu: XSLT je nesmysl a pokud chci řešit problém "vygenerovat statický web", tak na to existuje milion jiných a vhodnějších nástrojů.

Inkvizitor
Inkvizitor (neregistrovaný) 195.39.60.---
9. 5. 2011 10:38 Nový

Re: článek o XSLT v 21. století?

celé vlákno

Ale no tak. XSLT je dobrý nástroj třeba v situacích, kdy je třeba generovat několik různých výstupních formátů pro jeden dokument - třeba plain a html part nějakého automaticky generovaného mailu - tam má koneckonců podobná transformace nezastupitelnou roli vzhledem k tomu, jak jsou MUA nejednotné a pitomé při zobrazování rich textu.

Když někdo zmiňuje milion "jiných a vhodnějších" nástrojů, očekával bych, že přihodí nějaký odkaz na stránku se srovnáním některých těch "jiných a lepších" s kritizovanou technologií.

MarSik
MarSik (neregistrovaný) ---.redhat.com
9. 5. 2011 10:39 Nový

Re: článek o XSLT v 21. století?

celé vlákno

Ač ručně psané XML nemám rád, tak na strukturovaný přenos _generovaných_dat_ to tak špatné není. A deklarativní způsob programování je mi také docela blízký, takže bych deklarativní pattern matching transformační jazyk rozhodně za slepou uličku nepovažoval..

Ale zajímalo by mě jaký je tedy jiný, jednodušší a vhodnější nástroj na _obecnou_tran­sformaci_ strukturovaných dat? (Protože třeba převod z docbooku do html|LaTeXu|.. je docela příjemný proces).

Ladislav Thon
Ladislav Thon (neregistrovaný) ---.51.broadband2.iol.cz
9. 5. 2011 11:43 Nový

Re: článek o XSLT v 21. století?

celé vlákno

> Ale zajímalo by mě jaký je tedy jiný, jednodušší a vhodnější nástroj na _obecnou_tran­sformaci_ strukturovaných dat?

Programovací jazyk. XSLT ostatně není nic jiného, jen je to z programovacích jazyků jeden z těch (nej)příšernějších.

Jirka Kosek
9. 5. 2011 11:54 Nový

Re: článek o XSLT v 21. století?

celé vlákno

A tenhle podle vás nejpříšernější programovací jazyk má v sobě zabudovaný velice mocný dotazovací jazyk nad datovým modelem, se kterým pracuje. To je pro složitější transformace naprosto klíčová věc. Jazyků, které tohle mají moc není a v těch co to mají (včetně XSLT) napíšete transformace mnohem úspornějším způsobem -- to vám asi přijde příšerné, že?

Ladislav Thon
Ladislav Thon (neregistrovaný) ---.51.broadband2.iol.cz
9. 5. 2011 18:33 Nový

Re: článek o XSLT v 21. století?

celé vlákno

Stoprocentně. XPath lze stejně snadno a občas snáz používat v rozumných vysokoúrovňových knihovnách pro práci s XML. Namísto XSLT bych si kdykoliv vybral kombinaci XmlSlurper + GPath + MarkupBuilder dostupnou v Groovy. Rubysti by pravděpodobně řekli totéž o Nokogiri/hpricotu.

Mimochodem, pro navigaci jsou často mnohem příjemnější CSSkové selektory.

Opravdový odborník :-)
Opravdový odborník :-) (neregistrovaný) 62.168.56.---
11. 5. 2011 16:49 Nový

Re: článek o XSLT v 21. století?

celé vlákno

jak se tam dá zpracovat xml Mixed Content?

Inkvizitor
Inkvizitor (neregistrovaný) 195.39.60.---
9. 5. 2011 13:23 Nový

Re: článek o XSLT v 21. století?

celé vlákno

XSLT je DSL šitý na míru určitému typu problémů. Srovnávat jej s jakýmkoliv GPL nedává moc smysl. XSLT samozřejmě nikdo nebude používat namísto běžného jazyka, ale na druhou stranu nelze říci, že alternativou k němu je třeba C++ nebo Java, rozhodně ne bez nějaké srovnatelně mocné knihovny. To by bylo jako srovnávat pilník se soustruhem, nebo ne?

Miloslav Ponkrác aura:75
9. 5. 2011 11:02 Nový

Re: článek o XSLT v 21. století?

celé vlákno

S tím naprostou souhlasím.

Ale každý, kdo ukáže, že dělá v XML a používá XSLT je prostě světový.

Článek samotný je kvalitní, takže má kritika se netýká článku.

Ale generovat statický web pomocí XSLT mě osobně také přijde jako dost úchylnost. Nicméně stejně jako se teoreticky dá programovat v COBOLu, dá se udělat i XSLT statický web.

Ale XML + XSLT je skutečně už často více náboženství, než odůvodněné použití.

Nadužívání XML a jeho nástrojů je nemoc této doby. A pro tento účel, který popisuje článek je to zhůvěřilost.

Jirka Kosek
9. 5. 2011 11:43 Nový

Re: článek o XSLT v 21. století?

celé vlákno

Aby vás někdo bral vážně, asi by bylo dobré zmínit alespoň pár z těch milionu vhodnějších nástrojů.

A vzhledem k tomu, že se pracuje na XSLT 3.0 bych to na slepou uličku neviděl.

Tomáš Kafka aura:62
9. 5. 2011 14:28 Nový

Re: článek o XSLT v 21. století?

celé vlákno

Nic proti XSLT, to je na spoustu problémů nejlepším řešením, ale argument, že když se na něčem pracuje, tak nejde o slepou uličku, mi moc validní nepřijde :).

Mike
Mike (neregistrovaný) 88.103.48.---
9. 5. 2011 18:46 Nový

Re: článek o XSLT v 21. století?

celé vlákno

Ale o tomhle dotaz nahoře není - abych se přiznal, také by mě zajímaly nějaké příklady - nemusí jich být milión, ale alespoň něco...

Papouch
Papouch (neregistrovaný) 193.194.132.---
9. 5. 2011 21:26 Nový

Re: článek o XSLT v 21. století?

celé vlákno

Napriklad pro "vygenerovani" jednoducheho statickeho webu v rozsahu desitek az stovek stranek je porad nejlepsi existujici nastroj Microsoft Frontpage respektive dneska se Expression Web.

Predstava, ze by se systemen popsanym v clanku mel dlouhodobe udrzovat nejaky projekt bez zapojeni programatora je nerealna, zatimco s FP to zvladne (vcetne pripadneho mirneho rozsirovani) i absolvent/ka pajdy po par hodinach zacviku.

FP pravda neni opensource ani zadarmo, na druhou stranu funguje. A cas straveny editovanim enigmatickych XML/XSLT souboru musi nekdo zaplatit.

AnonymníMyš
AnonymníMyš (neregistrovaný) ---.torservers.net
9. 5. 2011 21:36 Nový

Redakčně smazáno

celé vlákno
10. 5. 2011 9:30 smazal Martin Malý, důvod: Pokud nesouhlasíte, dejte to najevo bez vulgarit. Děkujeme.
AnonymníMyš
AnonymníMyš (neregistrovaný) ---.anonymizer.ccc.de
9. 5. 2011 21:40 Nový

Re: článek o XSLT v 21. století?

celé vlákno

P.S. touhle etapou jsme si už snad prošli, ne?

AnonymníMyš
AnonymníMyš (neregistrovaný) ---.digineo.de
10. 5. 2011 19:28 Nový

Re: Redakčně smazáno

celé vlákno

Ach, jo, cenzura...

důležitý byl ale význam příspěvku a za tím si stojím:

"zatimco s FP to zvladne ... i absolvent/ka pajdy po par hodinach zacviku."

Ano, weby může dělat každý, ale z takovéhoto softwaru lezou lezou exkrementy, na které ostatní narážejí na webu. Touhle etapou jsme si už snad prošli, ne? Jistým pokrokem byl nástup redakčních systémů, které kontrolují vstup a/nebo formátují text na základě nějaké syntaxe typu BB nebo wiki.

VfB
VfB (neregistrovaný) 188.122.212.---
10. 5. 2011 7:48 Nový

Re: článek o XSLT v 21. století?

celé vlákno

od prvního dubna uplynul více jak měsíc!

Front Page je jen o něco lepší Word (myšleny stránky vygenerované v MSO)

j
j (neregistrovaný) 188.92.9.---
10. 5. 2011 13:29 Nový

Re: článek o XSLT v 21. století?

celé vlákno

Ehm, a da se vystup z toho uzasnyho nastroje taky nekde zobrazit? Co jsem mel tu cest, tak to nefunguje ani v IE.

VfB
VfB (neregistrovaný) 188.122.212.---
11. 5. 2011 8:07 Nový

Re: článek o XSLT v 21. století?

celé vlákno

tak to nevím, co jste v tom Front Page napáchal ale pokud si pamatuji, tak nějaký výstup jde ve Front Page vytvořit, dokonce se takové stránky zobrazí ale kód je prasárna

xx
xx (neregistrovaný) ---.net.upcbroadband.cz
10. 5. 2011 15:57 Nový

Re: článek o XSLT v 21. století?

celé vlákno

Také se dříve pracovalo na XHTML 2 a slepá ulička to byla (alespoň já to tak vnímám).

K těm jiným nástrojům: Proč nepoužít přímo programovací jazyk, v němž píšu celou aplikaci? Například lispovské jazyky tu byly dříve než SGML a vcelku dobře se v nich pracuje se stromovými strukturami. Nebo v jazycích pro .NET Framework lze použít XLINQ, Visual Basic má určitou podporu XML přímo zabudovánu. Funkcionální jazyky pak mají algebraické datové typy a existují knihovny, které umožní provádět určité dotazování (např. syb a uniplate pro Haskell).

Jirka Kosek
10. 5. 2011 16:14 Nový

Re: článek o XSLT v 21. století?

celé vlákno

XHTML2 narozdíl od XSLT 3.0 nemělo žádné implementace -- a to je také to na čem zkrachovalo.

Proč nepoužít přímo programovací jazyk, v němž píšu celou aplikaci?

Například proto, že na výstupu transformace typicky generujete HTML nebo XML a ve všech jazycích kromě XSLT a XQuery se musí generované fragmenty HTML/XML escapovat nebo generovat pomocí příkazů typu print, nebo různých markup builderů -- nejde použít nejoblíbenější návrhový vzor mnoha vývojářů (prosté copy'n'paste).

U složitějších transformací vám pak bude chybět mocný dotazovací jazyk a mechanismus automatického průchodu stromem dokumentu a výběru nejvhodnější šablony pro zpracování.

Například lispovské jazyky tu byly dříve než SGML a vcelku dobře se v nich pracuje se stromovými strukturami.

Historie ukázala, že tudy cesta nevede. Předchůdcem XSL byl jazyk DSSSL, což je Scheme s pár věcmi navíc, a i když z čistě teoretického hlediska bylo DSSSL dokonalejší než XSLT (minimálně XSLT 1.0), DSSSL se používalo a používá minimálně.

xx
xx (neregistrovaný) ---.net.upcbroadband.cz
10. 5. 2011 16:47 Nový

Re: článek o XSLT v 21. století?

celé vlákno

ve všech jazycích kromě XSLT a XQuery se musí generované fragmenty HTML/XML escapovat nebo generovat pomocí příkazů typu print, nebo různých markup builderů

Například Visual Basic to podporuje a Scala také:
http://msdn.microsoft.com/en-us/library/ms364068%28v=vs.80%29.aspx#vb9overview_topic6
http://www.scala-lang.org/node/131

A v Haskellu je možné něco podobného realizovat pomocí Template Haskellu. Programátoři v OCamlu pak použijí camlp4.


U složitějších transformací vám pak bude chybět mocný dotazovací jazyk a mechanismus automatického průchodu stromem dokumentu a výběru nejvhodnější šablony pro zpracování.

Tohle lze vyřešit v rámci knihovny.

fos4
fos4 (neregistrovaný) ---.customer.poda.cz
10. 5. 2011 17:02 Nový

Re: článek o XSLT v 21. století?

celé vlákno

A misto databazich budeme pouzivat knihovni psane v jazyce v jakem je psana aplikace. Protoze tam je "neco podobneho taky mozne".

Transformace XML -> ? je XSLT velmi jednoducha oproti jinym jazykum, nebot XSLT obsahuje XPath a dalsi funkce ktere by se v jinym jazycich museli nejak simulovat, zkuste si to...

xx
xx (neregistrovaný) ---.net.upcbroadband.cz
10. 5. 2011 17:27 Nový

Re: článek o XSLT v 21. století?

celé vlákno

A misto databazich budeme pouzivat knihovni psane v jazyce v jakem je psana aplikace. Protoze tam je "neco podobneho taky mozne".

Takhle bych to neřekl. Řekl bych: místo SQL budeme používat dotazy psané v jazycích, v nichž píšeme aplikaci -- což už se dnes běžně děje.


Transformace XML -> ? je XSLT velmi jednoducha oproti jinym jazykum, nebot XSLT obsahuje XPath a dalsi funkce ktere by se v jinym jazycich museli nejak simulovat, zkuste si to...

Podívejte se třeba na http://msdn.microsoft.com/en-us/library/bb675178.aspx
XPath můžete normálně používat.

Franta Kučera aura:90
10. 5. 2011 20:48 Nový

Re: článek o XSLT v 21. století?

celé vlákno

Můžeš mi prosím napsat nějaký příklad dotazu v SQL a v „jazyce, ve kterém píšeme aplikaci“? Takové ORM často umožňují používat kromě dotazovacího jazyka (jako JPQL) i zápis pomocí objektově orientovaného jazyka (ve kterém je zbytek programu), takže člověk pak místo psaní dotazu volá několik metod, ale přehlednější nebo přívětivější mi to moc nepřijde (s výjimkou dynamicky tvořených dotazů). To je dané tím, že ten programovací jazyk je univerzální, kdežto dotazovaný jazyk je šitý na míru danému úkolu (dotazování, výběr dat).

xx
xx (neregistrovaný) ---.net.upcbroadband.cz
10. 5. 2011 22:02 Nový

Re: článek o XSLT v 21. století?

celé vlákno

Pár jednoduchých příkladů pro C# je v následujícím článku:

http://www.hookedonlinq.com/LINQtoSQL5MinuteOverview.ashx

Pár příkladů, co umí VB (tohle není nutně jen pro SQL):

http://msdn.microsoft.com/en-us/library/bb763068.aspx

Hlavní výhoda je, že LINQ mohu použít pro dotazy do objektů v programu (například kolekcí), do XML, do SQL a do Entit. A mohu ho použít i k transformacím.

Franta Kučera aura:90
10. 5. 2011 22:22 Nový

Re: článek o XSLT v 21. století?

celé vlákno

Dík, tohle mi stačí:

where c.DateOfBirth.AddYears(35) > DateTime.Now
xx
xx (neregistrovaný) ---.net.upcbroadband.cz
10. 5. 2011 22:28 Nový

Re: článek o XSLT v 21. století?

celé vlákno

A to se vám nelíbí nebo naopak líbí?

Franta Kučera aura:90
4. 7. 2011 17:55 Nový

Re: článek o XSLT v 21. století?

celé vlákno

Co takhle odečíst 35 od aktuálního data (jednou) místo přičítání ke každému záznamu/objektu ;-)

Jaja a Paja
Jaja a Paja (neregistrovaný) ---.178-41-153.t-com.sk
10. 5. 2011 22:22 Nový

Re: článek o XSLT v 21. století?

celé vlákno

Objektove db. Jedna z nich dovoluje robit native poziadavky.
http://www.db4o.com/about/productinformation/db4o/

Priklad priamo z odkazu:
IList<Student> students = db.Query<Studen­t>(delegate(Stu­dent student){
return student.Age < 20
&& student.Grade == gradeA;
});

A je dostupna pe .NET aj pre Javu.

Franta Kučera aura:90
10. 5. 2011 22:32 Nový

Re: článek o XSLT v 21. století?

celé vlákno

Já vím, že to jde :-) Ale šlo mi o tu přehlednost, srozumitelnost – a tady podle mého pořád vede deklarativní programování nad imperativním.

Jirka Kosek
10. 5. 2011 21:49 Nový

Re: článek o XSLT v 21. století?

celé vlákno

Například Visual Basic to podporuje a Scala také:

Nechce se mi studovat gramatiku VB.NETu a Scaly, tak se zeptám -- lze uvnitř XML literálu používat veškeré další jazykové konstrukce -- zejména podmínky a cykly, které opět mohou generovat XML literál?

Tohle lze vyřešit v rámci knihovny.

No chtěl bych vidět knihovnu, která s rozumně použitelnou syntaxí nabídne funkce obdobné xsl:template včetně režimů, priorit a věcí jako xsl:apply-imports nebo xsl:next-match.

xx
xx (neregistrovaný) ---.net.upcbroadband.cz
10. 5. 2011 22:25 Nový

Re: článek o XSLT v 21. století?

celé vlákno

…lze uvnitř XML literálu používat veškeré další jazykové konstrukce -- zejména podmínky a cykly, které opět mohou generovat XML literál?

Ano.

No chtěl bych vidět knihovnu, která s rozumně použitelnou syntaxí nabídne funkce obdobné xsl:template

Tohle není přímo odpověď na vaši otázku, ale Scala podporuje pattern matching pro XML:

http://daily-scala.blogspot.com/2009/11/xml-matching.html

A OCamlDuce také:

http://www.cduce.org/ocaml_manual.html

fos4
fos4 (neregistrovaný) ---.customer.poda.cz
11. 5. 2011 8:00 Nový

Re: článek o XSLT v 21. století?

celé vlákno

Cele mne to prijde jako zbytecna debata, vy na rikate ano je to dobry ale proc to neudelat v necem jinem nebot to tam jde taky udelat.

XSLT je primo na tyto ucely vytvoreno a vyladeno a vsechny ficurky co vam dovoluje jen horko tezko zkousi dohanet ruzne knihovny v ruznych programovacich jazycich.

xx
xx (neregistrovaný) ---.net.upcbroadband.cz
11. 5. 2011 9:23 Nový

Re: článek o XSLT v 21. století?

celé vlákno

XSLT je primo na tyto ucely vytvoreno a vyladeno a vsechny ficurky co vam dovoluje jen horko tezko zkousi dohanet ruzne knihovny v ruznych programovacich jazycich.

Pár důvodů, proč použít programovací jazyk, v němž píšu aplikaci:
  • jednoduché dotazy/transformace napíšu rychleji a bude to kratší než v XSLT
  • transformace/dotazy mohu parametrizovat celými funkcemi, třídami nebo moduly
  • k dispozici je řada knihoven, mohu se například připojit k databázi, použít složitější validační mechanismy (mj. jak se v XSLT validuje e-mail) nebo generovat data v jiném formátu (co když budu z XSLT generovat SQL dotazy, bude mi schopen XSLT procesor garantovat, že vygenerované dotazy jsou platné?)
  • nemusím se učit další jazyk
  • na určité typy zadání je XSLT a XQuery absolutně nevhodné
fos4
fos4 (neregistrovaný) ---.customer.poda.cz
11. 5. 2011 17:04 Nový

Re: článek o XSLT v 21. století?

celé vlákno
  • jednoduché dotazy/transformace napíšu rychleji a bude to kratší než v XSLT
    - nebude, ve valné většine XSLT vyjde lépe
  • transformace/do­tazy mohu parametrizovat celými funkcemi, třídami nebo moduly
    - XSLT ma templates, promene, parametry atd.
  • k dispozici je řada knihoven, mohu se například připojit k databázi, použít složitější validační mechanismy (mj. jak se v XSLT validuje e-mail) nebo generovat data v jiném formátu (co když budu z XSLT generovat SQL dotazy, bude mi schopen XSLT procesor garantovat, že vygenerované dotazy jsou platné?)
    - validace se da provadet na vstupnim XML - a tady je moznosti na validaci spousty, DTD, relaxNG..., mimo jine je tu i moznost volat fce daneho jazyka primo z XSLT ale to uz jina..
  • nemusím se učit další jazyk
    - to nemusis
  • na určité typy zadání je XSLT a XQuery absolutně nevhodné
    - stejně tak jako i jine jazyky
xx
xx (neregistrovaný) ---.net.upcbroadband.cz
11. 5. 2011 19:00 Nový

Re: článek o XSLT v 21. století?

celé vlákno

nebude, ve valné většine XSLT vyjde lépe

S tou syntaxí dost těžko.

XSLT ma templates, promene, parametry

To je stále hodně daleko od toho, co nabízí vyšší programovací jazyky.

stejně tak jako i jine jazyky

Měl jsem na mysli dotazování, což jsem zapomněl uvést.

xx
xx (neregistrovaný) ---.net.upcbroadband.cz
11. 5. 2011 21:58 Nový

Re: článek o XSLT v 21. století?

celé vlákno

Ještě k té krátkosti zápisu. Generování HTML seznamu čísel v Haskellu:

ul $ forM_ [1 .. n] (li . toHtml)

Je to z tutoriálu knihovny BlazeHtml pro generování HTML.

Opravdový odborník :-)
Opravdový odborník :-) (neregistrovaný) 62.168.56.---
11. 5. 2011 17:27 Nový

Re: článek o XSLT v 21. století?

celé vlákno

Ad "jak se v XSLT validuje e-mail"

Regulárním výrazem jako všude jinde. Případně si napsat vlastní rozšíření, pokud chce člověk dělat ptákoviny typu kontrola MX záznamů nebo dokonce naavzování SMTP spojení (blbost).

Opravdový odborník :-)
Opravdový odborník :-) (neregistrovaný) 62.168.56.---
11. 5. 2011 17:33 Nový

Re: článek o XSLT v 21. století?

celé vlákno

Ad "co když budu z XSLT generovat SQL dotazy, bude mi schopen XSLT procesor garantovat, že vygenerované dotazy jsou platné?)"

Který jazyk (kromě procedurálního/SQL jazyka daného SŘBD) ti tohle zaručí? Možná tak nějaké ORM jako je JPA.

A co se týče SQL - některé lepší DB umí vrátit výsledek ve formě XML - tam je XSL transformace ideální, člověk nemusí řešit překlad dat na objekty a zase zpátky

Ad "nemusím se učit další jazyk"

Totéž lze říct o XSLT - kdo umí HTML, ten se naučí pár řídících konstrukcí a může začít psát první transformace -- naučit se úplně jiný jazyk je většinou víc práce.

Ad "na určité typy zadání je XSLT a XQuery absolutně nevhodné"

To lze říct o každém nástroji

xx
xx (neregistrovaný) ---.net.upcbroadband.cz
11. 5. 2011 18:21 Nový

Re: článek o XSLT v 21. století?

celé vlákno

Který jazyk (kromě procedurálního/SQL jazyka daného SŘBD) ti tohle zaručí? Možná tak nějaké ORM jako je JPA.

To generování stačí zabalit do nějakého builderu, který nedovolí postavit neplatné dotazy.

To lze říct o každém nástroji

Měl jsem na mysli dotazování, zapomněl jsem to uvést. S XSLT a XQuery jste omezen na velmi úzkou množinu věcí, které tam lze rozumně udělat.

Opravdový odborník :-)
Opravdový odborník :-) (neregistrovaný) 62.168.56.---
12. 5. 2011 10:32 Nový

Re: článek o XSLT v 21. století?

celé vlákno

Ad "To generování stačí zabalit do nějakého builderu, který nedovolí postavit neplatné dotazy."

Abys měl jistotu, potřebuješ ovladač/knihovnu pro konkrétní SŘBD a stejně to nestačí -- abys měl jistotu, že dotazy jsou OK, potřebuješ i konkrétní datový model, nad kterým se budou pouštět. Tohle žádný "builder" nedokáže, protože nemá dostatek informací (a nedokonalý "builder" jde napsat i v tom XSLT)

Ad "jste omezen na velmi úzkou množinu věcí, které tam lze rozumně udělat."

Více méně ano, ale to (relativně) úzké zaměření je výhoda oproti univerzálním nástrojům. A v oblasti dotazování je XQuery hodně silný jazyk.

xx
xx (neregistrovaný) ---.net.upcbroadband.cz
12. 5. 2011 11:01 Nový

Re: článek o XSLT v 21. století?

celé vlákno

abys měl jistotu, že dotazy jsou OK, potřebuješ i konkrétní datový model, nad kterým se budou pouštět

Pochopitelně. Například PG'OCaml není builder, ale normálně se připojí v době kompilace k databázi a vše ověří staticky. To samé může dělat i ten builder.

Případně ten model může být k dispozici v podobě tříd, a pak už Vám LINQ může dát určité záruky v době kompilace.

Problém je, že v jazycích jako je XSLT se velmi těžko dělá nějaká abstrakce.

A v oblasti dotazování je XQuery hodně silný jazyk.

Dokud není třeba provádět složitější odvozování.

Jakub Hozak
Jakub Hozak (neregistrovaný) ---.33.23.95.dynamic.jazztel.es
9. 5. 2011 20:08 Nový

Jekyll

celé vlákno
Martin Putniorz aura:20
9. 5. 2011 23:14 Nový

Re: Jekyll

celé vlákno
Pavel
Pavel (neregistrovaný) 62.209.229.---
10. 5. 2011 9:56 Nový

Zajímavá ukázka

celé vlákno

použití "industrial grade" technologií něčem "malém".

Osobně třeba Ant nemusím, ale jinak je tandem XML/XSLT dobrý tam kde jsou data přirozeně získávána z různých zdrojů a prezentována v různych souvislostech.

Já takhle pár svých menších webů (tvorbou webů se jinak nezabývám) udržuji a naprosto mi to vyhovuje. Není třeba instalovat další frameworky, stačí xslt procesor, a v kombinaci s CSS a trochou javascriptu je to přesně co mi vyhovuje - umožňuje čisté oddělení dat od obsahu, a mix obecných patternů s lokálním ručním doladěním (x)html kódu.

Díky za popularizační článek a té, pro mne ne moc pochopitelné zášti některých "webařů" si nevšímejte!

Pepa
Pepa (neregistrovaný) ---.245.broadband9.iol.cz
10. 5. 2011 11:00 Nový

Re: Zajímavá ukázka

celé vlákno

No ona to není ani tak "zášť" jako spíš podiv nad volbou technologie. Ten článek je hezkou ukázkou jak to funguje, ale zvolená technologie je asi trošku "na komára s minometem." Nehledě na to, že je celkem zbytečný něco takovýho psát sám.

Jirka Kosek
10. 5. 2011 11:53 Nový

Re: Zajímavá ukázka

celé vlákno

Samozřejmě psát si na malý web o pár stránkách "vlastní redakční systém" v XSLT je trošku přehnané. Na druhou stranu příklady pro článek nemůžou být nějaké extra složité, pokud má mít článek rozumný rozsah a někdo ho má číst.

Pokud snad někteří z těch, co zde dříve projevili extrémní nechuť nad XSLT, mají přece jen hlavu otevřenou, možná se můžou zamyslet nad tím, jak by se v jejich oblíbených nástrojích dělaly úlohy typické pro XSLT, např.:

Mám strukturovaný dokument v nějakém XML formátu (např. DocBook) a potřebuji z něj vygenerovat statický web včetně obsahu, odkazů, číslování objektů, rejstříku, ...
Něco jako http://www.kosek.cz/xml/xslt/

Mám v XML nějakou komplexní datovou strukturu (např. kompletní informace o studijním systému nějaké školy) a potřebuji z toho udělat web, něco ve stylu http://studijniplany.amu.cz/

Mám rozsáhlou kolekci článků v XML a potřebuji to dát na web, např. http://www.balisage.net/Proceedings/index.html

Řekl bych, že znám poměrně mnoho nástrojů, ale pro takovéto úlohy mi XSLT přijde jako nejvhodnější nástroj.

Nadruhou stranu chápu nechuť některých pro XSLT -- v praxi jsem už viděl tolik špatných příkladů použití XSLT, kdy to psal nějaký člověk, co vůbec nepochopil základní principy jazyka. Ale to je klasický problém -- když někdo používá technologii, kterou dobře neovládá, nedopadne to dobře. Ale není to chyba technologie, ale té osoby mezi klávesnicí a židlí.

Pepa
Pepa (neregistrovaný) ---.245.broadband9.iol.cz
10. 5. 2011 12:37 Nový

Re: Zajímavá ukázka

celé vlákno

Tam je otázka, pro koho je ten článek vlastně určen.

Asi ne pro pokročilého developera s nějakou znalostí XSLT, který dělá věci co vy popisujete - ten už tyhle principy obvykle zná.

Pro méně pokročilého developera, který si chce udělat opravdu jednoduchý téměř statický web (jak se o tom píše v úvodu článku) bude ta volba XSLT asi dost nešťastná. Konec konců sám píšete "když někdo používá technologii, kterou dobře neovládá, nedopadne to dobře".

Opravdový odborník :-)
Opravdový odborník :-) (neregistrovaný) 62.168.56.---
10. 5. 2011 12:50 Nový

Re: Zajímavá ukázka

celé vlákno

Začít se dá s málem a učit se postupně - pokud jsem článek dobře pochopil, tak generátor je v podstatě hotový nástroj a uživatel ho může hned použít + si případně dopíše nějaké to makro nebo upraví šablonu.

Pavel
Pavel (neregistrovaný) 62.209.229.---
10. 5. 2011 13:25 Nový

Re: Zajímavá ukázka

celé vlákno

Nicméně pokud se někdo chce seznámit s xslt tak je tohle myslím docela přístupná cesta, vyzkoušet si novou technologii ve spojení s něčím co už zná jinak (tvorbou jednoduchého webu)....

Opravdový odborník :-)
Opravdový odborník :-) (neregistrovaný) 62.168.56.---
10. 5. 2011 12:39 Nový

Re: Zajímavá ukázka

celé vlákno

Proto je to nejspíš svobodný software - aby to mohl používat i ten, kdo si to sám nenapsal, ne?

Franta Kučera aura:90
10. 5. 2011 21:10 Nový

Objektové vs. značkovací jazyky

celé vlákno

A skutečně je to minomet? Ta XSL šablona je z velké části totožná s výstupním dokumentem – ve kterém jsou sem tam značky, co se má vložit ze vstupu. To samozřejmě umožňují i jiné šablonovací nástroje, jenže v nich se šablona typicky plní daty ve formě objektů daného programovacího jazyka – což je na jednu stranu fajn, na druhou stranu těžko se tam míchá text a značky a těžko se tam udělá to, co jsem tady nazval „makra“. Proto jsem zvolil XSLT. Navíc ty objekty (nic proti OOP) musí člověk někde vzít, znamená zase nějakou deserializaci/ma­pování z tvaru, ve kterém jsou data v souborech na disku.

xx
xx (neregistrovaný) ---.net.upcbroadband.cz
10. 5. 2011 22:53 Nový

Re: Objektové vs. značkovací jazyky

celé vlákno

Ta XSL šablona je z velké části totožná s výstupním dokumentem – ve kterém jsou sem tam značky, co se má vložit ze vstupu.

Je otázka, jestli je to výhoda.

j
j (neregistrovaný) 188.92.9.---
10. 5. 2011 13:38 Nový

transformace prohlizecem

celé vlákno

Mimochodem, castecne (ne kompletni specifikaci) umi transformace primo napriklad firefox => posle se mu xml + xsl a on to aplikuje. Vyhoda toho je, ze uzivatel ma k dizpozici primo netransformovana zdrojova data a muze snimi tedy nalozit dle libosti. S vyhodnou pouzitelne napriklad pro rss - pokud prijde na stranku s rss nekdo bez ctecky, zobrazi se mu to "nejak hezky" (pokud to jeho prohlizec umi, samozrejme), pricemz ctecka proste pouzije jen ta data a transformacni sablona ji nijak nevadi.

Naprosto idealni je to pak pro ruzne statistiky - napr hernich serveru, kde vznikaji vsemozne weby hracu, kteri si chteji na svuj web vytahnout trebas sve vysledky/informace o postavach/... nemuseji pak parsovat hnusne html, ktere se navic muze menit.

fos4
fos4 (neregistrovaný) ---.customer.poda.cz
10. 5. 2011 13:51 Nový

Re: transformace prohlizecem

celé vlákno

Transformaci v prohlizeci například hodne použival blizzard na svych webech.
Nevim proc, ale nyni uz to serviruje hotove.

Jirka Kosek
10. 5. 2011 14:38 Nový

Re: transformace prohlizecem

celé vlákno

Podpora XSLT 1.0 v desktopových prohlížečích je dneska už celkem slušná (tj. umějí ji všechny hlavní prohlížeče). Nicméně v mobilních zařízení tomu tak není -- pokud chcete, aby stránky fungovaly i tady, je potřeba ještě na serveru vyrobit HTML, které se pošle klientovi.

Problém prohlížečů je v tom, že podporují pouze XSLT 1.0. V XSLT 2.0 se přitom píše mnohem produktivněji. Nicméně už existuje implementace XSLT 2.0 v Javascriptu, takže XSLT 2.0 lze používat na mnohem širším spektru prohlížečů, viz: http://www.saxonica.com/html/ce/doc/contents.html

ptica
ptica (neregistrovaný) ---.eurotel.cz
27. 5. 2011 22:51 Nový

vyhrady k datum v xml a k transformacim

celé vlákno

ukladani vetsich dat do xml dokumentu nasadili na mff lingvistice pred lety
a prineslo to podle meho tyhle nevyhody:

1] vetsi velikost souboru
2] pomale dotazovani, pametova narocnost: treba ziskat slovnikove heslo ze slovniku; tehdy neexistoval eXist, ale stejne, jak si i dneska stoji v porovnani s zaindexovanymi daty v sql?
3] xslt je v jadru pattern matching - vidim vyhody jako optimalizace na rychlost zadarmo atd, ale vsechny moje sablony jsou dneska nepouzivane, protoze se vyvojem formatu vstupnich dat je proste nikdo neumi aktualizovat, xslt sablona je z definice obtizne prepouzitelna, pokud Vam nekdo zasadne zamicha se vstupem pisete novou. xstl je snad jeste vice write-only nez perl
4] pouzit off-shelf nastroje na xml predavane socketem taky nejde, vsechny knihovny buffrujou, prijde msg a oni cekaji az se naplni buffer! ke vsemu xml data musi mit jeden root element - coz ma mozna smysl u dokumentu ale u protokolu jako jabber uz me to teda netesi.

Franta Kučera aura:90
28. 5. 2011 12:48 Nový

Re: vyhrady k datum v xml a k transformacim

celé vlákno

XML je skvělý pro komunikaci, předávání dat z jednoho systému do jiného, pro konfiguráky nebo dokumenty (docbook atd.), ale pro ukládání dat, jako náhrada databáze, je to otázka -- tam hodně záleží na struktuře dat a jejich variabilitě. Ačkoli mám XML hodně rád, musím říct, že většinou je pořád nejlepší volbou relační databáze.

emilk
emilk (neregistrovaný) ---.eurotel.cz
29. 5. 2011 15:40 Nový

Re: vyhrady k datum v xml a k transformacim

celé vlákno
Franta Kučera aura:90
26. 8. 2011 18:47 Nový

Novinky

celé vlákno

Informace o dvou novinkách v mém blogu: XML Web generátor – práce pokračuje.

Franta Kučera aura:90
8. 1. 2012 17:50 Nový

Verze 0.3

celé vlákno

Právě vyšla nová verze: XML Web generátor – verze 0.3.

Zasílat nově přidané příspěvky e-mailem