← Back to team overview

sslug-teknik team mailing list archive

Re: xalan? - XML -> HTML on the fly via DTD+XSL. saxon?

 

Hans Schou <chlor@xxxxxxxx> writes:

> > * Installer Saxon eller Xalan.  Jeg har selv bruge Saxon en del, og
> 
> Xalan var vel nok den rigtige løsning, men den har du nok også
> bøvlet med?

Dengang jeg brugte det rigtigt meget var der visse
performanceproblemer med Xalan 1, som de ikke gad rette da de kaempede
bravt med at faa Xalan 2 klar, og som gjorde at visse ting koerte
urimeligt langsomt.  Det tror jeg ikke gaelder mere, og da en del
Apache projekter bruger det som standard, er det noget der ihvertfald
er vaerd at kigge paa.

Jeg har hele tiden vaeret tilfreds med Saxon, som havde den lille
fikse detalje at man kunne hente en "Instant" version, som koerte
direkte som en Windows exe fil, med Microsofts VM.  Denne igen havde
den fordel[1] at den ikke havde en oevre graense paa
hukommelsesforbruget.

> Det med at køre igennem et script var selvfølgelig en løsning, men bare på 
> min 800MHz maskine tager det 1.12 sek for selv en lille xml-fil.

XSLT-processering har et enormt overhead i de allerfleste
implementationer.  Du vil _gerne_ have det indbygget og koereklart.

Er det DocBook.  Den er enorm, og du SKAL bruge DTD'erne (definerer
brugen af id-tags), saa den er meget tung at danse med.

> > * Naar resultat.html er praecis som den skal vaere (specielt er XHTML
> >   namespacet vigtigt med Mozilla) saa kan man begynde at pusle med at
> >   faa lavet XSLT-transformationen i Mozilla og IE6.
> 
> Øhhh XHTML? Har du et lille eksempel på dette? Et par færdige filer ville
> være lækkert.

XHTML er HTML 4.0 sat paa XML-form.  Jeg har tidligere rodet med at
lave XSLT-transformationer i IE5 med MSXML 3 opgraderingen, hvor IE
understoetter <?xsl:stylesheet>  direkte og viser umiddelbart i
browseren.  Til DocBook brug vil du ikke finde det sjovt.

> > XSLT er meget anderledes end de fleste andre sprog (hvis altsaa ikke du
> > er vant til Lisp).
> 
> Jeg lavede noget autolisp i 1989, det går nok.

Okie.  Hale-rekursion og ingen aendringer af variable.  Du kan
interpolere variable i attributter med "{$variabel}" syntaksen.

Mens du fejlfinder vil <xsl:output indent="yes"> vaere godt.

Gode links:

        http://www.zvon.org/xxl/XSLTreference/Output/
        http://www.dpawson.co.uk/xsl/xslfaq.html

eksperten.dk har et XSLT omraade.  Kvaliteten er svingende.
-- 
  Thorbjørn Ravn Andersen
  http://homepage.mac.com/ravn


References