Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Many tutorial draft improvements #23

Merged
merged 31 commits into from
Jan 31, 2025
Merged

Conversation

wendellpiez
Copy link
Collaborator

Committer Notes

Many glitches in exposition corrected, with some polishing.

Responding to @galm feedback (thanks!)

All Submissions:

  • Follow Contributing guidelines
  • Make no changes duplicating or conflicting with other open Pull Requests
  • Pass all CI/CD checks

Changes to Core Features:

  • The Issue history, discussions and new documentation provide context for new features -- everything is reasonably self-explanatory and linked
  • New tests and examples are included
  • File listings have been updated for validation and XSpec under CI/CD
  • Readme and TESTING documents have been updated

@wendellpiez wendellpiez changed the title Many improvements Many tutorial draft improvements Jan 3, 2025
Copy link

github-actions bot commented Jan 3, 2025

XSpec Test Results

18 tests  ±0   18 ✅ ±0   0s ⏱️ ±0s
 7 suites ±0    0 💤 ±0 
 4 files   ±0    0 ❌ ±0 

Results for commit fb80add. ± Comparison against base commit bb76ea1.

♻️ This comment has been updated with latest results.

@wendellpiez
Copy link
Collaborator Author

wendellpiez commented Jan 31, 2025

The tutorial is still very much a draft publication thanks!

@wendellpiez
Copy link
Collaborator Author

wendellpiez commented Jan 31, 2025

NB this commit includes some HTML XProc 'sketches' i.e. XProc step declarations rendered via HTML grids into 'stepwise' patterns.

For example: https://html-preview.github.io/?url=https://github.com/usnistgov/oscal-xproc3/blob/18e785550ad45bf964458483db026ed0d9ca8ec3/projects/xproc-doc/sketches/PROVE-XSD-VALIDATIONS-sketch.html

This is a sketch of the PROVE-XSD-VALIDATIONS pipeline in the repository.

This doesn't yet show the connections between steps - I'm thinking about that.

Copy link
Collaborator

@galtm galtm left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I didn't look at all the files in this large PR, but I looked at the files where you were responding to my feedback. Thanks! I'll try to look at some of the new material, too, but whenever you are otherwise ready to merge this PR, don't wait for me.


Additional ideas:
Files to be tested using Schematron or XSpec executable are listed in the FILESET pipelines:
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Great. This is a good place to mention the FILESET pipelines.


<p:store href="www/FM_6-22-fulltext.html" serialization="map{ 'method': 'html' }" message="[OSCAL-WEBPUB_FM_6-22] p:store: www/FM_6-22-fulltext.html ..."/>

<!-- implicit p:sink as we start with new source port -->
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Useful comment

Comment on lines 25 to 26
<!-- NB - A Schematron error comes back as soon as this is out of line with /*/@type i.e. the file name
- starting the @message with { $prefix } silences the error, but please reset $prefix -->
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't understand this comment. What does it mean to reset $prefix?

VERSION=3.0.0-alpha14
RELEASES=https://github.com/xmlcalabash/xmlcalabash3/releases/download

# Acquiring, for example, https://github.com/xmlcalabash/xmlcalabash3/releases/download/3.0.0-alpha9/xmlcalabash-3.0.0-alpha5.zip
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I know this is just an example, but I think you meant to make the alpha numbers the same instead of 9 vs. 5.

@@ -59,7 +59,7 @@ If for any reason you can't run XProc or Java, post us an Issue and the dev team

### Observer Track

For everyone including the "hands off" researchers including subject experts, managers and programmers who want to see how XProc works and understand its capabilities, without planning to develop XProc pipelines or write code.
This track is for everyone but most especially for researchers including subject experts, managers and developers who want to see how XProc works and understand its capabilities, but who do not plan to build XProc pipelines or write code. Maybe you need to understand it so you can help develop and test against requirements.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I like the new sentence you added at the end.

Comment on lines -74 to +76
The biggest challenge to developers coming to XProc will often be in how much XML, XPath, XQuery, or XSLT do you know. Even developers who have no prior exposure to the XML stack should be able to use the Maker track to test and develop skills. Those who do have prior experience will, it is hoped, find it to be an accelerant, while XProc itself is a launchpad. It should be possible to start from zero.
XProc is intimately tied to XML (syntax), XDM (data model), XPath (for queries and pattern-matching) and a host of related 'X' technologies developed over decades at W3C and elsewhere. Those who have prior experience with XML and XSLT will find much that is familiar along with what is new, but even developers who are not XML specialists should be able to use the Maker track to test and develop skills. If XML is the rocket, your data is the fuel and XProc is the launchpad. It should be possible to start from zero, and with a model rocket.

The expectation is that unlike Observers, Makers will be interested in tracebacks and error messages - and will wish sometimes to produce them deliberately - if only out of curiosity and need-to-know. As a Maker, you are confident that you can put things back well enough or that any damage is well contained.
The expectation is that unlike Observers, Makers will be interested in tracebacks and error messages, and will wish sometimes to produce them deliberately if only to see what happens. As a Maker, you are confident that you can put things back well enough or that any damage is well contained.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice changes here.

@@ -25,15 +25,25 @@ You will also need a programmer's plain text editor, XML/XSLT editor or IDE (int

Same as [Setup 101](acquire_101.md).

Also see [the set of XProc worksheets](../../worksheets/) collected so far for this tutorial.

## Step Zero: XProc steps
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This new step zero is great! It clarifies things that were so mysterious to me when I looked at XProc code before learning the mental model.

Because it is now centered on *pipelines* built out of combining capabilities of *steps* (which may be black boxes), as much as on files and software packages, dependency management when using XProc is different from other technologies including Java and NodeJS – how so?
Dependency management when using XProc is different from other technologies including Java and Javascript/NodeJS – how so? Because it is now centered on *pipelines* built out of combining capabilities of *steps* (which may be black boxes), as much as on files and software packages. Arguably, XProc blurs the distinction between code you write, and libraries you use, in a useful way – while presenting its own challenges.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Clearer now.

@wendellpiez
Copy link
Collaborator Author

Thanks for the quick feedback @galtm, see next commit.

@wendellpiez wendellpiez merged commit 0038caf into usnistgov:main Jan 31, 2025
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants