<?xml version='1.0' encoding='utf-8'?>

<!-- MLT XML DTD v7.0.0 -->

<!ELEMENT mlt (profile | producer | playlist | tractor | multitrack | consumer | chain)+ >
<!ATTLIST mlt
    LC_NUMERIC CDATA    #IMPLIED
    version    CDATA    #IMPLIED
    root       CDATA    #IMPLIED
    profile    CDATA    #IMPLIED
    title      CDATA    #IMPLIED
    producer   IDREF    #IMPLIED
>
<!ELEMENT profile EMPTY >
<!ATTLIST profile
    name               CDATA    #IMPLIED
    colorspace         CDATA    #IMPLIED
    description        CDATA    #IMPLIED
    display_aspect_den CDATA    #IMPLIED
    display_aspect_num CDATA    #IMPLIED
    frame_rate_den     CDATA    #REQUIRED
    frame_rate_num     CDATA    #REQUIRED
    height             CDATA    #REQUIRED
    progressive        CDATA    #REQUIRED
    sample_aspect_den  CDATA    #REQUIRED
    sample_aspect_num  CDATA    #REQUIRED
    width              CDATA    #REQUIRED
>
<!ELEMENT property ANY >
<!ATTLIST property 
    name     CDATA    #REQUIRED
    value    CDATA    #IMPLIED
>
<!ELEMENT properties property >
<!ATTLIST properties
    name     CDATA    #REQUIRED
>
<!ELEMENT producer (property | properties | filter)* >
<!ATTLIST producer
    id       ID       #IMPLIED
    in       CDATA    #IMPLIED
    out      CDATA    #IMPLIED
    title    CDATA    #IMPLIED
    mlt_service  CDATA    #IMPLIED
>
<!ELEMENT chain (property | properties | filter | link)* >
<!ATTLIST chain
    id       ID       #IMPLIED
    in       CDATA    #IMPLIED
    out      CDATA    #IMPLIED
    mlt_service  CDATA    #IMPLIED
>
<!ELEMENT link (property | properties)* >
<!ATTLIST link
    id       ID       #IMPLIED
    in       CDATA    #IMPLIED
    out      CDATA    #IMPLIED
    mlt_service  CDATA    #IMPLIED
>
<!ELEMENT filter (property | properties)* >
<!ATTLIST filter
    id       ID       #IMPLIED
    in       CDATA    #IMPLIED
    out      CDATA    #IMPLIED
    mlt_service  CDATA    #IMPLIED
    track    CDATA    #IMPLIED
>
<!ELEMENT transition (property | properties)* >
<!ATTLIST transition
    id       ID       #IMPLIED
    in       CDATA    #IMPLIED
    out      CDATA    #IMPLIED
    mlt_service  CDATA    #IMPLIED
    a_track  CDATA    #IMPLIED
    b_track  CDATA    #IMPLIED
>
<!ELEMENT playlist ((property | properties)*,(entry | blank | producer | playlist | tractor | multitrack |chain)*) >
<!ATTLIST playlist
    id       ID       #IMPLIED
    in       CDATA    #IMPLIED
    out      CDATA    #IMPLIED
    title    CDATA    #IMPLIED
>
<!ELEMENT entry ((property | properties)*,(producer | playlist | tractor | multitrack | filter | transition | chain)*) >
<!ATTLIST entry
    producer IDREF    #IMPLIED
    in       CDATA    #IMPLIED
    out      CDATA    #IMPLIED
>
<!ELEMENT blank EMPTY >
<!ATTLIST blank
    length   CDATA    #REQUIRED
>
<!ELEMENT tractor ((property | properties)*, (multitrack | (track)+), (filter | transition )*) >
<!ATTLIST tractor
    id       ID       #IMPLIED
    in       CDATA    #IMPLIED
    out      CDATA    #IMPLIED
    title    CDATA    #IMPLIED
>
<!ELEMENT multitrack (track | producer | playlist | tractor | multitrack | chain)+ >
<!ATTLIST multitrack
    id       ID       #IMPLIED
>
<!ELEMENT track (producer | playlist | tractor | multitrack | filter | transition | chain)* >
<!ATTLIST track
    producer IDREF    #IMPLIED
    hide    (video | audio | both) #IMPLIED
>
<!ELEMENT consumer (property | properties)* >
<!ATTLIST consumer
    id       ID       #IMPLIED
    mlt_service  CDATA    #IMPLIED
>
