| /smil | ||
| self::* | A <name path=""/> element must appear at the top level. | |
| count(head) < 2 | A <name path=""/> element should not have more than one head element. | |
| count(body) < 2 | A <name path=""/> element should not have more than one body element. | |
| smil | ||
| ancestor::* | A <name path=""/> element must only appear at the top level. | |
| head | ||
| parent::smil | A <name path=""/> element should be a child of the smil element. | |
| (count(layout) + count(switch) + count(meta)) = count(*) | A <name path=""/> element should only contain the elements layout, switch or meta. | |
| meta | ||
| @name | A <name path=""/> element should have a name attribute. | |
| @content | A <name path=""/> element should have a content attribute. | |
| parent::head | A <name path=""/> element can only appear in a head element. | |
| * | A <name path=""/> element should not have any content. | |
| layout | ||
| parent::head or parent::switch | A <name path=""/> element can only appear in a head or switch element. | |
| head/switch | ||
| layout | A <name path=""/> element in the head can only contain layout elements. | |
| region | root-layout | ||
| ancestor::layout | A <name path=""/> must be in a layout element. | |
| * | A <name path=""/> should be empty. It should not have any subelements. | |
| body | ||
| parent::smil | A <name path=""/> element should be a child of the smil element. | |
| count(audio) + count(video) + count(text) + count(img) + count(animation) + count(textstream) + count(ref) + count(par) + count(seq) + count(switch) + count(a) = count(*) | A <name path=""/> element can only have container content. | |
| par | seq | body/switch | ||
| count(audio) + count(video) + count(text) + count(img) + count(animation) + count(textstream) + count(ref) + count(par) + count(seq) + count(switch) + count(a) = count(*) | A <name path=""/> element can only have container content. | |
| audio |video |text |img |animation |textstream |ref | ||
| count(anchor) < count(*) | Only anchor elements are allowed as subelements of media object elements. | |
| parent::par or parent::switch or parent::seq | A <name path=""/> element may only be inside the elements par, switch or seq. | |
| anchor | ||
| @href | A <name path=""/> element should have an href element. | |
| a | ||
| @href | A <name path=""/> element should have an href element. | |
| *[@region] | *[@alt] | *[@longdesc] | *[@src] | *[@type] | *[@dur] | *[@repeat] | ||
| self::audio or self::video or self::text or self::img or self::animation or self::textstream or self::ref | A Media Object attribute should only be on a Media Object Element. | |
| *[@id] | ||
| self::smil or self::head or self::layout or self::region or self::root or self::body or self::par or self::seq or self::switch or self::audio or self::video or self::text or self::img or self::animation or self::textstream or self::ref | A <name path=""/> element cannot have an ID attribute. | |
| a[@show] | anchor[@show] | ||
| (@show='replace') or (@show='new') or (@show='pause') | The show attribute on a <name path=""/> element should have one of the values replace, new or pause. | |
| meta[@skip-content] | anchor[@skip-content] | root-layout[@skip-content] | region[@skip-content] | ||
| (@skip-content ='true' ) or ( @skip-content = 'false') | A skip-content attribute on a <name path=""/> element can only have a value of true or false. | |
| region[@fit] | ||
| (@fit='hidden' ) or (@fit='fill') or (@fit='meet') or (@fit='scroll') or (@fit='slice') | In the element <name path=""/> the attribute fit can only have values hidden, fill, meet, scroll or slice. | |
Schematron Pretty by Rick Jelliffe. The Schematron by Rick Jelliffe, Academia Sinica Computing Centre.