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

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.1       tollenae   12: 
                     13: CONST
                     14: 
1.7       francesc   15:   C_CR = '\12';
1.1       tollenae   16: 
                     17: STRUCT
                     18: 
1.11      francesc   19:   Template = CASE OF
1.9       vatton     20:       head;
                     21:       repeat;
                     22:       option;
                     23:       useEl;
1.17      vatton     24:       useSimple;
1.9       vatton     25:       bag;
                     26:       attribute;
                     27:     END;
1.7       francesc   28: 
1.11      francesc   29:   head = LIST OF ( 
1.7       francesc   30:     Declaration = CASE OF
                     31:       component;
                     32:       union;
                     33:       import;
                     34:     END
1.11      francesc   35:    );
1.7       francesc   36: 
1.11      francesc   37:   component ( ATTR name = TEXT; title = TEXT ) = ANY - ( head, union, import );
                     38:   union ( ATTR name; includeAt = TEXT; exclude = TEXT; title ) = CONSTANT C_CR; {It is always empty}
                     39:   import ( ATTR src = TEXT ) = CONSTANT C_CR; {It is always empty}
1.9       vatton     40: 
1.15      quint      41:   folder = ANY - ( head, union, import, component );
                     42: 
1.19      vatton     43:   repeat ( ATTR ref = TEXT; minOccurs = TEXT; maxOccurs = TEXT; currentOccurs =
1.15      quint      44:        TEXT; title ) =
                     45:        LIST OF ( Repetition =
                     46:                  CASE OF
                     47:                    useEl;
1.17      vatton     48:         useSimple;
1.15      quint      49:                option;
                     50:                    repeat;
1.18      vatton     51:                    bag;
1.15      quint      52:                    folder;
                     53:                    END);
1.11      francesc   54: 
1.10      francesc   55: 
1.19      vatton     56:   option ( ATTR ref )
1.15      quint      57:        = ANY - ( head, union, import, component );
1.7       francesc   58:   
1.19      vatton     59:   useEl ( ATTR ref; types = TEXT; currentType = TEXT; title )
1.15      quint      60:      = ANY - ( head, union, import, component );
1.7       francesc   61: 
1.19      vatton     62:   useSimple ( ATTR ref; types; currentType; title )
1.17      vatton     63:      = ANY - ( head, union, import, component );
                     64: 
1.19      vatton     65:   bag ( ATTR ref; types ) 
1.20    ! kia        66:      =  LIST OF ANY - ( head, union, import, component );
1.7       francesc   67: 
1.11      francesc   68:   attribute ( ATTR 
1.19      vatton     69:     ref_name = TEXT; 
1.10      francesc   70:     type = integerVal, decimal, string, listVal; 
1.7       francesc   71:     useAt = TEXT; 
1.10      francesc   72:     defaultAt = TEXT; 
                     73:     fixed = TEXT; 
                     74:     values = TEXT;
1.11      francesc   75:     title ) = CONSTANT C_CR; {It is always empty}
1.7       francesc   76: 
                     77: EXCEPT
1.19      vatton     78:   repeat:             NoReplicate, NoBreakByReturn;
                     79:   option:             NoReplicate, NoBreakByReturn;
1.16      quint      80:   {Hiding unkown and language attributes}
1.19      vatton     81:        Unknown_attribute:  Invisible;
                     82:        Language:           Invisible;
1.16      quint      83:   types :             DuplicateAttr;
1.19      vatton     84:   currentType:        Invisible, GiveName;
                     85:   ref:                Invisible;
1.1       tollenae   86:        
                     87: END

Webmaster