| Schematron |
<sch:rule context="tei:*[@source]">
<sch:let name="srcs"
value="tokenize( normalize-space(@source),' ')"/>
<sch:report test="( self::tei:classRef | self::tei:dataRef | self::tei:elementRef |
self::tei:macroRef | self::tei:moduleRef | self::tei:schemaSpec )
and $srcs[2]"> When used on a schema description element (like
<sch:value-of select="name(.)"/>), the @source attribute
should have only 1 value. (This one has <sch:value-of select="count($srcs)"/>.)
</sch:report>
</sch:rule> |
| Note | The source attribute points to an external source. When used on an element describing a schema component (<classRef>, <dataRef>, <elementRef>, <macroRef>, <moduleRef>, or <schemaSpec>), it identifies the source from which declarations for the components should be obtained. On other elements it provides a pointer to the bibliographical source from which a quotation or citation is drawn. In either case, the location may be provided using any form of URI, for example an absolute URI, a relative URI, a private scheme URI of the form tei:x.y.z, where x.y.z indicates the version number, e.g. tei:4.3.2 for TEI P5 release 4.3.2 or (as a special case) tei:current for whatever is the latest release, or a private scheme URI that is expanded to an absolute URI as documented in a <prefixDef>. When used on elements describing schema components, source should have only one value; when used on other elements multiple values are permitted. |