<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 | att.global (@xml:id, @n, @xml:lang, @xml:base, @xml:space) (att.global.rendition (@rend, @style, @rendition)) (att.global.linking (@corresp, @synch, @sameAs, @copyOf, @next, @prev, @exclude, @select)) (att.global.analytic (@ana)) (att.global.facs (@facs)) (att.global.change (@change)) (att.global.responsibility (@cert, @resp)) (att.global.source (@source)) att.typed (@type, @subtype) att.written (@hand) att.coordinated (points, @start, @ulx, @uly, @lrx, @lry)
| ||||||||
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 | <sch:rule context="tei:path[@points]"> <!-- For a <path> element, we should ensure that the last coordinate does not repeat the first coordinate, otherwise we have a closed polygon, not a path. --> <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 } |