A URI Query Component Syntax (Normative)
Prev |  | Next

# A URI Query Component Syntax (Normative)

This Standard uses the URI syntax as defined in IETF RFC 3986 Uniform Resource Identifier (URI): Generic Syntax and extends it by specifying the syntax of the query component of DICOM URIs. The grammar for the query component is defined using IETF RFC 5234 Augmented BNF for Syntax Specifications: ABNF.

DICOM URIs may use the query component of the URI to specify request parameters. The following grammar defines the general syntax of parameters contained in the query component of the URI. Specific HTTP transactions defined elsewhere in this standard may further refine the legal <name> and/or <value> rules.

        query-component = parameter [ *("&" parameter) ]
        parameter       = name "="" value
        name            = *qchar
        value           = *qchar
        qchar           = unreserved / pct-encoded / qspecial
        qspecial        = "/" / "?" / ":" / "@" / "!" / "$" / "'"
                        / "(" / ")" / "*" / "+" / "," / ";"

The following rules are defined in IETF RFC3986 (Normative). They are reproduced here for convenience.

        unreserved     = ALPHA / DIGIT / "-" / "." / "_" / "~"
        pct-encoded    = "%" HEXDIG HEXDIG

### Note

1. This grammar allows the query component to contain any of the legal characters as defined by RFC 3986.

2. No whitespace is permitted in URIs. Whitespace around line breaks and the line breaks themselves should be stripped before parsing the URI (See RFC 3986 Appendix C).

3. RFC 3986 does not permit an empty query component, i.e. if the "?" appears in the URI then there must be some legal query parameters in the URI.

4. The <qchar> rule defined above is the <pchar> rule of RFC 3986, which defines the legal character for the query component, minus the characters "="" and "&".

Prev |  | Next
8.2.11 Transfer Syntax UID | Home | B Examples (Informative)