| ## Text Encoding Initiative
### The XML Version of the TEI Guidelines # <step>

`<step>` | (step) specifies one component of a canonical reference defined by the ‘stepwise’ method.
Attributes | (In addition to global attributes)
`refunit` | (reference unit) names the unit (book, chapter, canto, verse, ...) identified by this step in a canonical reference.
| Datatype: CDATA
| Values: any string of characters; typically a word or phrase in some natural language.
| Default: #IMPLIED
Note | The provision of this attribute helps make the structure of the canonical reference much clearer. Its use is strongly recommended.
`length` | specifies the fixed length of the reference component.
| Datatype: CDATA
| Values: Should be a positive integer; if no value is provided, the length is unlimited and goes to the next delimiter or to the end of the value.
| Default: #IMPLIED
Note | When constructing a reference, if the reference component found is of numeric type, the length is made up by inserting leading zeros; if it is not, by inserting trailing blanks. In either case, reference components are truncated if necessary at the right hand side. When seeking a reference, the length indicates the number of characters which should be compared. Values longer than this will be regarded as matching, if they start correctly.
`delim` | supplies a delimiting string following the reference component.
| Datatype: CDATA
| Values: If a single space is used it is interpreted as whitespace
| Default: #IMPLIED
`from` | specifies the starting point of the area referred to by this step in the canonical reference.
| Datatype: %extPtr;
| Values: a valid expression in the TEI extended pointer notation documented in section 14.2 Extended Pointers.
| Default: #REQUIRED
`to` | specifies the ending point of the area referred to by this step in the canonical reference.
| Datatype: %extPtr;
| Values: a valid expression in the TEI extended pointer notation documented in section 14.2 Extended Pointers.
| Default: DITTO

Example

    <step refunit="book" delim=":" from="CHILD (1 DIV1 N %1)"/>

Note

With two differences, the extended pointer expressions given as values for the `from` and `to` attributes behave like those given for the corresponding attributes of an extended pointer element like `<xptr>`. First: unlike normal extended pointer expressions, those on a `<step>` element can contain references to tokens in the canonical reference string itself, expressed as `%1`, `%2`, etc. Second: the initial location source for the first step is the root of the document, as for normal extended pointers. The initial location source for subsequent steps, however, is the result of the previous step, not the root.

Module Declared in file teihdr2; Core tag sets: enabled when any TEI base is enabled
May occur within refsDecl
Declaration

    <!ELEMENT step %om.RO; EMPTY>
    <!ATTLIST step
          %a.global;
          refunit CDATA #IMPLIED
          length CDATA #IMPLIED
          delim CDATA #IMPLIED
          from %extPtr; #REQUIRED
          to %extPtr; "DITTO">

See further 5.3.5.3 Milestone Method; 5.3.5 The Reference System Declaration; 5.3.5.2 Stepwise Method

Up: 35 Elements