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