### 19.7. `Taxon.childKey()`: Derive a child's taxonomic key

nomcompile3
```# - - -   T a x o n . c h i l d K e y

def childKey ( self, childRank ):
'''What .shortTxKey will the next child have?
'''
```

The child's short key consists of the concatenation of: the parent's short key; zeroes for any missing ranks between the parent and child rank; and the child's birth order plus one, left-zero-padded to the correct length for the child's rank. We'll build a list of these pieces, then concatenate them to return the result.

nomcompile3
```        #-- 1 --
result = [ self.shortTxKey ]
```

For the function that returns the key length for each rank, see Section 15.7, “`Hier.keyLen()`: Find the key length for a given depth”.

nomcompile3
```        #-- 2 --
# [ result  +:=  (strings containing N zero digits, where
#       N is the sum of the key lengths for all ranks
#       between self.rank and childRank) ]
for deepx in range ( self.rank.depth+1, childRank.depth ):
result.append ( '0' * self.hier.keyLen(deepx) )

#-- 3 --
# [ result  +:=  (len(self)+1) as a string, zero-padded
#                to the key length for childRank ]
result.append ( str(len(self)+1).rjust ( childRank.keyLen,
'0' ) )

#-- 4 --
return ''.join(result)
```