The URI encoding of context instance identifiers is used to display associated contexts within DPWS discovery messages. Context identifiers will be passed as Scopes, and therefore have to be encoded as URIs.
Segment ::= segment-nz [(segment-non-zero) as defined in "3.3. Path" from IETF 3986 (https://www.ietf.org/rfc/rfc3986.txt)]
Query ::= query [as defined in "3.4. Query" from IETF 3986 (https://www.ietf.org/rfc/rfc3986.txt)]
Scheme ::= 'sdc.ctxt.' ('loc' | 'pat' | 'ens' | 'wfl' | 'opr' | 'mns')
NullFlavorRoot ::= Scheme '.null'
Root ::= NullFlavorRoot | Segment
Extension ::= Segment?
InstanceIdentifier ::= '/' Root '/' Extension
ContextUri ::= Scheme ':' InstanceIdentifier ('?' Query)?
If there is no instance identifier assigning authority, it is possible derive location context identifiers from location detail by using the following EBNF.
Scheme ::= 'sdc.ctxt.loc'
Root ::= 'sdc.ctxt.loc.detail'
Facility ::= Segment
Building ::= Segment
PointOfCare ::= Segment
Floor ::= Segment
Room ::= Segment
Bed ::= Segment
Delim ::= '%2F' | '%2f'
Extension ::= ((Facility)? Delim (Building)? Delim (Floor)? Delim (PointOfCare)? Delim (Room)? Delim (Bed)?) - '' // at least 1 entry with 1 character needed to build a sensible value!
QueryItem ::= ('fac=' Facility) | ('bldng=' Building) | ('poc=' PointOfCare) | ('flr=' Floor) | ('rm=' Room) | ('bed=' Bed)
Query ::= (QueryItem ('&' QueryItem)*)?
Example: sdc.ctxt.loc:/sdc.ctxt.loc.detail/%2FBuilding1%2F%2FCareUnit6%2F%2FBed23
Ticket moved from /p/opensdc/p11073-20701-content-gathering/1/