Annotation of Amaya/amaya/Template.S, revision 1.37

1.7       francesc    1:       { Structure Schema for XTiger Templates
1.19      vatton      2:         Francesc Campoy Flores & I. Vatton    January 2007 }
1.1       tollenae    3: 
                      4:        
                      5: STRUCTURE Template;
                      6: 
                      7: DEFPRES TemplateP;
                      8: 
                      9: ATTR
1.7       francesc   10:   { generic attributes for internal use }
                     11:   Unknown_attribute = TEXT;    { to store an unknown attribute }
1.30      vatton     12:   xmlid = Text;                { id }
1.36      vatton     13:   Highlight = Yes_;    { to show the HTML element corresponding to the
                     14:                          current selection in the source view }
1.1       tollenae   15: 
                     16: CONST
                     17: 
1.7       francesc   18:   C_CR = '\12';
1.1       tollenae   19: 
                     20: STRUCT
                     21: 
1.29      kia        22:   Template ( ATTR version = TEXT; templateVersion = TEXT ) = LIST OF (TemplateObject);
                     23: 
                     24:   TemplateObject = CASE OF
1.9       vatton     25:       head;
                     26:       repeat;
1.32      vatton     27:       {option;}
1.9       vatton     28:       useEl;
1.17      vatton     29:       useSimple;
1.9       vatton     30:       bag;
                     31:       attribute;
1.29      kia        32:     END + (Comment\240, XMLPI);
1.7       francesc   33: 
1.29      kia        34:   head ( ATTR version; templateVersion ) = 
1.22      kia        35:     LIST OF ( Declaration = CASE OF
1.7       francesc   36:       component;
                     37:       union;
                     38:       import;
                     39:     END
1.11      francesc   40:    );
1.7       francesc   41: 
1.29      kia        42:   Comment\240 = LIST OF (Comment_line = TEXT) - (Comment\240);
                     43:   
                     44:   XMLPI (ATTR is_css = Text) = LIST OF (PI_line = TEXT);
                     45: 
1.22      kia        46:   component ( ATTR name = TEXT ) = ANY - ( head, union, import );
                     47:   union ( ATTR name; includeAt = TEXT; exclude = TEXT ) = CONSTANT C_CR; {It is always empty}
1.11      francesc   48:   import ( ATTR src = TEXT ) = CONSTANT C_CR; {It is always empty}
1.9       vatton     49: 
1.28      vatton     50:   repeat ( ATTR title = TEXT; minOccurs = TEXT; maxOccurs = TEXT) =
1.15      quint      51:        LIST OF ( Repetition =
                     52:                  CASE OF
                     53:                    useEl;
1.17      vatton     54:         useSimple;
1.32      vatton     55:                {option;}
1.15      quint      56:                    repeat;
1.18      vatton     57:                    bag;
1.15      quint      58:                    END);
1.11      francesc   59: 
1.10      francesc   60: 
1.32      vatton     61:   {option ( ATTR title )
                     62:        = ANY - ( head, union, import, component );}
1.7       francesc   63:   
1.32      vatton     64:   useEl ( ATTR option = option_set, option_unset; title; types = TEXT; currentType = TEXT;  prompt = Yes_ )
1.15      quint      65:      = ANY - ( head, union, import, component );
1.7       francesc   66: 
1.32      vatton     67:   useSimple ( ATTR option; title; types; prompt)
1.17      vatton     68:      = ANY - ( head, union, import, component );
                     69: 
1.24      vatton     70:   bag ( ATTR title; types ) 
1.21      vatton     71:      =  LIST OF (ANY) - ( head, union, import, component );
1.7       francesc   72: 
1.11      francesc   73:   attribute ( ATTR 
1.19      vatton     74:     ref_name = TEXT; 
1.27      kia        75:     type = number, string, listVal; 
                     76:     useAt = required, optional, prohibited;
1.10      francesc   77:     defaultAt = TEXT; 
                     78:     fixed = TEXT; 
                     79:     values = TEXT;
1.22      kia        80:     ) = CONSTANT C_CR; {It is always empty}
1.7       francesc   81: 
                     82: EXCEPT
1.36      vatton     83:   XMLPI:             ReturnCreateNL, NoSpellCheck, NoReplicate, NotAnElementNode;
                     84:   PI_line:           Hidden, MarkupPreserve;
                     85:   Comment\240:       ReturnCreateNL, NoSpellCheck, NoReplicate, NotAnElementNode;
                     86:   Comment_line:      Hidden, MarkupPreserve;
1.37    ! vatton     87:   useEl:             NoBreakByReturn, ClickableSurface, IsGhost;
1.36      vatton     88:   component:         NewRoot;
1.37    ! vatton     89:   useSimple:         NoBreakByReturn, IsGhost;
        !            90:   repeat:            NoReplicate, NoBreakByReturn, NoCreate, ClickableSurface, ListItemBreak, IsGhost;
1.36      vatton     91:   {option:           NoReplicate, NoBreakByReturn, NoCreate;}
1.37    ! vatton     92:   bag:               NoReplicate, NoBreakByReturn, NoCreate, ParagraphBreak, ClickableSurface, IsGhost;
1.16      quint      93:   {Hiding unkown and language attributes}
1.36      vatton     94:   Highlight:        Invisible;
                     95:   Unknown_attribute:Invisible;
                     96:   Language:         Invisible;
                     97:   types :           GiveTypes, DuplicateAttr;
                     98:   option:           DuplicateAttr;
                     99:   currentType:      Invisible;
1.35      kia       100:   ref_name:                  GiveName;
1.36      vatton    101:   name:                                GiveName;
                    102:   title:            GiveName;
                    103:   prompt:           Invisible;
1.35      kia       104:   xmlid:                     CssId;
1.1       tollenae  105:        
                    106: END

Webmaster