Project Index | Documentation | Relax NG | Sample XML File
<grammar xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> <start> <element name="cartoon-network"> <oneOrMore> <ref name ="showContent"/> </oneOrMore> </element> </start> <define name="showContent"> <element name="show"> <attribute name = "code"> <data type = "ID"/> </attribute> <attribute name = "category"> <choice> <value type="string">series</value> <value type="string">movie</value> <value type="string">special</value> <value type="string">cartoonolio</value> </choice> </attribute> <element name = "name"> <text/> </element> <element name = "created"> <data type = "integer"> <param name = "minInclusive">1927</param> <param name = "maxInclusive">2002</param> </data> </element> <element name = "studio"> <text/> </element> <element name = "rating"> <data type = "string"> <param name = "pattern">TV-(G|Y|Y7|PG|14|MA)</param> </data> </element> <optional> <choice> <element name = "star-list"> <oneOrMore> <element name = "star"> <ref name = "starContent"/> </element> </oneOrMore> </element> <element name = "star"> <ref name = "starContent"/> </element> </choice> </optional> <element name = "description"> <text/> </element> <element name = "schedule"> <element name = "week"> <element name = "begin-date"> <data type = "date"> </data> </element> <element name = "end-date"> <data type = "date"> </data> </element> </element> <oneOrMore> <element name = "day"> <data type = "string"> <param name = "pattern">(M|TU|W|TH|F|SA|SU)(-(TH|F))?</param> </data> </element> <oneOrMore> <element name = "time"> <data type = "string"> <param name = "pattern">\d{1,2}:\d{2}-\d{1,2}:\d{2}(a|p)</param> </data> </element> </oneOrMore> </oneOrMore> </element> <optional> <element name = "note"> <interleave> <text/> <oneOrMore> <element name = "month"><text/></element> <element name = "day"><text/></element> <element name = "year"><text/></element> <element name = "time"><text/></element> </oneOrMore> <zeroOrMore> <element name = "award"><text/></element> </zeroOrMore> </interleave> </element> </optional> <zeroOrMore> <element name = "fanclub"> <ref name = "fanclubContent"/> </element> </zeroOrMore> <zeroOrMore> <element name = "website"> <text/> </element> </zeroOrMore> </element> </define> <define name ="starContent"> <text/> <attribute name="role"> <choice> <value type = "string">major</value> <value type = "string">minor</value> <value type = "string">guest</value> </choice> </attribute> </define> <define name="fanclubContent"> <element name="club-name"> <text/> </element> <choice> <element name ="email"> <text/> </element> <group> <element name = "street"> <text/> </element> <element name = "city"> <text/> </element> <element name = "state"> <data type = "string"> <param name = "pattern">[A-Z]{2}</param> </data> </element> <element name = "zipcode"> <data type = "string"> <param name = "pattern">\d{5}(-\d{4})?</param> </data> </element> </group> </choice> </define> </grammar>