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

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

Webmaster