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

Norm is testing CI, ignore this #280

Closed
wants to merge 3 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 9 additions & 4 deletions .github/workflows/build-prs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ jobs:
tag: ${{ steps.check_step.outputs.tag }}
steps:
- name: Checkout
uses: actions/checkout@v3
uses: actions/checkout@v4
with:
fetch-depth: 0

Expand Down Expand Up @@ -53,7 +53,7 @@ jobs:

steps:
- name: Get the pull request
uses: actions/checkout@v3
uses: actions/checkout@v4
with:
ref: ${{ github.event.pull_request.head.sha }}

Expand All @@ -63,7 +63,7 @@ jobs:
rsync -ar ./src/ /tmp/pr-sources/

- name: Checkout
uses: actions/checkout@v3
uses: actions/checkout@v4

- name: Update sources
run: rsync -var /tmp/pr-sources/ ./src/
Expand All @@ -75,7 +75,12 @@ jobs:
- name: Setup DeltaXML
if: ${{ env.AUTODIFF == 'true' }}
run: |
curl -s ${{ secrets.DIFFURI }} | openssl enc -aes-256-cbc -salt -pbkdf2 -d -k ${{ secrets.DIFFPW }} | tar zxf -
cd tools && curl -s ${{ secrets.DIFFURI }} | openssl enc -aes-256-cbc -salt -pbkdf2 -d -k ${{ secrets.DIFFPW }} | tar zxf -

- name: Look around
run: |
ls
ls tools

- name: Make DeltaXML diffs
if: ${{ env.AUTODIFF == 'true' }}
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/build-specs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,7 @@ jobs:
- name: Setup DeltaXML
if: ${{ env.AUTODIFF == 'true' }}
run: |
curl -s ${{ secrets.DIFFURI }} | openssl enc -aes-256-cbc -salt -pbkdf2 -d -k ${{ secrets.DIFFPW }} | tar zxf -
cd tools && curl -s ${{ secrets.DIFFURI }} | openssl enc -aes-256-cbc -salt -pbkdf2 -d -k ${{ secrets.DIFFPW }} | tar zxf -

- name: Make DeltaXML diffs
if: ${{ env.AUTODIFF == 'true' }}
Expand Down
51 changes: 27 additions & 24 deletions src/ixml-specification.html
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@
</head>

<body>

<header>
<h1 id="specification">Invisible XML Specification</h1>
<h2>Community Group Editorial Draft, <!--$date=-->2024-03-19<!--$--></h2>
Expand Down Expand Up @@ -56,9 +57,11 @@ <h2>Community Group Editorial Draft, <!--$date=-->2024-03-19<!--$--></h2>
in <a href="ixml.ixml" download="ixml.ixml">ixml</a> or
<a href="ixml.xml" download="ixml.xml">XML</a> format.</p>

<p><em>Dedicated to the memory of C. Michael Sperberg-McQueen</em></p>

</header>

<h2 id="status">Status</h2>
<h2 id="status"><a href="#status">Status</a></h2>

<p>This document describes ixml version 1.0++, a work in progress.
It reflects corrections to errata found in the published text of ixml
Expand Down Expand Up @@ -100,7 +103,7 @@ <h2 id="status">Status</h2>
</ul>
</div>

<h2 id="introduction">Introduction</h2>
<h2 id="introduction"><a href="#introduction">Introduction</a></h2>

<p>Data is an abstraction: there is no essential difference between the JSON</p>
<pre>{"temperature": {"scale": "C", "value": 21}}</pre>
Expand Down Expand Up @@ -217,7 +220,7 @@ <h2 id="introduction">Introduction</h2>
&lt;/object&gt;
&lt;/json&gt;</pre>

<h2 id="works">How it works</h2>
<h2 id="works"><a href="#works">How it works</a></h2>

<p>A grammar is used to describe the input format. An input is parsed using
this grammar, and the resulting parse tree is serialized as XML. Special marks
Expand Down Expand Up @@ -319,7 +322,7 @@ <h2 id="works">How it works</h2>
&lt;path&gt;/TR/1999/xhtml.html&lt;/path&gt;
&lt;/url&gt;</pre>

<h2 id="grammar">The Grammar</h2>
<h2 id="grammar"><a href="#grammar">The Grammar</a></h2>

<p>Here we describe the format of the grammar used to describe documents. Note
that it is in its own format, and therefore describes itself.</p>
Expand Down Expand Up @@ -349,7 +352,7 @@ <h2 id="grammar">The Grammar</h2>
-cchar: ~["{}"].
</pre>

