ds-caselaw-marklogic-api-client 27.0.1__py3-none-any.whl → 27.2.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,8 +1,38 @@
1
1
  xquery version "1.0-ml";
2
2
 
3
+ declare namespace xdmp = "http://marklogic.com/xdmp";
4
+ declare namespace cts = "http://marklogic.com/cts";
5
+ declare namespace uk = "https://caselaw.nationalarchives.gov.uk/akn";
6
+ import module namespace helper = "https://caselaw.nationalarchives.gov.uk/helper" at "/judgments/search/helper.xqy";
7
+
3
8
  declare variable $show_unpublished as xs:boolean? external;
4
9
  declare variable $uri as xs:string external;
5
10
  declare variable $version_uri as xs:string? external;
11
+ declare variable $search_query as xs:string? external;
12
+
13
+ (: Note that `xsl:output method` is changed from `html` to `xml` and we've namespaced the tag :)
14
+ let $number_marks_xslt := (
15
+ <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
16
+ xmlns:uk="https://caselaw.nationalarchives.gov.uk/akn"
17
+ version="2.0">
18
+ <xsl:output method="xml" />
19
+ <xsl:template match="@*|node()">
20
+ <xsl:copy>
21
+ <xsl:apply-templates select="@*|node()"/>
22
+ </xsl:copy>
23
+ </xsl:template>
24
+ <xsl:template match="uk:mark">
25
+ <xsl:copy>
26
+ <xsl:copy-of select="@*" />
27
+ <xsl:attribute name="id">
28
+ <xsl:text>mark_</xsl:text>
29
+ <xsl:value-of select="count(preceding::uk:mark)"/>
30
+ </xsl:attribute>
31
+ <xsl:apply-templates />
32
+ </xsl:copy>
33
+ </xsl:template>
34
+ </xsl:stylesheet>
35
+ )
6
36
 
7
37
  let $judgment := fn:document($uri)
8
38
  let $version := if ($version_uri) then fn:document($version_uri) else ()
@@ -11,11 +41,26 @@ let $is_published := $judgment_published_property/text()
11
41
 
12
42
  let $document_to_return := if ($version_uri) then $version else $judgment
13
43
 
14
- let $return_value := if ($show_unpublished) then
44
+
45
+ let $raw_xml := if ($show_unpublished) then
15
46
  $document_to_return
16
47
  else if (xs:boolean($is_published)) then
17
48
  $document_to_return
18
49
  else
19
50
  ()
20
51
 
21
- return $return_value
52
+ (: If a search query string is present, highlight instances :)
53
+ let $transformed := if($search_query) then
54
+ xdmp:xslt-eval(
55
+ $number_marks_xslt,
56
+ cts:highlight(
57
+ $raw_xml,
58
+ helper:make-q-query($search_query),
59
+ <uk:mark>{$cts:text}</uk:mark>
60
+ )
61
+ )
62
+ else
63
+ $raw_xml
64
+
65
+
66
+ return $transformed
@@ -64,6 +64,7 @@ class GetComponentsForDocumentDict(MarkLogicAPIDict):
64
64
 
65
65
  # get_judgment.xqy
66
66
  class GetJudgmentDict(MarkLogicAPIDict):
67
+ search_query: Optional[str]
67
68
  show_unpublished: Optional[bool]
68
69
  uri: MarkLogicDocumentURIString
69
70
  version_uri: Optional[MarkLogicDocumentVersionURIString]
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: ds-caselaw-marklogic-api-client
3
- Version: 27.0.1
3
+ Version: 27.2.0
4
4
  Summary: An API client for interacting with the underlying data in Find Caselaw.
5
5
  Home-page: https://github.com/nationalarchives/ds-caselaw-custom-api-client
6
6
  Keywords: national archives,caselaw
@@ -24,6 +24,7 @@ Requires-Dist: python-dateutil (>=2.9.0-post.0,<3.0.0)
24
24
  Requires-Dist: pytz (>=2024.1,<2025.0)
25
25
  Requires-Dist: requests (>=2.28.2,<3.0.0)
26
26
  Requires-Dist: requests-toolbelt (>=0.10.1,<1.1.0)
27
+ Requires-Dist: saxonche (>=12.5.0,<13.0.0)
27
28
  Requires-Dist: typing-extensions (>=4.7.1,<5.0.0)
28
29
  Description-Content-Type: text/markdown
29
30
 
@@ -1,15 +1,16 @@
1
- caselawclient/Client.py,sha256=9tNNo_-qNxIn5E3OUJLg3apVvUie8VfyRfPmnzeqc-0,40182
1
+ caselawclient/Client.py,sha256=WKDQaN4b3J3m2pzYdvK4t1MmbeVS9pbtTfqcEH1K-RU,40464
2
2
  caselawclient/__init__.py,sha256=DY-caubLDQWWingSdsBWgovDNXh8KcnkI6kwz08eIFk,612
3
3
  caselawclient/client_helpers/__init__.py,sha256=fyDNKCdrTb2N0Ks23YDhmvlXKfLTHnYQCXhnZb-QQbg,3832
4
4
  caselawclient/client_helpers/search_helpers.py,sha256=R99HyRLeYHgsw2L3DOidEqlKLLvs6Tga5rKTuWQViig,1525
5
5
  caselawclient/content_hash.py,sha256=0cPC4OoABq0SC2wYFX9-24DodNigeOqksDxgxQH_hUA,2221
6
6
  caselawclient/errors.py,sha256=tV0vs3wYSd331BzmfuRiZV6GAdsd91rtN65ymRaSx3s,3164
7
- caselawclient/factories.py,sha256=WkymzhT2Hh9RwJUh2OjjgI110Td4eDzWKFdNVATImCQ,5197
7
+ caselawclient/factories.py,sha256=wTGGP8VyUME2gwbnuYE2uC5PdCdJ2PXF9gEET3U9CZg,4356
8
8
  caselawclient/models/__init__.py,sha256=kd23EUpvaC7aLHdgk8farqKAQEx3lf7RvNT2jEatvlg,68
9
- caselawclient/models/documents/__init__.py,sha256=EwfkYMr5HnmdtxijKwU6AV27Y4JAmobdNHL9Cp--bBs,16624
10
- caselawclient/models/documents/body.py,sha256=0o8qL7oJ40VikNAgqS41phQyB8Jtfz93eK1KyR4k3F0,4791
9
+ caselawclient/models/documents/__init__.py,sha256=uNjmmNKAthBmB6RSNlmJPir3E2MGrYkcP17iEY-xtkk,17100
10
+ caselawclient/models/documents/body.py,sha256=mtdjmG1WU2qSpyRLS8-PWcSoXpDa2Qz6xlcTbxZgxvA,5603
11
11
  caselawclient/models/documents/exceptions.py,sha256=Mz1P8uNqf5w6uLnRwJt6xK7efsVqtd5VA-WXUUH7QLk,285
12
12
  caselawclient/models/documents/statuses.py,sha256=Cp4dTQmJOtsU41EJcxy5dV1841pGD2PNWH0VrkDEv4Q,579
13
+ caselawclient/models/documents/transforms/html.xsl,sha256=oSSO-IBX4qLiSWexQYmWJfGNevF09aCBx4D1NYqXxpo,38322
13
14
  caselawclient/models/documents/xml.py,sha256=afEsgcnTThqW_gKYq-VGtFr4ovOoT2J7h2gXX7F8BbE,1267
14
15
  caselawclient/models/judgments.py,sha256=SuCNtOD4LElp37df4dvhaD0umTowioWH0sZNmBgFsoE,1739
15
16
  caselawclient/models/neutral_citation_mixin.py,sha256=5ktKCPIDidVRwxVTzx5e242O1BxOdP--1dnatZyTbYI,1773
@@ -36,7 +37,7 @@ caselawclient/xquery/get_combined_stats_table.xqy,sha256=cclNqSzIB6sX6A_hgVOFZon
36
37
  caselawclient/xquery/get_components_for_document.xqy,sha256=qh_F56XEDyVKMIaN4J1fskcjYK3Mc6JR8ARGwS2b0lw,768
37
38
  caselawclient/xquery/get_highest_enrichment_version.xqy,sha256=a0dwVmEZuIMyRjIlvenSmbOaaN0WvgaCZvMtVWoLulQ,247
38
39
  caselawclient/xquery/get_highest_parser_version.xqy,sha256=LW3iSg4eWArbfBaCVWWOpr4MoUcDBz514nV48ElOsAM,247
39
- caselawclient/xquery/get_judgment.xqy,sha256=xg66A1xslgwds670gu_9DFcOmxYGoo8sA2EDoKbz0Co,715
40
+ caselawclient/xquery/get_judgment.xqy,sha256=8V-sEFKmtpf2LIZD9QKVRfpblEsmDpP4BA6QztSCyHA,2216
40
41
  caselawclient/xquery/get_judgment_checkout_status.xqy,sha256=mdY9UXLyzQdB7byEERPqentlr0YDLbXRVqH0h4UuZTQ,193
41
42
  caselawclient/xquery/get_judgment_version.xqy,sha256=wF9k9-CBrqo8VbxxyTrD-AGzR3-3jMm25tRVCjxPLrU,292
42
43
  caselawclient/xquery/get_last_modified.xqy,sha256=8fCm_7o_kkytCEmEeSTLWzLP7iOjuPV01IfHDgf6HaQ,172
@@ -64,8 +65,8 @@ caselawclient/xquery/validate_all_documents.xqy,sha256=z_0YEXmRcZ-FaJM0ouKiTjdI4
64
65
  caselawclient/xquery/validate_document.xqy,sha256=PgaDcnqCRJPIVqfmWsNlXmCLNKd21qkJrvY1RtNP7eA,140
65
66
  caselawclient/xquery/xslt.xqy,sha256=w57wNijH3dkwHkpKeAxqjlghVflQwo8cq6jS_sm-erM,199
66
67
  caselawclient/xquery/xslt_transform.xqy,sha256=smyFFxqmtkuOzBd2l7uw6K2oAsYctudrP8omdv_XNAM,2463
67
- caselawclient/xquery_type_dicts.py,sha256=YOrXbEYJU84S-YwergCI12OL5Wrn_wpqMcqWpsQrKek,5590
68
- ds_caselaw_marklogic_api_client-27.0.1.dist-info/LICENSE.md,sha256=fGMzyyLuQW-IAXUeDSCrRdsYW536aEWThdbpCjo6ZKg,1108
69
- ds_caselaw_marklogic_api_client-27.0.1.dist-info/METADATA,sha256=gN0HbwNyMc1ZTW2zYZYjA2q9E7-qkqrjDKQaDvqbBB0,4189
70
- ds_caselaw_marklogic_api_client-27.0.1.dist-info/WHEEL,sha256=7Z8_27uaHI_UZAc4Uox4PpBhQ9Y5_modZXWMxtUi4NU,88
71
- ds_caselaw_marklogic_api_client-27.0.1.dist-info/RECORD,,
68
+ caselawclient/xquery_type_dicts.py,sha256=papUzI0k_8l987IpBXwACpnlL4GU1UX1cLt83HpAgds,5622
69
+ ds_caselaw_marklogic_api_client-27.2.0.dist-info/LICENSE.md,sha256=fGMzyyLuQW-IAXUeDSCrRdsYW536aEWThdbpCjo6ZKg,1108
70
+ ds_caselaw_marklogic_api_client-27.2.0.dist-info/METADATA,sha256=Aoc0502BWIboWQBs72vD4FHlRAqBZ-V3jVlRn51zO64,4232
71
+ ds_caselaw_marklogic_api_client-27.2.0.dist-info/WHEEL,sha256=7Z8_27uaHI_UZAc4Uox4PpBhQ9Y5_modZXWMxtUi4NU,88
72
+ ds_caselaw_marklogic_api_client-27.2.0.dist-info/RECORD,,