Changes

Jump to navigation Jump to search
m
Text replacement - "pragma-ade.com" to "pragma-ade.nl"
<pre>
xml sel -N cd=http://www.pragma-ade.comnl/commands -t -v 'count(//cd:interface/cd:interface/cd:command)' context-en.xml
</pre>
<pre>
xml sel -N cd=http://www.pragma-ade.comnl/commands -t -v 'count(//cd:interface/cd:interface/cd:command[@file])' context-en.xml
</pre>
<pre>
xml sel -N cd=http://www.pragma-ade.comnl/commands -t -v '//cd:interface/cd:interface/cd:command[not(@file)]/@name' context-en.xml
</pre>
<pre>
xml sel -N cd=http://www.pragma-ade.comnl/commands -t -v 'count(//cd:interface/cd:interface/cd:command[@level])' context-en.xml
</pre>
<pre>
xml sel -N cd=http://www.pragma-ade.comnl/commands -t -v '//cd:interface/cd:interface/cd:command[not(@level)]/@name' context-en.xml
</pre>
<pre>
xml sel -N cd=http://www.pragma-ade.comnl/commands -t -v 'count(//cd:interface/cd:interface/cd:command[@name])' context-en.xml
</pre>
<pre>
xml sel -N cd=http://www.pragma-ade.comnl/commands -t -v 'count(//cd:interface/cd:interface/cd:command[@type])' context-en.xml
</pre>
<pre>
xml sel -N cd=http://www.pragma-ade.comnl/commands -t -v 'count(//cd:interface/cd:interface/cd:command[@variant])' context-en.xml
</pre>
<pre>
xml sel -N cd=http://www.pragma-ade.comnl/commands -t -v 'count(//cd:interface/cd:interface/cd:command[@generated])' context-en.xml
</pre>
<pre>
xml sel -N cd=http://www.pragma-ade.comnl/commands -t -v 'count(//cd:interface/cd:interface/cd:command[@begin and @end])' context-en.xml
</pre>
<pre>
xml sel -N cd=http://www.pragma-ade.comnl/commands -t -v 'count(//cd:interface/cd:interface/cd:command[@scope])' context-en.xml
</pre>
<pre>
xml sel -N cd=http://www.pragma-ade.comnl/commands -t -v 'count(//cd:interface/cd:interface/cd:command[@coreprimitive])' context-en.xml
</pre>
<pre>
xml sel -N cd=http://www.pragma-ade.comnl/commands -t -v 'count(//cd:interface/cd:interface/cd:command/cd:arguments)' context-en.xml
</pre>
(I'm not sure what this is meant to indicate, but it seems to correlate with examples? -pm39)
 
{{note|my guess is that these are leftovers. But see also the discussion about `variant{{=}}example` on the wiki mailing list}}
==== cd:string ====
Classes imply that the user may generate their own instances, creating specialized instances of the class with the appropriate `\define''stem''` command.
 
{{note|see above for special cases of generator commands that are not exactly `\define''stem''`}}
As my sample case for this kind of stanza, I have the `\itemgroup` stanza.
I'm not sure how the example stanzas work, yet. From the label, I expect them to be more towards documentation than implementation, but I don't know.
 
{{note|Example stanzas are for instances that ''could'' be generated, but of which there are no examples in the ConTeXt distribution. `description` and `effect` are good examples of this type of stanza. While there are the associated commands `\definedescription` and `\defineeffect`, ConTeXt itself never bothers to the define any instances}}
=== Environments ===
...and possibly others.
 
{{note|the existence of \setup''stem'' is not a given, but yes there could be others as well. Many of these commands are created by some code that is embedded in the `\defineXXX` generated by `\installcommandhandler`, but environments can also be created 'manually' by a pair of `\def` commands, like for example the `\startluacode` environment.
 
The only guaranteed defined commands for any ''environment'' is the pair of start/stop commands}}
An environment does not necessarily create the command:
...but I'm not sure if it never does.
 
{{note|Hans is quite meticulous in creating these standalones even in the manual generation cases if it makes sense to have that standalone command, but some them are missing for sure, e.g. `\buffer`}}
== Results ==
# Does the stanza describe a pair?
#* Is either or both of the `begin=` or `end=` attributes extant? (Hopefully both!)
{{note|should be both or neither, I assume. But whether it is an environment is decided by type{{=}}environment}}
# Does the stanza describe a command?
#* Does the stanza not describe a class?
Orthogonal to this, a stanza may describe an environment, if the `type="environment"` attribute is extant (with the value `environment`). This implied further automatically generated commands based ont he command stem, but interactions with commands, pairs, and classes is unclear.
 
{{note|`begin` and `end` are nothing but overrides for the implied values `start` and `stop`}}
== Things to Ponder ==
What commands are available as a result of an environment?
 
{{note|only the `\start` and `\stop` are guaranteed (but perhaps with different prefixes cf `begin` and `end` attributes.)}}
=== What does a class imply for command generation? ===
(Experience with `\bar` implies yes: the literal command `\bar` relates to mathematics, while the instances of the `\bar` class are a series of prefix + stem command names.)
 
{{note|yes, I firmly believe you are right}}
=== Expanding the Element Vocabulary? ===
...elements, to explicitly mark elements that generate commands with prefixes and stems.
 
{{note|I have missed something somewhere, because this remark is unclear to me. }}
 
{{note|This may or may not be what you're asking:
 
Instead of having every stanza be represented by a <cd:command> element, instead do (taking your notes into consideration):
 
<cd:command>
(Describes a command)
</cd:command>
 
<cd:class>
(describes a class)
</cd:class>
 
<cd:environment>
(describes an environment, with or without overrides)
</cd:environment>
 
...?
 
This way, the thing being described by the stanza is explicit...
 
}}
 
::::Right, I see. I certainly would not mind, but it will depend on Wolfgang (who is the actual maintainer) and Hans (who is using the xml files for various distribution-related things [[User:Taco|Taco]] ([[User talk:Taco|talk]]) 16:15, 30 June 2020 (CEST)
== Apendicies ==
Line 38818: <cd:constant defult="yes" type="stop"/>
 
=== Missing "file" attribute ===
 
: Line 14799 - <cd:command category="background rules" level="system" name="doifelseframed">
 
=== Missing "level" attribute ===
 
: Line 934 - <cd:command file="back-ini.mkxl" name="setupoutput">
: Line 27165 - <cd:command category="structure notes" file="strc-not.mkvi" name="postponingnotes" type="environment"/>
: Line 37044 - <cd:command category="language" file="scrp-ini.mkvi" name="script" type="environment">

Navigation menu