<h3 id="prolog">Prolog</h3>
<h3 id="prolog"><a href="#prolog">Prolog</a></h3>

<p>The optional prolog declares the version of ixml being used.</p>

Expand Down Expand Up @@ -385,7 +388,7 @@ <h3 id="prolog">Prolog</h3>
it <span class="conform">should not</span> include an <code>ixml:version</code> attribute.
The ixml namespace URI is "<code class="nobreak">http://invisiblexml.org/NS</code>".</p>

<h3 id="rules">Rules</h3>
<h3 id="rules"><a href="#rules">Rules</a></h3>

<p>A rule consists of a naming, and one or more alternatives. The
grammar here uses colons to define rules; an equals sign is also allowed.</p>
Expand All @@ -395,7 +398,7 @@ <h3 id="rules">Rules</h3>
<p>A naming consists of an optional mark, a name, and an optional
alias:</p>

<pre class="frag ixml">-naming: (mark, s)?, name, s, ("&gt;", s, alias, s)?.</pre>
<pre class="frag ixml">-naming: (mark, s)?, name, s, (-"&gt;", s, alias, s)?.</pre>

<p>A mark is one of <code></code><code>^, @</code> or <code>-</code>, and
indicates whether the item so marked will be serialized as an element with its
Expand Down Expand Up @@ -464,7 +467,7 @@ <h3 id="rules">Rules</h3>
<code>a!a#a</code>, <code>a#a#a</code> etc.</p>
<pre class="frag ixml">sep: factor.</pre>

<h3 id="nonterminals">Nonterminals</h3>
<h3 id="nonterminals"><a href="#nonterminals">Nonterminals</a></h3>

<p>A nonterminal is a naming:</p>
<pre class="frag ixml">nonterminal: naming.</pre>
Expand All @@ -475,7 +478,7 @@ <h3 id="nonterminals">Nonterminals</h3>
S02</a>), and there <span id="ref-s03" class="conform">must</span> only be one
such rule (<a class="error" href="#err-s03">error S03</a>).</p>

<h3 id="terminals">Terminals</h3>
<h3 id="terminals"><a href="#terminals">Terminals</a></h3>

<p>A terminal is a literal or a set of characters. It matches characters in the
input. A terminal marked as deleted (-) serializes to the empty string.</p>
Expand Down Expand Up @@ -526,7 +529,7 @@ <h3 id="terminals">Terminals</h3>
@hex: ["0"-"9"; "a"-"f"; "A"-"F"]+.
</pre>

<h3 id="characters">Character sets</h3>
<h3 id="characters"><a href="#characters">Character sets</a></h3>

<p>A character set is an inclusion or an exclusion: an inclusion matches one
character in the input that is in the set, an exclusion matches one character
Expand Down Expand Up @@ -581,14 +584,14 @@ <h3 id="characters">Character sets</h3>
-capital: ["A"-"Z"].
-letter: ["A"-"Z"; "a"-"z"].</pre>

<h3 id="insertions">Insertions</h3>
<h3 id="insertions"><a href="#insertions">Insertions</a></h3>

<p>An insertion is a string or hex proceeded by a plus <code>+</code>. An
insertion matches zero characters in the input, and only appears in the
serialization.</p>
<pre class="frag ixml">insertion: -"+", s, (string; -"#", hex), s.</pre>

<h2 id="parsing">Parsing</h2>
<h2 id="parsing"><a href="#parsing">Parsing</a></h2>

<p>The root symbol of the grammar is the name of the first rule in the
grammar. Processors <span class="conform">may</span> provide a user option
Expand Down Expand Up @@ -628,7 +631,7 @@ <h2 id="parsing">Parsing</h2>
it failed; it <span class="conform">may</span> be a partial parse tree that
includes parts of the parse that succeeded.</p>

<h2 id="serialisation">Serialization</h2>
<h2 id="serialisation"><a href="#serialisation">Serialization</a></h2>

