<path>
<path> (path) defines any line passing through two or more points within a surface element. [11.1 Digital Facsimiles 11.2.2 Embedded Transcription] | |||||||||
Module | transcr — Representation of Primary Sources | ||||||||
Attributes |
|
||||||||
Member of | |||||||||
Contained by | |||||||||
May contain | Empty element | ||||||||
Note |
Although the simplest form of a path is a straight line between two points, a line with more than two points may bend at any point. The order of coordinates in points is significant, because the line follows the coordinate sequence. To specify a closed polygon, use the zone element rather than the path element. |
||||||||
Example |
<surface ulx="0" uly="0" lrx="443" lry="272">
<graphic url="facs-fig3.jpg"/> <path points="74,73 171,244"/> <path points="71,203 173,116"/> </surface> |
||||||||
Schematron | Since a path> represents a line with distinct start and end points, the last coordinate should
not be the same as the first coordinate.
<sch:rule context="tei:path[@points]"> <sch:let name="firstPair" value="tokenize( normalize-space( @points ), ' ')[1]"/> <sch:let name="lastPair" value="tokenize( normalize-space( @points ), ' ')[last()]"/> <sch:let name="firstX" value="xs:float( substring-before( $firstPair, ',') )"/> <sch:let name="firstY" value="xs:float( substring-after( $firstPair, ',') )"/> <sch:let name="lastX" value="xs:float( substring-before( $lastPair, ',') )"/> <sch:let name="lastY" value="xs:float( substring-after( $lastPair, ',') )"/> <sch:report test="$firstX eq $lastX and $firstY eq $lastY">The first and last elements of this path are the same. To specify a closed polygon, use the zone element rather than the path element. </sch:report> </sch:rule> |
||||||||
Content model |
<content> |
||||||||
Schema Declaration |
<rng:element name="path"> element path { att.global.attributes, att.global.rendition.attributes, att.global.linking.attributes, att.global.analytic.attributes, att.global.facs.attributes, att.global.change.attributes, att.global.responsibility.attributes, att.global.source.attributes, att.typed.attributes, att.written.attributes, att.coordinated.attribute.start, att.coordinated.attribute.ulx, att.coordinated.attribute.uly, att.coordinated.attribute.lrx, att.coordinated.attribute.lry, attribute points { list { teidata.point, teidata.point, teidata.point* } }?, empty } |