Avatar billede manutd Nybegynder
31. oktober 2003 - 12:00 Der er 9 kommentarer

Link fra XML til sekundært XSL-stylesheet.

Hejsa.

Jeg har et XML dokument, som linker til et stylesheet som ligger på en server. Det gør, at man skal være online for at åbne XML dokumentet.

Har man mulighed for i XML dokumentet at angive et sekundært stylesheet, således at hvis de ikke kan få forbindelse til det primære stylesheet, så går den ned og tager et lokalt stylesheet i stedet for.

mit link til det primære stylesheet ser således ud:

<?xml version="1.0" encoding="ISO-8859-1"?>
<?xml:stylesheet type="text/xsl" href="https://download.dk/s_frys/download/stylesheet.xsl"?>

Hvordan skal koden se ud,hvis jeg også gerne vil includere et sekundært stylesheet (hvis det altså kan lade sig gøre)?
Avatar billede Slettet bruger
31. oktober 2003 - 12:36 #1
Du kan ihvertfald godt indsætte flere <?xml-stylesheet ...?> i det samme XML dokument - men hvordan den opfører sig når de begge er tilgængelige må bero på en test eller to...

/CS
Avatar billede manutd Nybegynder
31. oktober 2003 - 12:49 #2
Har du et konkret kode eksempel, som jeg kan prøve med. Problemet er, at den skal kunne se bort fra det første XSL-stylesheet, hvis det ikke er tilgængeligt på serveren, eller brugeren er offline, og så benytte linket til det sekundære stylesheet i stedet for, uden at brokke sig over at det ikke er adgang til det første stylesheet.
Avatar billede janegil Nybegynder
31. oktober 2003 - 14:01 #3
Hva med å legge stilarket i samme mappe som XML'en, og bruke relativ URL?

Hvis folk så lagrer begge lokalt i samme mappe, burde det fungere lkt både on- og offline?
Avatar billede manutd Nybegynder
31. oktober 2003 - 14:25 #4
Problemet er, at jeg ønsker at ha´ stylesheet´et liggende online på en server, så jeg kan opdatere stylesheet´et der.

XML-filerne er nogen, som mine kunder kan bestille, og som jeg derfor sender til dem. Jeg vil dog gerne slippe for at sende dem stylesheet´et, for at spare datamængde.

MEN, nogle kunder vil meget gerne ha´ mulighed for at kunne se deres XML filer,når de er off-line (f.eks. på bærbar i toget), og derfor vil de gerne ha´ mulighed for at kunne downloade XSL stylesheet´et, og ligge det i den samme mappe som deres XML fil, og så få det til at virke på den måde offline.

Mit problem er, at jeg altid skal generere den samme XML-fil. Altså kan jeg ikke generere forskellige XML filer med forskellig reference til XSL stylesheetet. Derfor vil jeg gerne kunne angive en primær stylesheet og et sekundært stylesheet, således at hvis det primære stylesheet ikke findes, så vil den benytte det sekundære, hvis et sådan findes.

Jeg søger svar på om det kan lade sig gøre, og om hvordan det i givet fald skal kodes.
Avatar billede janegil Nybegynder
31. oktober 2003 - 14:45 #5
Hvis datamengden i et stilark betyr noe, så er ikke XML den rette teknologien for deg. XML spiser bytes til frokost.

Hvis antallet filer betyr noe, så kan stilarket inngå i datafilen.

Hvis det kan la seg gjøre å bruke et 'reserve-stilark', så er det ved å bruke to processing instructions.

Både Opera og Mozilla tillater manuelt valg mellom flere stilark, men Opera tar ikke XSLT i det hele tatt, og Mozilla vil ikke ha mere enn ett XSLT-ark.

Det kodes slik:
<?xml-stylesheet href="http://x.dk/online.xsl" type="text/xsl" title="Online"?>
<?xml-stylesheet href="offline.xsl" type="text/xsl" title="Off-line"?>

Du kan jo prøve om IE velger det andre hvis det første er off-line (eller omvendt)
Avatar billede manutd Nybegynder
04. november 2003 - 10:59 #6
Jeg har ikke kunnet få det til at fungere med to stylesheets i IE som foreslået:
<?xml-stylesheet href="http://x.dk/online.xsl" type="text/xsl" title="Online"?>
<?xml-stylesheet href="offline.xsl" type="text/xsl" title="Off-line"?>

Nogen der har andre forslag?, ved at det kan/ikke kan lade sig gøre?
Avatar billede janegil Nybegynder
04. november 2003 - 11:18 #7
Prøve å alltid vise til det lokale arket, men la det lokale importere eller inkludere onlinearket. Og håpe på at den lokale delen fortsatt blir brukt, selv om forbindelsen til serveren feiler.
Avatar billede manutd Nybegynder
07. november 2003 - 14:58 #8
Problemet er, at størstedelen af mine brugere, ikke har et lokalt stylesheet liggende. Deres XML skal derfor hente XSL´en fra en server.

Men jeg har enkelte brugere, som gerne vil have mulighed for at kunne downloade XSL filen fra serveren på forhånd, så de har adgang til det hvis de f.eks. er ude at køre i tog med deres bærbare, og ikke har netværksadgang.

Problemet er, at jeg helst ikke vil lave to forskellige versioner af deres XML-fil. Jeg vil altså gerne kunne nøjes med at generere den samme XML-fil, og så linke til onlinearket som det primære, og det lokale ark som sekundært.

Det må ikke være omvendt, som du skriver, så det bliver det lokale, som er primært.

Nogle forslag til om det overhovedet kan lade sig gøre i IE
Avatar billede janegil Nybegynder
07. november 2003 - 15:10 #9
Jeg forstår deg ikke helt. Med mindre du har et konstant XML som styles med et XSL som oppdateres oftere? Det går i så fall nokså på tvers av hvordan browserne gjerne cacher ting.

On- eller offline, kan du får tak i XML, kan du også få tak i XSL. FOr å fornkle filadministrasjonen, kan du legger stilarket inne i XML-filen. Du gir stilarkets rotelement fx id="stilark", og henviser til #stilark i prosessinstruksjonen.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester