http://www.patrick-wied.at/static/xquery/prettify/
(: Took some of Mike Brevoort's xquery code samples because they are nice and show common xquery syntax :) (:~ : Given a sequence of version URIs, publish all of these versions of each document : If there is a version of the same document already published, unpublish it 1st : : When "publish" is referred to, we mean that it is put into the PUBLISHED collection : unpublish removes content from this collection : @param $version_uris - sequence of uris of versions of managed documents to publish :) declare function comoms-dls:publish($version_uris as item()*) { for $uri in $version_uris let $doc := fn:doc($uri) let $managed_base_uri := $doc/node()/property::dls:version/dls:document-uri/text() let $existing := comoms-dls:publishedDoc($managed_base_uri) let $unpublishExisting := if($existing) then comoms-dls:unpublishVersion((xdmp:node-uri($existing))) else () let $addPermissions := dls:document-add-permissions($uri, (xdmp:permission('mkp-anon', 'read'))) return dls:document-add-collections($uri, ("PUBLISHED")) }; declare function comoms-dls:publishLatest($uri) { (: TODO check if it's in the draft collection probably :) let $latest_version_uri := comoms-dls:latestVersionUri($uri) let $log:= xdmp:log(fn:concat("latest: ", $latest_version_uri)) let $log:= xdmp:log(fn:concat("uri: ", $uri)) return comoms-dls:publish($latest_version_uri) }; declare function comoms-dls:latestVersionUri($uri) { let $latest_version_num := ( for $version in dls:document-history($uri)/dls:version order by fn:number($version//dls:version-id/text()) descending return $version//dls:version-id/text() )[1] return dls:document-version-uri($uri, $latest_version_num) }; declare function comoms-dls:unpublish($uris as item()*) { for $uri in $uris return let $published_doc := comoms-dls:publishedDoc($uri) return if($published_doc) then let $published_version_uri := xdmp:node-uri($published_doc) return comoms-dls:unpublishVersion($published_version_uri) else () }; declare function comoms-dls:latestPublishedDocAuthor($uri) { let $author_id := doc($uri)/property::dls:version/dls:author/text() return if($author_id) then comoms-user:getUsername($author_id) else () }; (:~ : Given a sequence of version URIs, unpublish all of these versions of each document :) declare function comoms-dls:unpublishVersion($version_uris as item()*) { for $uri in $version_uris return let $removePermissions := dls:document-remove-permissions($uri, (xdmp:permission('mkp-anon', 'read'))) return dls:document-remove-collections($uri, ("PUBLISHED")) }; (:~ : Given the base URI of a managed piece of content, return the document of the node : of the version that is published :) declare function comoms-dls:publishedDoc($uri) { fn:collection("PUBLISHED")[property::dls:version/dls:document-uri = $uri] }; (:~ : Test if any version of the managed document is published :) declare function comoms-dls:isPublished($uri) { if( comoms-dls:publishedDoc($uri)) then fn:true() else fn:false() }; declare function comoms-dls:publishedState($uri) { let $doc := comoms-dls:publishedDoc($uri) let $published_uri := if($doc) then xdmp:node-uri($doc) else () let $latest := comoms-dls:latestVersionUri($uri) return if($doc) then if($latest ne $published_uri) then "stale" else "published" else "unpublished" }; declare function comoms-dls:getManagedDocUri($uri) { let $doc := fn:doc($uri) let $managed_uri := $doc/property::dls:version/dls:document-uri/text() let $managed_uri := if($managed_uri) then $managed_uri else $uri return $managed_uri }; (:~ : Given a manage content url (e.g. /content/123456.xml) return the appropriate : version of the document based on what stage collection is being viewed and : what's published : : @param $uri a manage content url (e.g. /content/123456.xml) - NOT A VERSIONED URI :) declare function comoms-dls:doc($uri) { let $doc := fn:root(comoms-dls:collection()[property::dls:version/dls:document-uri = $uri][1]) return if($doc) then $doc else let $managedDocInCollection := comoms-dls:collection-name() = xdmp:document-get-collections($uri) return if($managedDocInCollection) then fn:doc($uri) else () }; (:~ : Get the collection to be used when querying for content : THIS or comoms-dls:collection-name() SHOULD BE USED WHEN BUILDING ANY QUERY FOR MANAGED CONTENT :) declare function comoms-dls:collection() { fn:collection( comoms-dls:collection-name() ) }; (:~ : Get the collection nameto be used when querying for content : THIS or comoms-dls:collection() SHOULD BE USED WHEN BUILDING ANY QUERY FOR MANAGED CONTENT :) declare function comoms-dls:collection-name() as xs:string { let $default_collection := "PUBLISHED" return if(comoms-user:isAdmin()) then let $pub_stage_collection_cookie := comoms-util:getCookie("COMOMS_COLLECTION") return if($pub_stage_collection_cookie) then $pub_stage_collection_cookie else $default_collection else $default_collection }; (:~ : Check if the published collection is being viewed :) declare function comoms-dls:isViewingPublished() { if(comoms-dls:collection-name() = "PUBLISHED") then fn:true() else fn:false() }; (:~ : Get the best URL for the content URI. : This is either the default URI based on detail type or should also take : into account friendly urls and navigation structures to figure out the : best choice :) declare function comoms-dls:contentUrl($uri) { (: TODO: add friendly URL and nav structure logic 1st :) let $doc := fn:doc($uri) let $managedDocUri := $doc/property::dls:version/dls:document-uri let $uri := if($managedDocUri) then $managedDocUri else $uri let $type := $doc/node()/fn:name() let $content_id := fn:tokenize( fn:tokenize($uri, "/")[3], "\.")[1] return fn:concat("/", $type, "/", $content_id) }; (: : : gets list of doc versions and uri. : :) declare function comoms-dls:versionHistory($uri) { let $published_doc := comoms-dls:publishedDoc($uri) let $published_uri := if($published_doc) then xdmp:node-uri($published_doc) else () return <versions> { for $version in dls:document-history($uri)/dls:version let $version_num := $version/dls:version-id/text() let $created := $version/dls:created/text() let $author_id := $version/dls:author/text() let $author := comoms-user:getUsername($author_id) let $note := $version/dls:annotation/text() let $version_uri := xdmp:node-uri(dls:document-version($uri, $version_num)) let $published := $published_uri eq $version_uri return <version> <version-number>{$version_num}</version-number> <created>{$created}</created> <author>{$author}</author> <published>{$published}</published> <version-uri>{$version_uri}</version-uri> </version> } </versions> }; (: ########################################################################### :) (: PRIVATE FUNCTIONS :) (: ########################################################################### :) declare function comoms-dls:_import() { "xquery version '1.0-ml'; import module namespace dls = 'http://marklogic.com/xdmp/dls' at '/MarkLogic/dls.xqy'; " }; (: ---- ---- :) xquery version '1.0-ml'; declare variable $URI as xs:string external; declare function local:document-move-forest($uri as xs:string, $forest-ids as xs:unsignedLong*) { xdmp:document-insert( $uri, fn:doc($uri), xdmp:document-get-permissions($uri), xdmp:document-get-collections($uri), xdmp:document-get-quality($uri), $forest-ids ) }; let $xml := <xml att="blah" att2="blah"> sdasd<b>asdasd</b> </xml> (: -------- :) for $d in fn:doc("depts.xml")/depts/deptno let $e := fn:doc("emps.xml")/emps/emp[deptno = $d] where fn:count($e) >= 10 order by fn:avg($e/salary) descending return <big-dept> { $d, <headcount>{fn:count($e)}</headcount>, <avgsal>{fn:avg($e/salary)}</avgsal> } </big-dept> (: -------- :) declare function local:depth($e as node()) as xs:integer { (: A node with no children has depth 1 :) (: Otherwise, add 1 to max depth of children :) if (fn:empty($e/*)) then 1 else fn:max(for $c in $e/* return local:depth($c)) + 1 }; local:depth(fn:doc("partlist.xml")) (: -------- :) <html><head/><body> { for $act in doc("hamlet.xml")//ACT let $speakers := distinct-values($act//SPEAKER) return <div>{ string($act/TITLE) }</h1> <ul> { for $speaker in $speakers return <li>{ $speaker }</li> } </ul> </div> } </body></html> (: -------- :) { for $book in doc("books.xml")//book return if (contains($book/author/text(),"Herbert") or contains($book/author/text(),"Asimov")) then $book else $book/text() let $let := <x>"test"</x> return element element { attribute attribute { 1 }, element test { 'a' }, attribute foo { "bar" }, fn:doc()[ foo/@bar eq $let ], //x } } (: -------- :) <bib> { for $b in doc("http://bstore1.example.com/bib.xml")/bib/book where $b/publisher = "Addison-Wesley" and $b/@year > 1991 return <book year="{ $b/@year }"> { $b/title } </book> } </bib> (: -------- :)
class Set ['a] { mutable storage : list ['a] = []; public Add (e : 'a) : void { when (! Contains (e)) storage ::= e; } public Contains (e : 'a) : bool { storage.Contains (e) } } def s1 = Set (); s1.Add (3); s1.Add (42); assert (s1.Contains (3)); // s1.Add ("foo"); // error here! def s2 = Set (); s2.Add ("foo"); assert (s2.Contains ("foo"));
% resume.tex % vim:set ft=tex spell: \documentclass[10pt,letterpaper]{article} \usepackage[letterpaper,margin=0.8in]{geometry} \usepackage{mdwlist} \usepackage[T1]{fontenc} \usepackage{textcomp} \pagestyle{empty} \setlength{\tabcolsep}{0em}
#! /bin/bash # toascii.sh for i in $(echo $* | fold -w 1);do printf "%x " \'$i; done; echo
<script type="text/javascript"> <!-- var target = $$.css('backgroundImage').replace(/^url[\(\)'"]/g, ''); // nice long chain: wrap img element in span $$.wrap('<span style="position: relative;"></span>') --> </script>
; Clojure test comment (ns test (:gen-class)) (def foo "bar") (defn bar [arg1 arg2 & args] "sample function" (for [arg args] (prn arg))) (bar "foo" "bar" "blah" :baz)
The text is specified to be lisp by the class attribute. Semicolon is normally a valid punctuation character but in lisp it is a comment so should be colored as a comment if the className is being properly parsed.
; foo
The language is attached to a CODE element inside a PRE.
; foo
The language is attached to a CODE element inside a PRE and there is space between the PRE element's tags and CODE element's tags.
; foo
The below is not treated as lisp despite there being a lisp language specifier on the contained CODE element, the CODE element does not wrap all non-space content.
before CODE
; foo
"No tag backs."
static Persistent<String> listeners_symbol;
part of myLib; part 'something.dart'; import 'dart:math' as test show foo, bar; class Point { final num x, y; Point(this.x, this.y); Point.zero() : x = 0, y = 0; // Named constructor // with an initializer list. num distanceTo(Point other) { var dx = x - other.x; var dy = y - other.y; return sqrt(dx * dx + dy * dy); } } // This is a single-line comment. /* This is a multiline comment. */ main() { Point p = new Point(7, 12); String thing = 'It\'s awesome!'; String thing2 = ''' This is a test! \''' This is the end of the test'''; String thing3 = r""" This is a raw multiline string!"""; num x = 0x123ABC; num y = 1.8e-12; bool flag = false; String raw = r"This is a raw string, where \n doesn't matter"; }