Testing errors
author: Lou Burnard; Sebastian Rhatz; Syd Bauman
language: en

A Test Schema

Here is the introduction to your document

Here is the schema:

<p>
lists inside paragraphs not supported multi-valued rend is not supported
@rend
"center"
"boxed"
@type

This <remarks> element is here for the sole purpose of testing the warning or error msg that is produced when a <remarks> element does NOT have an @ident.

<distinct>
@o01
optional, min 0, max 1
@o02
optional, min 0, max 2
@o0i
optional, min 0, max unbounded
@o11
optional, min 1, max 1
@o12
optional, min 1, max 2
@o1i
optional, min 1, max unbounded
@o22
optional, min 2, max 2
@o2i
optional, min 2, max unbounded

<div>
divs of type 'canon' may not be nested divs of type 'canon' may not be nested within 'register' divs of type 'canon' may contain only one 'canonText' divs of type 'canonText' can only occur inside 'canon'

<lg>

<l>

<blort>
a completely spurious element made up for testing purposes only
@cert
certainty
@code
code
@dur
duration
@enumerated
enumerated
@key
key
@count
count
@language
language
@name
name
@names
names
@pattern
pattern
@numeric
numeric
@pointer
pointer
@pointers
pointers
@prob
probability
@sex
sex
@temporal
temporal
@truth
truth
@xtruth
xtruth

<blort2>
Another completely spurious element made up for testing purposes only. For information on what is being tested, see <remarks>.
@default-is-in-list-opt
ONE
"ONE"
"TWO"
"THREE"
@default-is-in-list-rec
ONE
"ONE"
"TWO"
"THREE"
@default-is-in-list-req
ONE
"ONE"
"TWO"
"THREE"
@default-NOT-in-list-opt
ONE
"TWO"
"THREE"
@default-NOT-in-list-rec
ONE
"TWO"
"THREE"
@default-NOT-in-list-req
ONE
"TWO"
"THREE"

This element tests schematron constraints that try to ensure the saneness of <defaultVal>

<blort3>
another completely spurious element made up for testing purposes only
This <constraintSpec> is invalid because it is missing @scheme in "add" mode. This rule never fires, 01 This <constraintSpec> is invalid because it is missing @scheme in "replace" mode. This rule never fires, 02. This <constraintSpec> is invalid because it has an <sch:report> that does not have a context (i.e., does not have a <sch:rule context="…">.) This rule never fires, 03.

<relation>

<abbr>
change of abbr for the sake of change (element gloss)
change of abbr for the sake of change (element desc)
@type
change of type for the sake of change (attr gloss)
change of type for the sake of change (attr desc)

change of abbr for the sake of change (remarks)

no target (2B caught by Schematron) good target absolute URI good target shorthand pointer bad target, two pointers (2B caught by Schematron)

<no_duplicate_attrs_1_valid>
Another completely spurious element made up for testing purposes only. For information on what is being tested, see <remarks>.
@bad
@good
@better
@best
@bad

Here we are testing the Schematron that tests for duplicate attribute definitions, i.e. no_duplicate_attrs.

This <attList> should be valid because although there are two @bad attributes defined as siblings, they have different namespaces.

Note that because this element is not a member of any model class nor in any other element’s content model, it will probably not show up in an output schema, which is a good thing, because defining an attribute twice like that is an error in at least RELAX NG and DTD.

<no_duplicate_attrs_1_invalid>
Another completely spurious element made up for testing purposes only. For information on what is being tested, see <remarks>.
@bad
@good
@better
@best
@bad

Here we are testing the Schematron that tests for duplicate attribute definitions, i.e. no_duplicate_attrs.

This <attList> should be invalid because there are two @bad attributes defined as siblings.

Note that because this element is not a member of any model class nor in any other element’s content model, it will probably not show up in an output schema, which is a good thing, because defining an attribute twice like that is an error in at least RELAX NG and DTD.

<no_duplicate_attrs_2_valid>
Another completely spurious element made up for testing purposes only. For information on what is being tested, see <remarks>.
@have
@fun
@fun
@fun
@til
@her
@daddy

Here we are testing the Schematron that tests for duplicate attribute definitions, i.e. no_duplicate_attrs.

This <attList> should be valid because, although there are three @fun attributes defined as siblings, they are in alternation with one another.

Note that because this element is not a member of any model class nor in any other element’s content model, it will probably not show up in an output schema.

<no_duplicate_attrs_3_invalid>
Another completely spurious element made up for testing purposes only. For information on what is being tested, see <remarks>.
@Your
@My
@spirit
@and
@my
@your
@voice
@in
@one
@combined
@The
@Phantom
@of
@the
@Opera
@is
@there
@Inside
@my
@your
@mind

Here we are testing the Schematron that tests for duplicate attribute definitions, i.e. no_duplicate_attrs.

This <attList> should be invalid because there are both two @my and two @your attributes defined, and although each is in an alternate group, the two @my attributes are not in alternation with one another (nor are the two @yours).

Note that the @Your vs @your and @The vs @the are not problems at all — XML is completely case sensitive, those are different attributes.

Note that because this element is not a member of any model class nor in any other element’s content model, it will probably not show up in an output schema, which is a good thing, because defining an attribute twice like that is an error in at least RELAX NG and DTD.

<no_duplicate_attrs_3_valid>
Another completely spurious element made up for testing purposes only. For information on what is being tested, see <remarks>.
@Your
@My
@spirit
@and
@my
@your
@voice
@in
@one
@combined
@The
@Phantom
@of
@the
@Opera
@is
@there
@Inside
@my
@your
@mind

Here we are testing the Schematron that tests for duplicate attribute definitions, i.e. no_duplicate_attrs.

This <attList> should be valid because although there are both two @my and two @your attributes defined that are not in alternation, they are in different namespaces.

Note that the @Your vs @your and @The vs @the are not problems at all — XML is completely case sensitive, those are different attributes.

Note that because this element is not a member of any model class nor in any other element’s content model, it will probably not show up in an output schema, which is a good thing, because defining an attribute twice like that is an error in at least RELAX NG and DTD.

<no_duplicate_attrs_4_invalid>
Another completely spurious element made up for testing purposes only. For information on what is being tested, see <remarks>.
@all
@the
@leaves
@are
@brown
@and
@the
@sky
@is
@gray

Here we are testing the Schematron that tests for duplicate attribute definitions, i.e. no_duplicate_attrs.

This <attList> should be invalid due to the two definitions of the @the attribute, which are not in alternation.

Note that because this element is not a member of any model class nor in any other element’s content model, it will probably not show up in an output schema, which is a good thing, because defining an attribute twice like that is an error in at least RELAX NG and DTD.

<test_elementRef_attr_constraints>
yet another completely spurious element made up for testing purposes only