att.repeatable
att.repeatable 内容モデルの構成部分を定義するエレメントのための属性を提供する。 | |||||||||||||||||
モジュール | tagdocs — Documentation Elements | ||||||||||||||||
構成 | alternate anyElement classRef datatype elementRef sequence | ||||||||||||||||
属性 |
|
||||||||||||||||
Schematron |
<sch:rule context="tei:*[ @minOccurs and @maxOccurs ]"> <sch:let name="min" value="@minOccurs cast as xs:integer"/> <sch:let name="max" value="if ( normalize-space( @maxOccurs ) eq 'unbounded') then -1 else @maxOccurs cast as xs:integer"/> <sch:assert test="$max eq -1 or $max ge $min">@maxOccurs should be greater than or equal to @minOccurs</sch:assert> </sch:rule> <sch:rule context="tei:*[ @minOccurs and not( @maxOccurs ) ]"> <sch:assert test="@minOccurs cast as xs:integer lt 2">When @maxOccurs is not specified, @minOccurs must be 0 or 1</sch:assert> </sch:rule> |
||||||||||||||||
解説 |
minOccursの値は常にmaxOccursの値以下でなければならない。maxOccursのデフォルト値が1なので、maxOccursが指定されない時には、minOccursは1以下でなければならない。 minOccursのデフォルト値も1なので、minOccursが指定されない時には、maxOccursは常に1以上でなければならない。これらの条件のいずれかが満たされなければ、ODDプロセッサはエラーとなるだろう。 |