Re: [xml-dev] Conditional statements in DTD?

From
<>
To
Date
2009-03-24T11:35:49Z
ID
<>
Thread
Re: [xml-dev] Conditional statements in DTD?
>
>> (Without extension functions, though, I don't
>> think Schematron can require that if @x is "yes", then @y
>> must be a prime number.)
>
> if(@x='yes') then
>  not(some $i in 2 to (xs:integer(@y)-1) satisfies (@y mod $i) = 0)

Even in XML 1.0

  (@x mod 2) = 0 or
  (@x mod 3) = 0 or
  (@x mod 5) = 0 or
  (@x mod 7) = 0 or
  (@x mod 11) = 0 or
  (@x mod 13) = 0 or
  (@x mod 17) = 0 or
  (@x mod 19) = 0

on the understanding that the assertion *test* may be lossy compared to
the assertion *text* (no false negatives).

In Schematron the assertion text has the primacy: you can even make
assertions for which no effective test exists, such as "This element is a
date, in any notation and calendar, but ISO 8601 is preferred."

Cheers
Rick