Avatar billede clausn Nybegynder
07. juni 2006 - 21:36 Der er 1 kommentar og
1 løsning

Newbie XML XSL spørgsmål - where kriterie

Hej eksperter,

Jeg sidder og roder med min første XML / XSL filer:

XSL Filen:
-----------------------------------------------------------
<?xml version="1.0" encoding="iso-8859-1"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" omit-xml-declaration="yes" indent="yes" />

    <xsl:template match="/">
        <h1>Output</h1>
        <xsl:apply-templates select="tv/programme"/>
    </xsl:template>

    <xsl:template match="tv/programme">
        <h4><xsl:apply-templates select="text()" /></h4>
        Udsendelse: <xsl:value-of select="title/text()[1]" />
        <table border="1" width="100%">
            <tr>
                <td>1: <xsl:value-of select="@start" /></td>
                <td>2: <xsl:value-of select="@stop" /></td>
            </tr>
            <tr>
                <td>3: <xsl:value-of select="@channel" /></td>
                <td>4: <xsl:value-of select="video/aspect/text()[1]" /></td>
            </tr>
            <tr>
                <td colspan="2"><B>Beskrivelse:</B> <xsl:value-of select="desc/text()[1]" /></td>
            </tr>
        </table>
    </xsl:template>

</xsl:stylesheet>
-----------------------------------------------------------

XML filen:
-----------------------------------------------------------
  <programme start="20060602223500 +0200" channel="001.tv.tv2.dk">
    <title lang="da">Dødens gab</title>
    <title>Jaws</title>
    <desc lang="da">Amerikansk gyser fra 1975. I den lille badeby Amity i New England ånder alt fred og ro - indtil et skamferet lig en dag skyller i land! Bidemærkerne på kroppen tyder på et angreb fra den frygtede store hvide haj. For at beskytte byens turistindtægter slår borgmesteren det hen, og siger, at mærkerne blot skyldes en motorpropel. Men da hajen angriber de badende ved standen ved højlys dag, er ingen bortforklaring længere mulig. Nu går politichefen Martin Brody, den unge havbiolog Matt Hooper og den erfarne hajfisker Quint sammen om at fange den tre tons tunge og dødsensfarlige menneskeæder! Uegnet for børn.</desc>
    <credits>
      <director>Steven Spielberg</director>
      <actor>Roy Scheider</actor>
      <actor>Robert Shaw</actor>
      <actor>Richard Dreyfuss</actor>
    </credits>
    <date>1975</date>
    <video>
      <present>yes</present>
      <colour>yes</colour>
      <aspect>4:3</aspect>
    </video>
  </programme>
  <programme start="20060602004000 +0200" stop="20060602011000 +0200" channel="001.tv.tv2.dk">
    <title lang="da">Klovn</title>
    <desc lang="da">Dansk sitcom baseret på virkelige hændelser.desc>
    <credits>
      <actor>Frank Hvam</actor>
      <actor>Casper Christensen</actor>
    </credits>
    <episode-num system="xmltv_ns"> . 7 . </episode-num>
    <video>
      <present>yes</present>
      <colour>yes</colour>
      <aspect>4:3</aspect>
    </video>
    <previously-shown />
  </programme>
-----------------------------------------------------------

Mine sprøgsmål går på:
1: Hvordan kan jeg vælge at jeg kun vil se programmer fra fx:
"001.tv.tv2.dk" eller "002.tv.tv2.dk"

2: Hvordan kan jeg vælge at det skal være en bestemt dato ud fra dette format: 20060602004000 (06/06-2006 kl 20.04.00 hvis jeg læser det rigtigt)

Det er jo ikke sikkert at begge resultater bliver opfyldt på samme tidspunkt.

Min ide er at jeg kan skrive:
xml.asp?startdato=06062006&kanal=002.tv.tv2.dk

Jeg bruger følg. til at åbne det:

    <%
    Option Explicit
    Const XSL_PATH = "transform.xsl"
    dim sPath : sPath = Server.MapPath("portfolio2.xml")
    dim oXml : Set oXml = Server.CreateObject( "Microsoft.XMLDOM")
    oXml.Load sPath
    dim oXsl : Set oXsl = Server.CreateObject( "Microsoft.XMLDOM")
    oXsl.Load Server.MapPath( XSL_PATH )
    response.write oXml.TransformNode( oXsl )
    Set oXsl = Nothing
    Set oXml = Nothing
    %>

Mange hilsner Claus
Avatar billede clausn Nybegynder
07. juni 2006 - 21:37 #1
XML filen er kun et udklip - jeg har resten og det virker godt nok. Det er hentet fra XMLTV :-)
Avatar billede clausn Nybegynder
14. juni 2006 - 12:31 #2
Har løst det selv...


<xsl:for-each select="weather/dayf/day/part">
<xsl:if test="@p = 'd'">
    <td  align='center'><img><xsl:attribute name="src">http://intranet/img/weather_large/<xsl:value-of select="icon" />.gif</xsl:attribute></img></td>
</xsl:if>
</xsl:for-each>
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