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

1.7       francesc    1:       { Structure Schema for XTiger Templates
                      2:          Francesc Campoy Flores     31/03/2006 }
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;
                     24:       bag;
                     25:       attribute;
                     26:     END;
1.7       francesc   27: 
1.11      francesc   28:   head = LIST OF ( 
1.7       francesc   29:     Declaration = CASE OF
                     30:       component;
                     31:       union;
                     32:       import;
                     33:     END
1.11      francesc   34:    );
1.7       francesc   35: 
1.11      francesc   36:   component ( ATTR name = TEXT; title = TEXT ) = ANY - ( head, union, import );
                     37:   union ( ATTR name; includeAt = TEXT; exclude = TEXT; title ) = CONSTANT C_CR; {It is always empty}
                     38:   import ( ATTR src = TEXT ) = CONSTANT C_CR; {It is always empty}
1.9       vatton     39: 
1.11      francesc   40:   folder = BEGIN
                     41:                ANY - ( head, union, import, component );
1.10      francesc   42:        END;
                     43: 
1.11      francesc   44:   repeat ( ATTR id = TEXT; minOccurs = TEXT; maxOccurs = TEXT; title )
1.12      francesc   45:        = LIST OF ( Repetition 
                     46:                = CASE OF
1.11      francesc   47:                useEl;
                     48:                option;
                     49:                repeat;
                     50:                bag; 
                     51:                folder;
                     52:                END
                     53:        );
                     54: 
1.10      francesc   55: 
1.11      francesc   56:   option ( ATTR id )
1.10      francesc   57:        = BEGIN 
1.11      francesc   58:        ANY - ( head, union, import, component );
1.10      francesc   59:        END;
1.7       francesc   60:   
1.11      francesc   61:   useEl ( ATTR id; types = TEXT; currentType = TEXT; title )
1.9       vatton     62:      = BEGIN
                     63:         ANY;
1.11      francesc   64:        END - ( head, union, import, component );
1.7       francesc   65: 
1.11      francesc   66:   bag ( ATTR id; types ) 
1.10      francesc   67:      = BEGIN
                     68:         ANY;
1.11      francesc   69:        END - ( head, union, import, component );
1.7       francesc   70: 
1.11      francesc   71:   attribute ( ATTR 
1.7       francesc   72:     name; 
1.10      francesc   73:     type = integerVal, decimal, string, listVal; 
1.7       francesc   74:     useAt = TEXT; 
1.10      francesc   75:     defaultAt = TEXT; 
                     76:     fixed = TEXT; 
                     77:     values = TEXT;
1.11      francesc   78:     title ) = CONSTANT C_CR; {It is always empty}
1.7       francesc   79: 
                     80: EXCEPT
1.11      francesc   81:     {Hiding unkown and language attributes}
                     82:        Unknown_attribute       : Invisible;
                     83:        Language                        : Invisible;
1.1       tollenae   84:        
                     85: END

Webmaster