Avatar billede christer2 Nybegynder
09. oktober 2000 - 22:33 Der er 11 kommentarer og
1 løsning

XML + XSL = HTML

Jeg har følgende test XML og efterfølgende en lille XSL, som jeg har makket lidt med. Tilsyneladende kan jeg sagtens transformere, hvis der ingår en blanding af XSL-tags og HTML tags (med afslutning) i min XSL. MEN når jeg som i nedenstående XSL indsætter et <BR>, vil den ingenting. Jeg kunne vel forestille mig, at den forventer et slut tag for <BR>-tagget, men hvad gør jeg så, når jeg vil formattere min XML med PRÆCIS de HTML-tags jeg vil?

Jeg har forsøgt at indsætte en entitet som <![CDATA[<BR>]]>. Men forårsager bare, at jeg kan se <BR> i min browser, frem for at linien brydes???

Ser frem til svar...

Christer

<?xml version=\"1.0\" encoding=\"ISO8859-1\" ?>
  <CD>
    <TEASER>
        <ITEM>1</ITEM>
        <ITEM>2</ITEM>
        <ITEM>GED</ITEM>       
    </TEASER>
  </CD>
--------------------------------------------
<?xml version=\'1.0\'?>
<xsl:stylesheet xmlns:xsl=\"http://www.w3.org/TR/WD-xsl\">
<xsl:template match=\"/\">
    <xsl:apply-templates/>
</xsl:template>
<xsl:template match=\"CD\">
    <xsl:apply-templates/>
</xsl:template>
<xsl:template match=\"TEASER\">
      <xsl:for-each select=\"ITEM\">
        <xsl:value-of/><BR>
      </xsl:for-each>
</xsl:template>
</xsl:stylesheet>
Avatar billede christer2 Nybegynder
09. oktober 2000 - 22:35 #1
Transformeringen sker i øvrigt på server niveau, og med følgende kode:

\'Load the XML
set xml = Server.CreateObject(\"Microsoft.XMLDOM\")
xml.async = false
xml.load(Server.MapPath(\"cd_catalog2.xml\"))

\'Load the XSL
set xsl = Server.CreateObject(\"Microsoft.XMLDOM\")
xsl.async = false
xsl.load(Server.MapPath(\"main.xsl\"))

Response.Write(xml.transformNode(xsl))
Avatar billede getalife Nybegynder
09. oktober 2000 - 22:41 #2
Nemt nok :o)

Når du sætter HTML tags ind i XSL skal du altid huske at afslutte dem.
Tags der står alene... såsom <img> og <br> skal selvfølgelig også afsluttes.
Det gør du ved at sætte en / ind i tagget.
Altså <br> bliver til <br/> og <img ****> bliver <img ****/>

/Getalife
Avatar billede getalife Nybegynder
09. oktober 2000 - 22:41 #3
som var et svar...
Avatar billede christer2 Nybegynder
09. oktober 2000 - 22:50 #4
Det giver jo følgende output, hvilket jeg ikke er interesseret i:

<hr>1<BR />
2<BR />
GED<BR />

Er det den eneste mulighed? Eller skal jeg i gang med workarounds (hvilket jeg dårligt kunne forestille mig), såsom replacements igennem brug af ASP (hvilketjo er dårlig performance!)?

Christer
Avatar billede getalife Nybegynder
09. oktober 2000 - 22:53 #5
lige på undtagelse af at det bliver <hr/>... ja.. sådan kommer det til at se ud.

Men hvad er der i vejen med det? Den laver et break osv..

/Getalife
Avatar billede christer2 Nybegynder
09. oktober 2000 - 22:54 #6
Well, det er på sin vis ok, men jeg er træt af at lave output, der tydeligvis afviger fra gældende standarder.

Hvad med ældre browsere osv.?

Christer
Avatar billede getalife Nybegynder
09. oktober 2000 - 22:58 #7
Outputtet er html når du bruger din ASP parser.

Du kan se på http://www.musikhuset-aarhus.dk
Den er lavet ca som du har lavet dit. Blot med nogle få ændringer.

Den kan ses i IE4 og op. NS4 og op.. jeg har ikke prøvet med mindre da der er DHTML derpå og dette ikke understøttes i gamle browsere.
Avatar billede getalife Nybegynder
09. oktober 2000 - 22:59 #8
Hmm.. det med at outputtet afviger.. det bliver med næsten fanget af når du benytter dig af standard der ikke er færdig-defineret (XSL).
Avatar billede christer2 Nybegynder
09. oktober 2000 - 23:05 #9
90 points til dig, hvis du liiiige fortæller, hvordan jeg lukker og udleverer dem? Jeg har jo afvist dit tidligere svar osv, og har kigget i brugsbeskrivelsen? :-)
Avatar billede getalife Nybegynder
09. oktober 2000 - 23:06 #10
tjaeh..  :o)
Avatar billede christer2 Nybegynder
09. oktober 2000 - 23:08 #11
Tak! :-)
Avatar billede getalife Nybegynder
09. oktober 2000 - 23:08 #12
Takker :o)
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





Premium
Søstrene Grene skifter Microsoft ud med SAP og rykker for første gang i clouden i stor ERP-transformation: Der er brug for en helt ny tilgang