<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 | ||||||||
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 | element path { tei_att.global.attributes, tei_att.coordinated.attribute.start, tei_att.coordinated.attribute.ulx, tei_att.coordinated.attribute.uly, tei_att.coordinated.attribute.lrx, tei_att.coordinated.attribute.lry, tei_att.typed.attributes, tei_att.written.attributes, attribute points { list { teidata.point, teidata.point, teidata.point* } }?, empty } |