% \iffalse
%% (C) Copyright 2000-2004  LaTeX3 Project
%%
%% It may be distributed and/or modified under the conditions of the
%% LaTeX Project Public License (LPPL), either version 1.3a of this
%% license or (at your option) any later version.  The latest version
%% of this license is in the file
%%
%%    http://www.latex-project.org/lppl.txt
%%
%% This file is part of the ``xbase bundle'' (The Work in LPPL)
%% and all files in that bundle must be distributed together.
%%
%% The released version of this bundle is available from CTAN.
%%
%% -----------------------------------------------------------------------
%%
%% The development version of the bundle can be found at
%%
%%    http://www.latex-project.org/cgi-bin/cvsweb.cgi/
%%
%% for those people who are interested.
%%
%%%%%%%%%%%
%% NOTE: %% 
%%%%%%%%%%%
%%
%%   Snapshots taken from the repository represent work in progress and may
%%   not work or may contain conflicting material!  We therefore ask
%%   people _not_ to put them into distributions, archives, etc. without
%%   prior consultation with the LaTeX Project Team.
%%
%% -----------------------------------------------------------------------
%%
%% $Id: tprestrict-test.tex 251 2004-11-11 19:01:16Z mittelba $
%%
% \fi
%

\makeatletter
\RequirePackage{template}
\IgnoreWhiteSpace

\newcount\ca
\newdimen\da


\DeclareTemplateType{type}{0}

\DeclareTemplate{type}{Ta}{0}{
   one =l [2in] \da,
   two =c [5]  \ca}
  {\DoParameterAssignments\typeout{\da=\the\da,\@spaces \ca=\the\ca}}

\ShowTemplate{type}{Ta}

\typeout{1^^J==}
\UseTemplate{type}{Ta}{}

\typeout{2^^J==}
\UseTemplate{type}{Ta}{one=44pt, two=7}


\DeclareRestrictedTemplate{type}{Tb}{Ta}{one=33pt}

\ShowTemplate{type}{Tb}

\typeout{RESTRICT^^J3^^J==}

\DeclareInstance{type}{foo}{Tb}{two=9}

\ShowInstance{type}{foo}

\UseInstance{type}{foo}

\typeout{4^^J==}
\UseTemplate{type}{Tb}{two=7}

\stop

