Syntax
Below follows the syntax for an SDT reference:
<SDT_Reference> ::=
`#SDTREF' `('
( <SDT_GR_Ref> | <SDT_Textfile_Ref>
| <SDT_MSC_Ref> | <SDT_HMSC_Ref> | <SDT_OM_Ref>
| <SDT_SC_Ref> )
`)'
<SDT_GR_Ref> ::=
`SDL' `,' <FileName>
[ `(' <PageName> `)' ]
[ `,' <ObjectId> [ <Object_Coordinates> ]
[ `,' <LineNumber> [ `,' <Column> ] ] ]
<SDT_Textfile_Ref> ::=
`TEXT' `,' <FileName>
[ `,' <LineNumber> [ `,' <Column> ] ]
<SDT_MSC_Ref> ::=
`MSC' `,' <FileName>
[ `,' <ObjectId>
[ `,' <LineNumber> [ `,' <Column> ] ] ]
<SDT_HMSC_Ref> ::=
`HMSC' `,' <FileName>
[ `(' <PageName> `)' ]
[ `,' <ObjectId> [ <Object_Coordinates> ]
[ `,' <LineNumber> [ `,' <Column> ] ] ]
<SDT_OM_Ref> ::=
`OM' `,' <FileName>
[ `(' <PageName> `)' ]
[ `,' <ObjectId> [ <Object_Coordinates> ]
[ `,' <LineNumber> [ `,' <Column> ] ] ]
<SDT_SC_Ref> ::=
`SC' `,' <FileName>
[ `(' <PageName> `)' ]
[ `,' <ObjectId> [ <Object_Coordinates> ]
[ `,' <LineNumber> [ `,' <Column> ] ] ]
<FileName> ::=
File name
<PageName> ::=
name of a page according to SDT 3.X rules
<ObjectId> ::=
integer, unique id for object
<Object_Coordinates> =
`(` <x-coord> `,' <y-coord> `)'
<x-coord> ::=
x coordinates in mm from upper left corner
<y-coord> ::=
y coordinates in mm from upper left corner
<LineNumber> ::=
line number within symbol or file
<Column> ::=
column within the line