Skip to content

Commit

Permalink
Merge pull request #849 from ndw/iss-847
Browse files Browse the repository at this point in the history
847 Allow uri-structure-record keys to have empty sequence values
  • Loading branch information
ndw authored Dec 12, 2023
2 parents fbb5cda + b42d454 commit dd06201
Show file tree
Hide file tree
Showing 2 changed files with 18 additions and 16 deletions.
30 changes: 16 additions & 14 deletions specifications/xpath-functions-40/src/function-catalog.xml
Original file line number Diff line number Diff line change
Expand Up @@ -19,18 +19,18 @@

<fos:type id="uri-structure-record">
<fos:record extensible="true">
<fos:field name="uri" type="xs:string" required="false"/>
<fos:field name="scheme" type="xs:string" required="false"/>
<fos:field name="hierarchical" type="xs:boolean" required="false"/>
<fos:field name="authority" type="xs:string" required="false"/>
<fos:field name="userinfo" type="xs:string" required="false"/>
<fos:field name="host" type="xs:string" required="false"/>
<fos:field name="port" type="xs:string" required="false"/>
<fos:field name="path" type="xs:string" required="false"/>
<fos:field name="query" type="xs:string" required="false"/>
<fos:field name="fragment" type="xs:string" required="false"/>
<fos:field name="path-segments" type="array(xs:string)" required="false"/>
<fos:field name="query-parameters" type="array(record(key? as xs:string, value? as xs:string, *))" required="false"/>
<fos:field name="uri" type="xs:string?" required="false"/>
<fos:field name="scheme" type="xs:string?" required="false"/>
<fos:field name="hierarchical" type="xs:boolean?" required="false"/>
<fos:field name="authority" type="xs:string?" required="false"/>
<fos:field name="userinfo" type="xs:string?" required="false"/>
<fos:field name="host" type="xs:string?" required="false"/>
<fos:field name="port" type="xs:string?" required="false"/>
<fos:field name="path" type="xs:string?" required="false"/>
<fos:field name="query" type="xs:string?" required="false"/>
<fos:field name="fragment" type="xs:string?" required="false"/>
<fos:field name="path-segments" type="xs:string*" required="false"/>
<fos:field name="query-parameters" type="map(xs:string, xs:string*)?" required="false"/>
</fos:record>
</fos:type>

Expand Down Expand Up @@ -28616,8 +28616,10 @@ path with an explicit <code>file:</code> scheme.</p>
</fos:option>
</fos:options>

<p>The components are derived from the contents of the <code>$parts</code>
map in the following way:</p>
<p>The components are derived from the contents of the
<code>$parts</code> map. To simplify the description below, a
value is considered to be present in the map if the relevant
field exists and is non-empty.</p>

<p>If the <code>scheme</code> key is present in the map,
the URI begins with the value of that key. A URI is considered to be
Expand Down
4 changes: 2 additions & 2 deletions specifications/xpath-functions-40/src/xpath-functions.xml
Original file line number Diff line number Diff line change
Expand Up @@ -3394,12 +3394,12 @@ It is recommended that implementers consult <bibref ref="UNICODE-TR18"/> for inf
<code>http://example.com/path/to/a%2fb</code>.
The path portion has to be returned as <code>/path/to/a%2fb</code> because
decoding the <code>%2f</code> would change the nature of the path.
The unescaped form is easily accessible from the <code>path-segments</code> array:</p>
The unescaped form is easily accessible from <code>path-segments</code>:</p>

<eg>("", "path", "to", "a/b")</eg>

<p>Note that the presence or absence of a leading slash on the path
will affect whether or not the array begins with an empty string.</p>
will affect whether or not the sequence begins with an empty string.</p>

<p>The query parameters are decoded into a map. Consider the URI:
<code>http://example.com/path?a=1&amp;b=2%264&amp;a=3</code>.
Expand Down

0 comments on commit dd06201

Please sign in to comment.