The assertion test of the "variantEncodingLocation" constraint in variantEncoding.xml reads
(@location != 'external') or (@method != 'parallel-segmentation')
While I believe that is exactly correct (in that it returns true() appropriately) it is quite hard to understand (especially considering you have to, even if just for a moment, consider what happens if one of the things being compared is a sequence — only for a brief moment because none of the things being compared can be a sequence), IMHO, compared to
not( @location eq 'external' and @method eq 'parallel-segmentation' )
Which, of course, can be further reduced to the following by using <sch:report> instead of <sch:assert>:
@location eq 'external' and @method eq 'parallel-segmentation'
The assertion test of the "variantEncodingLocation" constraint in variantEncoding.xml reads
While I believe that is exactly correct (in that it returns true() appropriately) it is quite hard to understand (especially considering you have to, even if just for a moment, consider what happens if one of the things being compared is a sequence — only for a brief moment because none of the things being compared can be a sequence), IMHO, compared to
Which, of course, can be further reduced to the following by using
<sch:report>
instead of<sch:assert>
: