Skip to content

Instantly share code, notes, and snippets.

View joewiz's full-sized avatar

Joe Wicentowski joewiz

  • Arlington, Virginia
View GitHub Profile
@joewiz
joewiz / CompareTools.plist
Last active February 28, 2023 05:25
Add oXygen as Diff & Merge Tool for Git Tower
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN"
"http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<array>
<dict>
<key>ApplicationIdentifier</key>
<string>ro.sync.exml.DiffDirs</string>
<key>ApplicationName</key>
<string>Diff Directories</string>
@joewiz
joewiz / 01-levenshtein-distance.xq
Last active July 5, 2022 17:18
Calculate Levenshtein Distance, using XQuery
xquery version "3.1";
(:~
Calculate Levenshtein Distance, using XQuery
@author Guillaume Mella
@see http://apps.jmmc.fr/~mellag/xquery/levenshtein/2018/01/19/xquery-levenshtein-distance/
:)
declare function local:levenshtein-distance($string1 as xs:string?, $string2 as xs:string?)
as xs:integer
@joewiz
joewiz / adaptive-serialization.xq
Created September 15, 2018 23:05
Boilerplate for declaring Adaptive serialization in XQuery
xquery version "3.1";
declare namespace output="http://www.w3.org/2010/xslt-xquery-serialization";
declare option output:method "adaptive";
declare option output:indent "yes";
map { "reference": xs:anyURI("https://www.w3.org/TR/xslt-xquery-serialization-31/#adaptive-output") }
@joewiz
joewiz / date-parser.xqm
Created August 26, 2018 16:01
Parse various formats of date strings, in XQuery
xquery version "3.1";
(:
Various Date String Parser
- Parses various flavors of date strings, returns as xs:dateTime or xs:date
- Key functions: dates:parseDateTime() and dates:parseDate()
- Adapted by Joe Wicentowski from
https://github.com/marklogic-community/commons/blob/master/dates/date-parser.xqy
- Adapted to standard XQuery (instead of the MarkLogic 0.9-ml flavor)
- TODO: test against https://github.com/marklogic-community/commons/blob/master/dates/date-parser-tests.xqy
@joewiz
joewiz / create-travels-tsv.xq
Last active March 14, 2019 13:39
Generate a TSV of Travels of President and Secretary of State
xquery version "3.1";
(: Generate a TSV of Travels of President and Secretary of State.
: Assumes https://github.com/HistoryAtState/travels has been installed.
:)
(:~
: A function for constructing a TSV (tab-separated value) file
:
: @param A sequence of column headings
@joewiz
joewiz / entities.xqm
Last active August 9, 2022 16:00
Look up HTML character entities and convert references to XML-compatible characters in XQuery
xquery version "3.1";
(:~ A module containing a lookup table, in the form of a map, for HTML entities
: that aren't defined in XML, and a function for converting HTML entities in
: strings to the appropriate characters. Look up characters via map lookup:
:
: $entities:entities?ograve?character => ò
:
: @author Joe Wicentowski
: @see https://en.wikipedia.org/wiki/List_of_XML_and_HTML_character_entity_references#Character_entity_references_in_HTML
@joewiz
joewiz / gaps-between-principals-appointments.xq
Created April 27, 2018 21:00
Gaps between appointments of Principal Officers
xquery version "3.1";
declare namespace output = "http://www.w3.org/2010/xslt-xquery-serialization";
declare option output:method "html5";
declare option output:media-type "text/html";
let $title := "Gaps between appointments of Principal Officers"
let $min-gap := xs:dayTimeDuration("P30D")
let $positions := collection("/db/apps/pocom/positions-principals")/principal-position[not(id = ("ambassador-at-large", "career-ambassador"))]
@joewiz
joewiz / 01-generate-function-signatureTests.xq
Last active June 24, 2022 21:08 — forked from dizzzz/functionSignatureTests.xquery
A script to generate function-signature-tests for xquery functions in eXist-db
xquery version "3.1";
declare namespace fos="http://www.w3.org/xpath-functions/spec/namespace";
declare function local:writeHeader() as xs:string {
'
xquery version "3.1";
module namespace xqfunctions="http://exist-db.org/xquery/test/xqfunctions";
@joewiz
joewiz / README.md
Last active June 24, 2022 21:08
A report showing function signature mismatches in eXist's implementation of the XPath & XQuery functions & operators spec
@joewiz
joewiz / README.md
Last active January 9, 2018 17:26
Full text proximity search of Cyrillic text encoded in TEI XML using eXist-db

This gist was prompted by a question on the eXist-open mailing list. See http://markmail.org/message/zudf7qp4pqjx6xhi.

To run these files:

  • Download this gist as a .zip file
  • Uncompress the .zip file
  • Create collection /db/test in eXist
  • Upload the contents of the zip file into the /db/test collection
  • Reindex /db/test with xmldb:reindex("/db/test")
  • Run /db/test/test.xq