<p>If the parse succeeds, the resulting parse-tree is serialized as XML by
serializing the root node of the parse tree.</p>
Expand Down Expand Up @@ -669,7 +672,7 @@ <h2 id="serialisation">Serialization</h2>
referred-to rule, if it has one, and otherwise the name of the node,
</li>
<li>value is the serialization of all non-deleted terminal
descendants of the node (regardless of the marking of intermediate
descendants, and all insertion descendents, of the node (regardless of the marking of intermediate
nonterminals), if any, in order.</li>
</ul>
</li>
Expand Down Expand Up @@ -775,7 +778,7 @@ <h2 id="serialisation">Serialization</h2>
&lt;value&gt;+400&lt;/value&gt;
&lt;/data&gt;</pre>

<h2 id="conformance">Conformance</h2>
<h2 id="conformance"><a href="#conformance">Conformance</a></h2>

<p><em>In this specification, the verb "must" expresses unconditional
requirements for conformance to the specification; the verb "should" expresses
Expand All @@ -787,7 +790,7 @@ <h2 id="conformance">Conformance</h2>
and for processors; it cannot be claimed for input streams or input + grammar
pairs.</p>

<h3 id="grammarconformance">Conformance of grammars</h3>
<h3 id="grammarconformance"><a href="#grammarconformance">Conformance of grammars</a></h3>

<p>An ixml grammar in ixml form conforms to this specification if it is
described by the grammar given in this specification, and it satisfies all the
Expand Down Expand Up @@ -820,14 +823,14 @@ <h3 id="grammarconformance">Conformance of grammars</h3>
class="conform">must</span> be well-formed XML.</li>
</ul>

<h3 id="processorconformance">Conformance of processors</h3>
<h3 id="processorconformance"><a href="#processorconformance">Conformance of processors</a></h3>

<p>A conforming processor <span class="conform">must</span> accept grammars in
ixml form, and <span class="conform">should</span> accept grammars in XML form;
it <span class="conform">must not</span> accept non-conforming grammars. Both
grammars and input <span class="conform">must</span> be accepted in UTF-8
encoding, and <span class="conform">may</span> be accepted in other
encodings.</p>
encodings. There is no conformance requirement on which version of Unicode is used.</p>

<p>For any conforming grammar and any input, under normal operation: </p>
<ul>
Expand Down Expand Up @@ -872,7 +875,7 @@ <h3 id="processorconformance">Conformance of processors</h3>
used.</li>
</ul>

<h2 id="hints">Hints for Implementers</h2>
<h2 id="hints"><a href="#hints">Hints for Implementers</a></h2>

<p>Many parsing algorithms only mention terminals and nonterminals, and don't
explain how to deal with the repetition constructs used in ixml. However, these
Expand Down Expand Up @@ -917,7 +920,7 @@ <h2 id="hints">Hints for Implementers</h2>
to be unhelpful. See [<a href="#serialization">Serialization</a>] for
detailed discussions.</p>

<h2 id="complete">Complete Grammar</h2>
<h2 id="complete"><a href="#complete">Complete Grammar</a></h2>

<p>The <a href="ixml.ixml.html">complete grammar</a> for ixml:</p>

Expand All @@ -936,7 +939,7 @@ <h2 id="ixml">IXML in XML</h2>
<pre class="completexml">A summary of the XML grammar is
inserted here by the build process.</pre>

<h2 id="errors">Errors</h2>
<h2 id="errors"><a href="#errors">Errors</a></h2>

<p>This section summarizes errors identified in this specification. Static
errors are errors that can be identified by inspecting the grammar.</p>
Expand Down Expand Up @@ -1002,7 +1005,7 @@ <h2 id="errors">Errors</h2>
to appear in a namespace, they <span class="conform">should</span> be in the
Invisible XML namespace.</p>

<h2 id="references">References</h2>
<h2 id="references"><a href="#references">References</a></h2>

<p id="unicode">[Unicode] The Unicode Consortium (ed.), <em>The Unicode
Standard — Version 13.0</em>. Unicode Consortium, 2020, ISBN
Expand All @@ -1022,7 +1025,7 @@ <h2 id="references">References</h2>
Language (XML) 1.0 (Fifth Edition)</em>, W3C, 2008, <a
href="https://www.w3.org/TR/xml/">https://www.w3.org/TR/xml/</a></p>

<h2 id="informational">Informational References</h2>
<h2 id="informational"><a href="#informational">Informational References</a></h2>

<p id="cyk">[CYK] Sakai, Itiroo. <em>Syntax in universal translation</em>. In
1961 International Conference on Machine Translation of Languages and Applied
Expand Down Expand Up @@ -1060,7 +1063,7 @@ <h2 id="informational">Informational References</h2>
<a href="https://en.wikipedia.org/wiki/C0_and_C1_control_codes"
>https://en.wikipedia.org/wiki/C0_and_C1_control_codes</a>.</p>

<h2 id="acknowledgments">Acknowledgements</h2>
<h2 id="acknowledgments"><a href="#acknowledgments">Acknowledgements</a></h2>

<p>This specification was produced by members of the W3C ixml community group:
Tomos Hillman, John Lumley, Steven Pemberton, C. M. Sperberg-McQueen, Bethan
Expand Down
Loading