a repository for materials related to teaching and writing on technologies of up-conversion and project development with the XML family of languages, featuring regex, XPath, XQuery, XSLT, and Schematron.
The link to older versions of the course on the Resources page, which currently points to the 2018 version, is broken. Additionally, we should move those links to the bottom of the page, since they're likely to be less in demand than information about where to learn more.
The second variable is misnamed and should be declare variable $Chas as document-node() := doc('https://raw.githubusercontent.com/ebeshero/UpTransformation/master/data/Charles1.xml');
======================================
#### XQuery flow control (1:30 p.m.–4:00 p.m.)
Review XPath for loops; sequence and range variables
b. Find all persons listed as born in Scotland in two ways: with a for loop and as a one-line XPath path expression. for $i in //person[contains(birth, "Scotland")] return $i or //person[contains(birth, "Scotland")]. You should return 30 elements.
@djbpitt My idea at dinner was this:
In the template matching the parent of <rs>, after the shallow copy of itself, we check each child node from the first child and then each following sibling for our requisite condition.
When it does not match that condition, we shallow copy and apply templates to the next following sibling.
If it is an <rs> that meets our condition, we apply templates and start a new template rule to process its following siblings until they fail to match our condition.
In the template rule for the parent of <rs>, in the when condition that defines a match to our requisite condition, we apply templates only to the next following sibling that FAILS to match our requisite condition.
We need to reconstruct our syllabus to conform with the DHSI 2023 Timetable: https://dhsi.org/timetable/Action on @djbpitt to get us started with the requisite revisions to the XML, the Schematron, perhaps the XProc.
Action @ebeshero to contact the DHSI participants with the oXygen license and information about eXist, and invitation to tell us about their projects via form.
Action on @ebeshero to create a Slack for the course with a bunny logo
We can specify that users who don't have Java can get easy-to-install binaries at https://adoptopenjdk.net/. Aside from all of the other reasons to prefer open source, OpenJDK doesn’t require registration, which Oracle does.
Windows users who install the win-zip distribution of eXist-db may not know whether they have Java or not, so our instructions should include information about how to check.
Make it easier and more semantically meaningful to navigate from the top level between collapsed vs. expanded view. All lists should be ordered lists. (Change XSLT and JS accordingly.)
<xsl:result-document> and <xsl:message> are useful for "micropipeline" processes to send out intermediary files or posts during processing--and almost certainly would be beneficial for up-conversion.
<xsl:message> : writes a message to standard error (which can be read in oXygen's lower left tabs).