@@ -418,7 +418,7 @@ To parse a ``purl`` string in its components:
418418 - The left side lowercased is the ``scheme ``
419419 - The right side is the ``remainder ``
420420
421- - Strip all leading '/' characters (e.g., '/', '//', '///' and
421+ - Strip all leading and trailing '/' characters (e.g., '/', '//', '///' and
422422 so on) from the ``remainder ``
423423
424424 - Split this once from left on '/'
@@ -432,18 +432,20 @@ To parse a ``purl`` string in its components:
432432 - UTF-8-decode the ``version `` if needed in your programming language
433433 - This is the ``version ``
434434
435- - Strip all trailing '/' characters (e.g., '/', '//', '///' and
436- so on) from the ``remainder ``
435+ - Split the ``remainder `` once from right on '/'
437436
438- - Split this once from right on '/'
439437 - The left side is the ``remainder ``
440- - Percent-decode the right side.
438+ - Strip all leading characters (e.g., '/', '//' and so on)
439+ from the right side
440+ - Percent-decode the right side. This is the ``name ``
441441 - UTF-8-decode this ``name `` if needed in your programming language
442442 - Apply type-specific normalization to the ``name `` if needed
443443 - This is the ``name ``
444444
445445- Split the ``remainder `` on '/'
446446
447+ - Strip all leading '/' characters (e.g., '/', '//' and so on)
448+ from that split
447449 - Discard any empty segment from that split
448450 - Percent-decode each segment
449451 - UTF-8-decode each segment if needed in your programming language
0 commit comments