PN_LOCAL top-level property
168s
PN_LOCAL ::= (PN_CHARS_U | ':' | 0-9
| PLX) ((PN_CHARS | '.' | ':' | PLX)* (PN_CHARS | ':' | PLX))?
Note: Do not add trim() here as the local string should not contain any whitespaces.
Implementation
final PN_LOCAL = (PN_CHARS_U | string(':') | pattern('0-9') | PLX) &
((PN_CHARS | pattern(':.') | PLX).starGreedy(PN_CHARS | string(':') | PLX) &
(PN_CHARS | string(':') | PLX))
.repeat(0, 1);