v0.6
anyAtomicType
anyURI
anySimpleType
anyType
base64Binary
boolean
date
dateTime
dayTimeDuration
decimal
double
duration
gDay
gMonth
gMonthDay
gYear
gYearMonth
hexBinary
integer
QName
string
time
untyped
untypedAtomic
yearMonthDuration
byte
ENTITIES
ENTITY
float
ID
IDREF
int
language
long
Name
NCName
negativeInteger
NMTOKEN
nonNegativeInteger
nonPositiveInteger
normalizedString
NOTATION
positiveInteger
short
token
unsignedByte
unsignedInt
unsignedLong
unsignedShort
byte
ENTITIES
ENTITY
float
ID
IDREF
IDREFS
int
language
long
Name
NCName
negativeInteger
NMTOKEN
NMTOKENS
nonNegativeInteger
nonPositiveInteger
normalizedString
NOTATION
positiveInteger
short
token
unsignedByte
unsignedInt
unsignedLong
unsignedShort
ISO Schematron schema of W3C XML Schema
(with )
Schematron schema generated from XSD schema files by xsd2sch .
See http://www.topologi.com/ and http://www.schematron.com/
※ <xs:any> used inside
※ <xs:anyAttribute> used inside
※ <xs:union> used inside
※ <xs:list> used inside
Limitations The XSD schema had constructs that are not supported by this version of the schema.
These may cause results that are incorrect to some extent.
,
Multiple schemas define different URIs for prefix
=
=
================================
================================
PHASES
================================
================================
This active reference the pattern that check simpleTypes for namespace
This active reference the pattern that check Elements for namespace
This active reference the pattern that check Attributes for namespace
This active reference the pattern that check IDs_and_Keys for namespace
This is the Phase that has all patterns for namespace:.
(No namespace)
This active reference the pattern that check Simple_Types for namespace
This is the Phase that has all patterns for SimpleTypes.
This active reference the pattern that check Elements for namespace
This is the Phase that has all patterns for Elements.
This active reference the pattern that check Attributes for namespace
This is the Phase that has all patterns for Global Attributes.
This active reference the pattern that check ID Key REFS..
This is the Phase that has all patterns for ID Key REFS.
Pattern for checking for typos in element names.
Pattern for checking for typos in attribute names.
This phase has all the patterns for checking typos in names.
Pattern for checking for Expected in Elements names.
Pattern for checking for Expected in attribute names.
Pattern for checking for checking following siblings
This phase has all the patterns for checking Expected in names.
Pattern for checking for Required in Elements names.
Pattern for checking for Required in attribute names.
Pattern for checking when one element is always followed by another.
This phase has all the patterns for checking Required in names.
============================================================
============================================================
SIMPLE TYPES
============================================================
============================================================
============================================================
SIMPLE TYPES for NAMESPACE
============================================================
Simple Types constraints
This pattern implements XSD simple type validation
for the namespace: .
(which do not belong to any namespace.)
Element "" should have no text content.
Element "" should be completely empty (no XML comments, PIs, or elements).
Element "" should be completely empty (no XML comments, PIs).
============================================================
SIMPLE TYPES for NAMESPACE
DEREIVED FROM BUILT-IN TYPE
============================================================
============================================================
============================================================
ELEMENTS
============================================================
============================================================
============================================================
ELEMENTS target namespace
===========================================================
Element constraints for Namespaces:
Local declarations
Global declarations
Element constraints for elements in no namespace
Local declarations
Global declarations
============================================================
============================================================
Ref Global ATTRIBUTES
============================================================
============================================================
Attributes Ref Global Attributes constraints for Namespaces:
============================================================
============================================================
ID, IDREF, KEY and KEYREF
============================================================
============================================================
IDs, Keys and References
============================================================
============================================================
ELEMENT NAMES
============================================================
============================================================
Typos in Element Names
Elements alowed in Parent
============================================================
============================================================
Attributes NAMES
============================================================
============================================================
Typos in Attributes names
Attributes allowed on Parent
============================================================
============================================================
OCCURRENCE
============================================================
============================================================
Required Elements
Required Attributes
Allowed Followers
Required Immediate Followers (Simple)
============================================================
============================================================
DIAGNOSTICS
============================================================
============================================================
This content was found: "" or this element "".
This element was found: "" in "".
This attribute was found: "" on "".
This element was found: "" in "".
This attribute was found: "" on "".
This element was found: "".
This content was found: "".
Generating Diagnostics for xs:all/elements
"" elements were found
true
+++generating global attributes:
true
true
true
(. = "
")
or
The value of "" should be one of
,
. (It is of type "
".)
The value of "" is a simpleType ().
It should be longer than
The value of "" is a simpleType ().
It should be shorter than
The value of "" is a simpleType ().
It should be of length
WhiteSpace would be treated as 'preserve',
'replace' or 'collapse'
The counting doesn't include dot, leading and trailing zeros.
The maximum number of digits for
should be smaller than
The value for should be
bigger than
The value for should be
bigger than and equal with
The value for should be
smaller than
The value for should be
smaller than and equal with
or
The value for "" should match
the pattern:
one of patterns:
Processing the simpleType inside the xs:restriction
I don't know how to handle this kind of simple type yet. (simpleType inside the xs:restriction.) (Derivation by union or list)
true
This kind of attribute hasn't been checked, or don't need to check
(. = "
")
or
The value of "" should be one of
,
. (It is of type "".)
A simpleType
's value must be longer than
A simpleType
's value must be shorter than
A
length of this simpleType
's value must be
WhiteSpace would be 'preserve',
'replace' or 'collapse'
The maximum number of digits for ""
should smaller than
xsl:comment
The
value for "" should be bigger than
The value for "" should be bigger than or equal with
The
value for "" should be smaller than
The value for "" should be smaller than or equal with
This assertion check xs:pattern, xs:pattern could be more than
one, but the value is valid when one of them is matched.
or
The value for "" should match
the pattern:
one of patterns:
Global simpleType, that doesn't have xs:restriction and has list or union, hasn't been processed.
I don't know how to handle this kind of simple type yet. (Derivation by union or list)
Global simpleType, that doesn't have xs:restriction , hasn't been processed.
I don't know how to handle this kind of simple type yet.
======= Handle XS:ALL ========
check allowed elements
count(
)
+
= count(*)
The element "" can only have the following child elements:
,
.
check occurs for each elements
count() =
There should be of element ""
count() <=
There should be at most of element ""
count() >=
There should be at least of element ""
check elements sequence
true()
PROGRAMMING ERROR: trying to process an element reference.
I don't know how to handle this kind of element declaration yet. ()
:
/
@
@
@
@
==============================================
W3C XML SCHEMAS SIMPLE TYPES - PRIMITIVE TYPES
One abstract rule per type.
==============================================
"" elements or attributes should have value of type "
".
"" elements or attributes should have a value of type"
".
"" elements or attributes should have a value of type
"IDREFS".
"" elements or attributes should have value of type
"NMTOKENS".
==============================================
W3C XML SCHEMAS SIMPLE TYPES - END
==============================================
================================
PASS OK ELEMENT NAMES
================================
The element name "" is defined.
================================
FIND ELEMENT NAMES THAT ARE CLOSE
================================
The unexpected element "" has been used, which is close to an
element in the schema: the element ""
in the {} namespace.
================================
REPORT UNKNOWN ELEMENT NAMES
================================
Only elements declared in the schema may be used.
================================
CHECK CHILD ELEMENTS
================================
The "" element is allowed to appear under element "".
================================
CHECK GLOBAL ELEMENTS (ROOT)
================================
Because we already check all the elements that can appear in particular context,
global element declarations can be used for elements that can appear as the
root (or in wildcarded uses).
The "" element is allowed as the root element.
================================
REPORT ELEMENTS IN UNEXPECTED POSITIONS
================================
Elements are only allowed in the document in particular parent elements.
================================
CHECK REQUIRED ELEMENTS
================================
false
false
true
==
Element "" is required under element ""
================================
PASS OK ATTRIBUTE NAMES
================================
The attribute "" is allowed.
================================
REPORT UNKNOWN ATTRIBUTE NAMES
================================
Typo: Only attributes declared in the schema may be used.
================================
CHECK POSSIBLE ATTRIBUTES
================================
The attribute is allowed on element: .
The attribute "" is allowed under element "".
Only attributes declared in the schema may be used.
================================
CHECK REQUIRED ATTRIBUTES
================================
The attribute "" is required for element "".
The attribute "" is required for element "".
========================================
CHECK FOLLOWING ELEMENTS - PARTIAL ORDER
========================================
Partial ordering: Element B comes after element A if
1) They have same parent element (same content model) AND EITHER
2) B is in a repeating branch which has A under it OR
loosely ancestor-or-self::*[@maxOccurs > 1]//element
3) B is under a following particle of a sequence which has A under it.
loosely ancestor::sequence/following-sibling::*//element
Note that 2) and 3) are not mutually exclusive. (This may fall over
when the same element appears on multiple paths?)
This does not check requirement constraints.
/
No sequence constraints for element .
not (following-sibling::*) or (
following-sibling::*[1][name() ='']
following-sibling::*[1][name() ='']
or
)
When in a "" element, the element "" can only be followed
(perhaps with other elements intervening)
by the following elements:
,
When in a "" element, the element "" should not be
followed by any other element.
========================================================
CHECK FOLLOWING ELEMENTS - REQUIRED IMMEDIATELY FOLLOWING
========================================================
/
following-sibling::*[1][self::]
When in a "" element, the element "" should be immediately followed by
the element "".
================================
CHECK IDS
================================
//@
= .
or
An element with an ID matching the IDREF supplied by "" has not been found. IDREF: .
================================
DIAGNOSTICS FOR STANDARD DATATYPES
================================
Subsequent Siblings
"
" is not a value allowed for xs:
datatypes.