Hello World, Part 4: Script and a Movie! [Part iii: The Markup]

Now we've looked at the Playlist and the Manifest file for our sample, let's look at the markup file.

Markup.xmu

The markup file is not radically different from our previous attempts, but there are a few new things in it. Sorry if the line wrapping is ugly on your screen :-/

<? xml version = " 1.0 " ?>

< root xml:lang = " en " xmlns = " https://www.dvdforum.org/2005/ihd "

xmlns:style = " https://www.dvdforum.org/2005/ihd\#style "

xmlns:state = " https://www.dvdforum.org/2005/ihd\#state " >

< head >

< styling >

< style select = " //button " style:backgroundColor = " rgba(0,0,255,255) "

style:position = " absolute " style:width = " 200px " style:height = " 100px "

style:opacity = " 0.8 " />

</ styling >

< timing clock = " page " >

< par >

<!-- Same basic highlighting logic as before -->

< cue begin = " //button[state:focused()=true() and style:backgroundColor()!='rgba(255,0,0,255)'] "

end = " //button[state:focused()=false() and style:backgroundColor()='rgba(255,0,0,255)'] " >

< set style:backgroundColor = " rgba(255,0,0,255) " />

</ cue >

<!-- New failsafe cue for when things go bad -->

< cue select = " //button[state:focused()=true()] "

begin = " (count(//button[style:backgroundColor()='rgba(255,0,0,255)'])=0) "

dur = " 1f " >

< set style:backgroundColor = " rgba(255,0,0,255) " />

</ cue >

<!-- New cue for the event -->

< cue begin = " //button[state:actioned()=true()] " dur = " 0.5s " >

< set style:opacity = " 1 " />

< event name = " click " />

</ cue >

</ par >

</ timing >

</ head >

< body >

< div style:position = " absolute " style:x = " 0px " style:y = " 680px "

style:width = " 1920px " style:height = " 400px