<div dir="ltr"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="auto"><div>There are many choices when implementing templates, but fewer that I know of support abstract templates (superclasses of templates).  PROTOs for instance, allow you to include PROTOs within PROTOs, but not necessarily inherit PROTOs from a superPROTO.  Would you use the subPROTO PROTObody or superPROTO PROTObody?.   XSLT allows you to call templates from within templates, but one can't create a new template tag, for instance.  Also, how does one override template information with sub-template code?</div></div></blockquote><div><br></div><div>So my question is, what is an abstract template?  An abstract template should allow for "variables and source code" that concrete templates or sub-templates can override or make use of.  Abstract or interface templates.  For a more concrete example, I might create an abstract template for location which location specific templates can inherit from.   For example, you might have a template in California that contains the idea of "county" and a template in Pennsylvania that contains the idea of "township."  There are no ideas of townships in California, that I know of, but other things like city and street can be shared.  Additionally, one might create an abstract temple for "Vehicle" which all vehicle templates inherit from?  How do we do this in X3D?   We have to provide MFNode or SFNode fields to a PROTO, correct?  I do understand the concept of a PROTO becoming a node.   But what is an abstract template for XSLT?  That's the kind of thing I am asking for.  How do we create templates that are locale or language-specific in XSLT?   Copy/Paste?   Can I at least Inline in XSLT? </div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="auto"><div dir="auto">4.  Abstract templates, or a way to parse or generate documents, messages and interfaces. Grammars.</div><div dir="auto"><br></div><div dir="auto">5. Concrete templates. Message snippets and parameters </div></div>
</blockquote></div></div>