webForumDet fria alternativet

programlisting i DocBook

1 svar · 437 visningar · startad av Chavez

ChavezMedlem sedan maj 20001 297 inlägg
#1

Hejsan,

Först går jag fråga - är det någon här som använder XML i det dagliga arbetet? Skall inte säga att jag använder det mycket men på det senaste har det slunkit in i ett par projekt.

Ett ställe där jag använder det och absolut ser fördelen är i dokumentering.
Använder DocBook XML och med hjälp av xsltproc och ett gäng XSL templates kan jag generera snygg ut-data.

Men nu till frågan, hur gör jag på enklaste vis så att kod i elementet
<programlisting> går genom en PHP funktion (highlight_string()) ? Går detta och fixa genom XSL templatsen? Eller blir jag tvungen och skapa PHP skript som går över XML-filerna?
Att gå igenom filerna är inte så illa som det låter. Jag har alla kodexempel i
speciella kataloger, med <programlisting> som "root". Så jag kan gå igenom de filerna, skapa nya filer med utdatan och sen gå in i <!DOCTYPE och ändra ENTITY'sen så att den pekar mot den nya filen (kan ju sedan gå bakvägen, så jag skall inte tappa i. flexibilitet så mycket).

Men jag slipper det helst, kunde man via XSL templatsen anropa PHP vore det ju fint :) Då har jag ju fördelen att jag kan göra detta endast för HTML
templasten, inte för pdf ut-data osv.

jarvkloMedlem sedan juli 20013 295 inlägg
#2

Om du har tur kanske du kan använda <xsl:script>...

<xsl:script> är inte "standard" xslt, men finns med som "Extension" i vissa xslt-paket. jag har iofs bara använt den för att anropa Javascript, men som sagt - har du tur så ;)

Länkar:

Sablotron Extensions: http://www.gingerall.org/ga/html/jsdom-ref/apidocs/complete.html

MSXML3: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/xmlsdk30/htm/xmrefmsxslscriptelement.asp

Genererad på 380 ms · cache AV · v20260730165559-full.f96bc7eb