I'm quite sure that the question will need refinement, but wasn't able to better articulate my confusion in one sentence:
DocBook 5.2: The Definitive Guide, section 1.1. A Short DocBook History states that
Starting with DocBook V5.0, DocBook is exclusively an XML vocabulary defined with RELAX NG and Schematron.
According to Wikipedia on RELAX NG, it is a "schema language for XML—a RELAX NG schema specifies a pattern for the structure and content of an XML document".
Schematron on the other hand "is a rule-based validation language for making assertions about the presence or absence of patterns in XML trees. It is a structural schema language expressed in XML."
So both are schema languages, but
RELAX NG is used to define a vocabulary (which is kind of a domain-specific language expressed with tags(?); a semantic markup language in the case of DocBook) for creating XML documents
Schematron is used to validate XML documents based on their associated XML schemas (using
jing
for example, I guess?)
I assumed based on the DocBook wikipedia line
[DocBook v5.x] is formally defined by a RELAX NG schema with integrated Schematron rules
that there is a relationship between them. Also, does this imply that a RELAX NG XML schema is not flexible enough to contain all the rules to use it to validate a document?
Probably missing something fundamental: found the question RelaxNG vs XML schema, but I truly thought that one creates XML schemas with RELAX NG, so the question doesn't makes sense to me, even after reading the answers...
Related
- Schematron
- (github) SchXslt [ʃˈɛksl̩t] – An XSLT-based Schematron processor
- https://github.com/topics/schematron
- Schematron: validating XML using XSLT
- (stackoverflow) Validating XML with Schematron
- (stackoverflow) command line validator supporting relax ng Schemas with embedded iso Schematron
- (stackoverflow) How to check that attributes are unique with RelaxNG?
- (oxygen docs) Embedding Schematron Rules in XML Schema or RELAX NG