Return to List

Information

Sep 24, 2020 by Smith Kennedy
Printer Working Group
PWG 5101.2-2004: PWG RepertoireSupported Element
Add rule to ABNF to support additional specificity extensions

Smith Kennedy Sep 24, 2020

The existing ABNF is this:

repertoire      = rep-prefix "_" rep-name

rep-prefix      = "unicode" /               ; from Code Chart titles
                                            ; of Unicode/4.0 char database
                  "iana" /                  ; from Name or Alias fields in
                                            ; IANA Charset Registry
                  "vendor"                  ; from vendor-specific
                                            ; repertoire names

rep-name        = rep-alpha *(rep-char)
rep-char        = rep-alpha / rep-digit /   ; alphanumeric or
                  "-" / "." / "_"           ; limited punctuation chars
rep-alpha       = %x61-7A                   ; lowercase a-z
rep-digit       = %x30-39                   ; decimal 0-9

The "job-password-repertoire" suite of IPP attributes use a variant of the ABNF defined in 5101.2, but that contains an extension rule to allow for additional information to be specified. Update the ABNF to include an additional optional rule "rep-ext" like so:

repertoire      = rep-prefix "_" rep-name ["_" rep-ext]

rep-prefix      = "unicode" /               ; from Code Chart titles
                                            ; of Unicode/4.0 char database
                  "iana" /                  ; from Name or Alias fields in
                                            ; IANA Charset Registry
                  "vendor"                  ; from vendor-specific
                                            ; repertoire names

rep-name        = rep-alpha *(rep-char)
rep-ext         = rep-alpha *(rep-char)

rep-char        = rep-alpha / rep-digit /   ; alphanumeric or
                  "-" / "." / "_"           ; limited punctuation chars
rep-alpha       = %x61-7A                   ; lowercase a-z
rep-digit       = %x30-39                   ; decimal 0-9