Skip to content

Commit fdbdf5d

Browse files
authored
Merge pull request package-url#583 from jkowalleck/fix/spec-parse-order
fix: parse PURL for name/namespace
2 parents 555bdf5 + ba7e0d8 commit fdbdf5d

File tree

1 file changed

+4
-6
lines changed

1 file changed

+4
-6
lines changed

docs/how-to-parse.md

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ To parse a `purl` string in its components:
4141
- The left side lowercased is the `scheme`
4242
- The right side is the `remainder`
4343

44-
- Strip all leading and trailing '/' characters (e.g., '/', '//', '///' and
44+
- Strip all leading '/' characters (e.g., '/', '//', '///' and
4545
so on) from the `remainder`
4646

4747
- Split this once from left on '/'
@@ -55,20 +55,18 @@ To parse a `purl` string in its components:
5555
- UTF-8-decode the `version` if needed in your programming language
5656
- This is the `version`
5757

58-
- Split the `remainder` once from right on '/'
58+
- Strip all trailing '/' characters (e.g., '/', '//', '///' and
59+
so on) from the `remainder`
5960

61+
- Split this once from right on '/'
6062
- The left side is the `remainder`
61-
- Strip all leading characters (e.g., '/', '//' and so on)
62-
from the right side
6363
- Percent-decode the right side. This is the `name`
6464
- UTF-8-decode this `name` if needed in your programming language
6565
- Apply type-specific normalization to the `name` if needed
6666
- This is the `name`
6767

6868
- Split the `remainder` on '/'
6969

70-
- Strip all leading '/' characters (e.g., '/', '//' and so on)
71-
from that split
7270
- Discard any empty segment from that split
7371
- Percent-decode each segment
7472
- UTF-8-decode each segment if needed in your programming language

0 commit comments

Comments
 (0)