Avatar billede brian0905 Nybegynder
22. september 2003 - 09:50 Der er 3 kommentarer og
1 løsning

Hvordan holder jeg det rigtige format?

Jeg har en lille database til at holde styr på mine kodeeksempler, jeg vil nu eksportere det til xml og formattere det med xslt. Jeg støder nu ind i nogle problemer med at få output til at have det rigtige format:

Teksten i min xml fil:

<?xml-stylesheet type="text/xsl" href="test.xslt"?>
<root>
<kode>public DocumentationHandler(string servername, string exporttype, string database, Label theStatuslabel)
        {
            if(exporttype=="xml")
            {
                XMLExport=true;
            }
            else
            {
                HTMLExport=true;
            }
            myStatuslabel=theStatuslabel;
            try
            {
                ADODB.Connection AdoConn = new ADODB.Connection();
                AdoConn.Open("provider=msolap;Data Source="+servername+";initial catalog="+database+";", "", "", 0);
                ADOMD.Catalog catalog = new ADOMD.Catalog();
                catalog.ActiveConnection = AdoConn;
                ADOMD.CubeDefs cubes = catalog.CubeDefs;
            }
            catch(Exception e)
            {
                myStatuslabel.Text="Error making a connection to the cube: "+database+" on "+servername;
            }
        }
</kode>
</root>

Mit stylesheet:
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="text" version="4.0" encoding="iso-8859-1" indent="yes"/>
<xsl:preserve-space elements="kode" />
<xsl:template match="/Root">
  <html>
    <body>
    <xsl:value-of select="kode"/>
    </body>
  </html>
</xsl:template></xsl:stylesheet>

Som det kan ses er min xml fil fuld af tabulatur samt linieskift, jeg vil gerne have dette format når det bliver formatteret i min xslt. Desværre er der ikke nogle tags eller andre identifikationer der kan vise hvor jeg selv kan indsætte et linieskift eller en tabulatur. Det output jeg får for nuværende er blot een lang streng i html.
Avatar billede thor.ostergaard Nybegynder
22. september 2003 - 10:21 #1
Det er en egenskab, der bæres af html og ikke xsl. Prøv med dette xslt i stedet:
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="html"  encoding="iso-8859-1" indent="yes"/>
<xsl:preserve-space elements="kode" />
<xsl:template match="/">
  <html>
    <body>
  <pre><xsl:value-of select="root/kode"/></pre>
    </body>
  </html>
</xsl:template></xsl:stylesheet>
Avatar billede thor.ostergaard Nybegynder
22. september 2003 - 10:22 #2
Vær i øvrigt opmærksom på, at xsl/xml er følsom overfor store og små bogstaver. Du skrev root med stort i dit xml dokument og med småt i xslt filen
Avatar billede brian0905 Nybegynder
22. september 2003 - 10:27 #3
takker, det virker fint nu, lav lige et svar til dine points
Avatar billede thor.ostergaard Nybegynder
22. september 2003 - 10:30 #4
Dejligt at høre
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