maao
maao

Reputation: 3

Get a value of an XML tag using XSLT

I am new in XSL and im trying to get the values of a tag

I have a file like this

<?xml version="1.0" encoding="UTF-8"?> <MPD
 xmlns:xsi="http://www.w3.org/2001/XMLSchema"
      xmlns="urn:mpeg:mpegB:schema:DASH:MPD:DIS2011"
      xsi:schemaLocation="urn:mpeg:mpegB:schema:DASH:MPD:DIS2011"
      profiles= "urn:mpeg:mpegB:profile:dash:isoff-basic-on-demand:cm"
      type="OnDemand"
      mediaPresentationDuration="PT5M0.08S"
      minBufferTime="PT10.00S">   
      <Period>
           <Group segmentAlignmentFlag="true" mimeType="video/mp4"> <Representation mimeType="video/mp4" width="854" height="480"
 startWithRAP="true" bandwidth="516739" minBufferTime="2000">   
 <SegmentInfo duration="PT2.00S">
     <InitialisationSegmentURL sourceURL="http://jakjak.dit.upm.es/mpd/sintel_1200kbit/sintel_trailer_2k_480p24_1200kbit_dash.mp4"/>
     <Url sourceURL="http://jakjak.dit.upm.es/mpd/sintel_1200kbit/sintel1.m4s"/>
     <Url sourceURL="http://jakjak.dit.upm.es/mpd/sintel_1200kbit/sintel2.m4s"/>
     <Url sourceURL="http://jakjak.dit.upm.es/mpd/sintel_1200kbit/sintel3.m4s"/>
     <Url sourceURL="http://jakjak.dit.upm.es/mpd/sintel_1200kbit/sintel4.m4s"/>
     <Url sourceURL="http://jakjak.dit.upm.es/mpd/sintel_1200kbit/sintel5.m4s"/>
 </SegmentInfo>   </Representation>
           </Group>
     </Period> </MPD>

I want to get just the value of Url sourceURL like this

http://jakjak.dit.upm.es/mpd/sintel_1200kbit/sintel1.m4s

Is there a way someone can help me?

Upvotes: 0

Views: 88

Answers (1)

Joel M. Lamsen
Joel M. Lamsen

Reputation: 7173

This stylesheet:

<?xml version="1.0" encoding="UTF-8"?>
<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="/">
        <xsl:for-each select="descendant::*">
            <xsl:if test="@sourceURL">
            <URL><xsl:value-of select="@sourceURL"/></URL>
            </xsl:if>
        </xsl:for-each>
    </xsl:template>

</xsl:stylesheet>

produces:

<URL>http://jakjak.dit.upm.es/mpd/sintel_1200kbit/sintel_trailer_2k_480p24_1200kbit_dash.mp4</URL>
<URL>http://jakjak.dit.upm.es/mpd/sintel_1200kbit/sintel1.m4s</URL>
<URL>http://jakjak.dit.upm.es/mpd/sintel_1200kbit/sintel2.m4s</URL>
<URL>http://jakjak.dit.upm.es/mpd/sintel_1200kbit/sintel3.m4s</URL>
<URL>http://jakjak.dit.upm.es/mpd/sintel_1200kbit/sintel4.m4s</URL>
<URL>http://jakjak.dit.upm.es/mpd/sintel_1200kbit/sintel5.m4s</URL>

Upvotes: 1

Related Questions