70 # ~~~~~~ contributor |
70 # ~~~~~~ contributor |
71 contributor = element contributor { contributor.content } |
71 contributor = element contributor { contributor.content } |
72 |
72 |
73 contributor.content = |
73 contributor.content = |
74 identifier.uri?, |
74 identifier.uri?, |
75 (((firstname, secondname?)?, lastname) | label), |
75 ((firstname?, lastname) | label), |
76 address?, |
76 address?, |
77 link?, |
77 link?, |
78 role+ |
78 role+ |
79 |
79 |
80 # ~~~~~~ firstname, secondname, lastname, label |
80 # ~~~~~~ firstname, secondname, lastname, label |
81 firstname = element firstname { firstname.content } |
81 firstname = element firstname { firstname.content } |
82 secondname = element secondname { secondname.content } |
|
83 lastname = element lastname { lastname.content } |
82 lastname = element lastname { lastname.content } |
84 label = element label { label.content } |
83 label = element label { label.content } |
85 |
84 |
86 firstname.content = simple.inlines |
85 firstname.content = simple.inlines |
87 secondname.content = simple.inlines |
|
88 lastname.content = simple.inlines |
86 lastname.content = simple.inlines |
89 label.content = simple.inlines |
87 label.content = simple.inlines |
90 |
88 |
91 # ~~~~~~ address |
89 # ~~~~~~ address |
92 address = element address { address.content } |
90 address = element address { address.content } |
779 number.value.attribute = attribute value { xsd:integer | xsd:decimal } |
773 number.value.attribute = attribute value { xsd:integer | xsd:decimal } |
780 |
774 |
781 number.content = mixed { sup* & warning* } |
775 number.content = mixed { sup* & warning* } |
782 number.roman.content = xsd:token {pattern = "[MCLXVI]+"} |
776 number.roman.content = xsd:token {pattern = "[MCLXVI]+"} |
783 |
777 |
|
778 # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ acronym ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
|
779 |
|
780 acronym = element acronym { acronym.content } |
|
781 |
|
782 acronym.content = mixed { sup* & warning* } |
|
783 |
|
784 # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ highlight ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
|
785 |
|
786 highlight = element highlight { highlight.content } |
|
787 |
|
788 highlight.content = inlines |
|
789 |
|
790 # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ emphasis ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
|
791 |
|
792 emphasis = element emphasis { emphasis.content } |
|
793 |
|
794 emphasis.content = inlines |
|
795 |
|
796 # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ mentioned ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
|
797 |
|
798 mentioned = element mentioned { mentioned.content } |
|
799 |
|
800 mentioned.content = inlines |
|
801 |
|
802 # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ literal ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
|
803 |
|
804 literal = element literal { literal.content } |
|
805 |
|
806 literal.content = inlines |
|
807 |
|
808 # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ term ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
|
809 |
|
810 term = element term { term.content } |
|
811 |
|
812 term.content = mixed { sup* & warning* } |
|
813 |
|
814 # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ stage ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
|
815 |
|
816 stage = element stage { stage.content } |
|
817 |
|
818 stage.content = inlines |
|
819 |
|
820 # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ name ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
|
821 |
|
822 name = element name { name.attributes, name.content } |
|
823 |
|
824 name.attributes = |
|
825 name.of.attribute? |
|
826 name.of.attribute = attribute of { |
|
827 "person" | "company" | "book" | "newspaper" | "party" | "movie" |
|
828 | "painting" } |
|
829 |
|
830 name.content = mixed { sup* & number* & acronym* & warning* } |
|
831 |
|
832 # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ foreign ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
|
833 |
|
834 foreign = element foreign { foreign.attributes, foreign.content } |
|
835 |
|
836 foreign.attributes = |
|
837 lang.attribute? |
|
838 |
|
839 foreign.content = inlines |
|
840 |
|
841 # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ date ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
|
842 |
|
843 date = element date { date.attributes, date.content } |
|
844 |
|
845 date.attributes = |
|
846 date.value.attribute |
|
847 & date.of.attribute? |
|
848 date.value.attribute = attribute value { xsd:date | xsd:gYearMonth | xsd:gYear } |
|
849 date.of.attribute = attribute of { "birth" | "death" } |
|
850 |
|
851 date.content = mixed { sup* & number* & warning* } |
|
852 |
784 # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ math ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
853 # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ math ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
785 |
854 |
786 # ~~~~~~ math |
855 # ~~~~~~ math |
787 math = element math { math.attributes, math.content } |
856 math = element math { math.attributes, math.content } |
788 |
857 |
802 latex.attributes = |
871 latex.attributes = |
803 plain.attritute? |
872 plain.attritute? |
804 plain.attritute = attribute plain { xsd:boolean } |
873 plain.attritute = attribute plain { xsd:boolean } |
805 |
874 |
806 latex.content = text |
875 latex.content = text |
807 |
|
808 # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ date ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
|
809 |
|
810 date = element date { date.attributes, date.content } |
|
811 |
|
812 date.attributes = |
|
813 date.value.attribute |
|
814 & date.of.attribute? |
|
815 date.value.attribute = attribute value { xsd:date | xsd:gYearMonth | xsd:gYear } |
|
816 date.of.attribute = attribute of { "birth" | "death" } |
|
817 |
|
818 date.content = mixed { sup* & number* & warning* } |
|
819 |
|
820 # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ name ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
|
821 |
|
822 name = element name { name.attributes, name.content } |
|
823 |
|
824 name.attributes = |
|
825 name.of.attribute? |
|
826 name.of.attribute = attribute of { |
|
827 "person" | "company" | "book" | "newspaper" | "party" | "movie" |
|
828 | "painting" } |
|
829 |
|
830 name.content = mixed { sup* & number* & acronym* & warning* } |
|
831 |
|
832 # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ acronym ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
|
833 |
|
834 acronym = element acronym { acronym.content } |
|
835 |
|
836 acronym.content = mixed { sup* & warning* } |
|
837 |
|
838 # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ term ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
|
839 |
|
840 term = element term { term.content } |
|
841 |
|
842 term.content = mixed { sup* & warning* } |
|
843 |
|
844 # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ literal ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
|
845 |
|
846 literal = element literal { literal.content } |
|
847 |
|
848 literal.content = inlines |
|
849 |
|
850 # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ foreign ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
|
851 |
|
852 foreign = element foreign { foreign.attributes, foreign.content } |
|
853 |
|
854 foreign.attributes = |
|
855 lang.attribute? |
|
856 |
|
857 foreign.content = inlines |
|
858 |
|
859 # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ highlight ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
|
860 |
|
861 highlight = element highlight { highlight.content } |
|
862 |
|
863 highlight.content = inlines |
|
864 |
|
865 # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ emphasis ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
|
866 |
|
867 emphasis = element emphasis { emphasis.content } |
|
868 |
|
869 emphasis.content = inlines |
|
870 |
|
871 # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ mentioned ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
|
872 |
|
873 mentioned = element mentioned { mentioned.content } |
|
874 |
|
875 mentioned.content = inlines |
|
876 |
|
877 # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ stage ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
|
878 |
|
879 stage = element stage { stage.content } |
|
880 |
|
881 stage.content = inlines |
|
882 |
876 |
883 # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ initial ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
877 # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ initial ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
884 |
878 |
885 initial = element initial { initial.content } |
879 initial = element initial { initial.content } |
886 |
880 |