From 56cf99aeaf385a1928f7e16bf9fd85e7c6bfcf9e Mon Sep 17 00:00:00 2001
From: Stefano Zacchiroli <zack@upsilon.cc>
Date: Fri, 24 Apr 2020 16:56:47 +0200
Subject: [PATCH] SWHID: deal with escaping in origin qualifiers

---
 docs/persistent-identifiers.rst | 16 ++++++++++------
 1 file changed, 10 insertions(+), 6 deletions(-)

diff --git a/docs/persistent-identifiers.rst b/docs/persistent-identifiers.rst
index 6f1fa590..29a481e9 100644
--- a/docs/persistent-identifiers.rst
+++ b/docs/persistent-identifiers.rst
@@ -163,19 +163,23 @@ the ``<identifier_with_context>`` entry point of the grammar:
   <identifier_with_context> ::= <identifier> [ <qualifierlist> ]
   <qualifierlist> := <qualifier> [ <qualifierlist> ]
   <qualifier> ::= <origin_ctxt> | <visit_ctxt> | <anchor_ctxt> | <path_ctxt> |<lines_ctxt>
-  <origin_ctxt> ::= ";" "origin" "=" <url>
+  <origin_ctxt> ::= ";" "origin" "=" <url_escaped>
   <visit_ctxt> ::= ";" "visit" "=" <identifier>
   <anchor_ctxt> ::= ";" "anchor" "=" <identifier>
   <path_ctxt> ::= ";" "path" "=" <path_absolute_escaped>
   <lines_ctxt> ::= ";" "lines" "=" <line_number> ["-" <line_number>]
   <line_number> ::= <dec_digit> +
-  <url> ::= (* RFC 3986 compliant URLs *)
+  <url_escaped> ::= (* RFC 3986 compliant URLs, percent-escaped *)
   <path_absolute_escaped> ::= (* RFC 3986 compliant absolute file path, percent-escaped *)
 
-Here ``<path_absolute_escaped>`` is the ``<path_absolute>`` in `Section 3.3 of
-RFC 3986 <https://tools.ietf.org/html/rfc3986#section-3.3>`_ where all
-occurrences of ``;`` and ``%`` must be percent-encoded (as `%3B` and `%25`
-respectively).
+Where:
+
+- ``<path_absolute_escaped>`` is the ``<path_absolute>`` in `Section 3.3 of RFC
+  3986 <https://tools.ietf.org/html/rfc3986#section-3.3>`_, where all
+  occurrences of ``;`` and ``%`` have been percent-encoded (as `%3B` and `%25`
+  respectively)
+- ``<url_escaped>`` is a RFC 3987 compliant URL, where all occurrences of ``;``
+  and ``%`` have been percent-encoded (as `%3B` and `%25` respectively)
 
 
 Semantics
-- 
GitLab