summaryrefslogtreecommitdiff
path: root/tex/context/modules/mkiv/x-steps.mkiv
blob: 29b3f7eaa6e996f368338666732ef2646446e8d0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
%D \module
%D   [       file=m-steps,
%D        version=2001.05.28,
%D          title=\CONTEXT\ Modules,
%D       subtitle=Step Charts \& Tables,
%D         author=Hans Hagen,
%D           date=\currentdate,
%D      copyright={PRAGMA ADE \& \CONTEXT\ Development Team}]
%C
%C This module is part of the \CONTEXT\ macro||package and is
%C therefore copyrighted by \PRAGMA. See mreadme.pdf for
%C details.

%D The \XML\ interface. This module can be made way more efficient
%D in \MKIV\ using textext but it makes only sense to do this when
%D I really need it in a demanding application. Probably half of the
%D code in m-steps.tex can go.

\usemodule[m][steps]

\unprotect

\installcorenamespace {xmlstepchart}
\installcorenamespace {xmlsteptable}

\def\xmlstepchartdirective#1{\executeifdefined{\??xmlstepchart#1}\gobbletwoarguments} % {#2}{#3}
\def\xmlsteptabledirective#1{\executeifdefined{\??xmlsteptable#1}\gobbletwoarguments} % {#2}{#3}

\setvalue{\??xmlstepchart charts}{\setsomevalue\@@STPC}
\setvalue{\??xmlstepchart  cells}{\setsomevalue\@@STEC}
\setvalue{\??xmlstepchart  texts}{\setsomevalue\@@STET}
\setvalue{\??xmlstepchart  lines}{\setsomevalue\@@STEL}

\setvalue{\??xmlsteptable tables}{\setsomevalue\@@STPT}
\setvalue{\??xmlsteptable  cells}{\setsomevalue\@@STEC}
\setvalue{\??xmlsteptable  texts}{\setsomevalue\@@STET}
\setvalue{\??xmlsteptable  lines}{\setsomevalue\@@STEL}

\startxmlsetups xml:ct:define
    \xmlsetsetup {#1} {ct:*} {xml:ct:*}
  % \xmlsetsetup {#1} {ct:stepaligntable/cells} {xml:ct:stepaligntable:cells}
  % \xmlsetsetup {#1} {ct:stepaligntable/lines} {xml:ct:stepaligntable:lines}
\stopxmlsetups

\xmlregisterns{ct}{stepcharts}

\xmlregistersetup{xml:ct:define}

\startxmlsetups xml:ct:prep
    \expanded{\prep[\xmltoparameters{#1}]}{\xmlflush{#1}}
\stopxmlsetups

\startxmlsetups xml:ct:text
    \expanded{\text[\xmltoparameters{#1}]}{\xmlflush{#1}}
\stopxmlsetups

\startxmlsetups xml:ct:texts
    \expanded{\texts[\xmltoparameters{#1}]}{\xmltext{#1}{/top}} {\xmltext{#1}{/bot}}
\stopxmlsetups

\startxmlsetups xml:ct:cell
    \expanded{\cell[\xmltoparameters{#1}]}{\xmlflush{#1}}
\stopxmlsetups

\startxmlsetups xml:ct:cells
    \expanded{\cells[\xmltoparameters{#1}]}{\xmltext{#1}{/top}} {\xmltext{#1}{/bot}}
\stopxmlsetups

\startxmlsetups xml:ct:lines
    \expanded{\startlines[\xmltoparameters{#1}]}
        \xmlflush{#1}
    \stoplines
\stopxmlsetups

\startxmlsetups xml:ct:steptable
    \expanded{\startSTEPtable[\xmltoparameters{#1}]}
        \xmlflush{#1}
    \stopSTEPtable
\stopxmlsetups

\startxmlsetups xml:ct:stepchart
    \expanded{\startSTEPchart[\xmltoparameters{#1}]}
        \xmlflush{#1}
    \stopSTEPchart
\stopxmlsetups

% \startxmlsetups xml:ct:stepaligntable
%     \expanded{\startSTEPaligntable[\xmltoparameters{#1}]}
%         \xmlflush{#1}
%     \stopSTEPaligntable
% \stopxmlsetups
%
% \startxmlsetups xml:ct:stepaligntable:cells
%     \expanded{\cells[\xmltoparameters{#1}]} {\xmltext{#1}{/ct:c1}} {\xmltext{#1}{/ct:c2}} {\xmltext{#1}{/ct:c3}}
% \stopxmlsetups
%
% \startxmlsetups xml:ct:stepaligntable:lines
%     \expanded{\setupSTEPlines[\xmltoparameters{#1}]}
%     \xmlflush{#1}
% \stopxmlsetups

\protect \endinput