diff options
author | Hans Hagen <pragma@wxs.nl> | 2004-04-09 00:00:00 +0200 |
---|---|---|
committer | Hans Hagen <pragma@wxs.nl> | 2004-04-09 00:00:00 +0200 |
commit | ab3f887feadf929129087cd2cbc3783064507565 (patch) | |
tree | c0c12916ff903071880d0e157ff422b3f2cab2f4 /tex/context/base/xtag-ini.tex | |
parent | b3e51f52d2070a709e3089ada6054cd2080590ca (diff) | |
download | context-ab3f887feadf929129087cd2cbc3783064507565.tar.gz |
stable 2004.04.09
Diffstat (limited to 'tex/context/base/xtag-ini.tex')
-rw-r--r-- | tex/context/base/xtag-ini.tex | 61 |
1 files changed, 57 insertions, 4 deletions
diff --git a/tex/context/base/xtag-ini.tex b/tex/context/base/xtag-ini.tex index 9ea384ad7..fd545cd78 100644 --- a/tex/context/base/xtag-ini.tex +++ b/tex/context/base/xtag-ini.tex @@ -699,8 +699,19 @@ \fi \fi} +% \long\def\docleanupXMLarguments#1/ #2\relax % space added earlier +% {\edef\currentXMLarguments{#1}} +% +% \startbuffer +% <xsl:value-of select="map[@att=$variable]/@att2"/> +% \stopbuffer +% +% \showXMLbuffer +% +% No \type {\edef} in the following, else \showXMLbuffer fails: + \long\def\docleanupXMLarguments#1/ #2\relax % space added earlier - {\edef\currentXMLarguments{#1}} + {\def\currentXMLarguments{#1}} % no \edef, goes wrong in \showXML \def\executeXMLelementA % no fallback {\ifcsname\@@XMLelement:\currentXMLfullidentifier\endcsname @@ -1330,10 +1341,24 @@ % % The next speed optimization is suggested by Taco. Since we % are dealing with validated code, we can grab larger chunks. +% +% \long\def\doparseXMLarguments#1% space goes ok +% {\if#1>% +% \let\dodoparseXMLarguments\empty +% \else\if#1/% +% \chardef\kindofXMLelement\emptyXMLtag +% \else +% \XMLtoks{#1}% +% \let\dodoparseXMLarguments\dodoparseXMLargumentsX +% \fi\fi +% \dodoparseXMLarguments} +% +% we squeeze out one more assignment \long\def\doparseXMLarguments#1% space goes ok {\if#1>% - \let\dodoparseXMLarguments\empty + %\let\dodoparseXMLarguments\empty + \expandafter\gobbleoneargument % speedup \else\if#1/% \chardef\kindofXMLelement\emptyXMLtag \else @@ -1342,6 +1367,27 @@ \fi\fi \dodoparseXMLarguments} +% slightly faster: +% +% \long\def\doparseXMLarguments#1% space goes ok +% {\if#1>% +% \@EA\gobbleoneargument +% \else\if#1/% +% \chardef\kindofXMLelement\emptyXMLtag +% \@EAEAEA\gobbletwoarguments +% \else +% \@EAEAEA\dodoparseXMLargumentsX +% \fi\fi#1} +% +% \def\dodoparseXMLargumentsX#1=#2% +% {\def\@@XMLname{#1}% +% \getXMLNSSSS#1:\relax +% \if#2"% +% \expandafter\dodoparseXMLargumentsD +% \else +% \expandafter\dodoparseXMLargumentsS +% \fi} + \def\dodoparseXMLargumentsX#1=#2% {\edef\@@XMLname{\the\XMLtoks#1}% \@EA\getXMLNSSSS\@@XMLname:\relax @@ -1810,10 +1856,17 @@ %D Arguments (attributes) \unknown +% \long\def\setXMLarguments#1#2#3% element [tag] settings +% {\doifassignmentelse{#2} +% {\long\setvalue{\@@XMLpars:#1}{\getrawparameters[\@@XMLvariable:#1:][#2]}} +% {\long\setvalue{\@@XMLmap :#1}{#2}% later we can init vars by this name +% \doifsomething{#3}{\long\setvalue{\@@XMLpars:#1}{\getrawparameters[#2][#3]}}}} + \long\def\setXMLarguments#1#2#3% element [tag] settings {\doifassignmentelse{#2} - {\long\setvalue{\@@XMLpars:#1}{\getrawparameters[\@@XMLvariable:#1:][#2]}} - {\long\setvalue{\@@XMLmap :#1}{#2}% later we can init vars by this name + {\letbeundefined{\@@XMLmap:#1}% + \long\setvalue{\@@XMLpars:#1}{\getrawparameters[\@@XMLvariable:#1:][#2]}} + {\long\setvalue{\@@XMLmap:#1}{#2}% later we can init vars by this name \doifsomething{#3}{\long\setvalue{\@@XMLpars:#1}{\getrawparameters[#2][#3]}}}} \def\presetXMLarguments#1% |