--- messaging/manakai/lib/Message/Markup/Atom.dis 2006/05/13 05:40:58 1.3 +++ messaging/manakai/lib/Message/Markup/Atom.dis 2006/05/28 06:34:59 1.8 @@ -43,7 +43,7 @@ @DISCore:author: DISCore|Wakaba @License: license|Perl+MPL @Date: - $Date: 2006/05/13 05:40:58 $ + $Date: 2006/05/28 06:34:59 $ @Require: @@Module: @@ -66,6 +66,8 @@ http://suika.fam.cx/www/2006/dom-config/ @dis: http://suika.fam.cx/~wakaba/archive/2004/8/18/lang#dis-- + @dlp: + http://suika.fam.cx/~wakaba/archive/2004/dis/Perl# @doc: http://suika.fam.cx/~wakaba/archive/2005/7/tutorial# @d: @@ -90,6 +92,8 @@ http://suika.fam.cx/~wakaba/archive/2004/8/18/lang# @license: http://suika.fam.cx/~wakaba/archive/2004/8/18/license# + @m12n: + http://suika.fam.cx/www/2006/05/m12n/ @ManakaiDOM: http://suika.fam.cx/~wakaba/archive/2004/8/18/manakai-dom# @Markup: @@ -100,8 +104,8 @@ http://suika.fam.cx/~wakaba/archive/2004/8/18/manakai-dom#ManakaiDOM. @MDOMX: http://suika.fam.cx/~wakaba/archive/2004/8/4/manakai-dom-exception# - @dlp: - http://suika.fam.cx/~wakaba/archive/2004/dis/Perl# + @mv: + http://suika.fam.cx/www/2006/05/mv/ @rel: http://www.iana.org/assignments/relation/ @s: @@ -160,6 +164,22 @@ @@ForCheck: !=ManakaiDOM|ManakaiDOM ElementTypeBinding: + @Name: ATTR + @ElementType: + dis:ResourceDef + @ShadowContent: + @@DISCore:resourceType: + @@@@: DISLang|Attribute + @@@ForCheck: ManakaiDOM|ForIF + @@DISCore:resourceType: + @@@@: DISLang|Attribute + @@@ForCheck: ManakaiDOM|ForClass + @@DISCore:resourceType: + @@@@: mv|AttributeType + @@@ForCheck: s|ForML + @@ForCheck: !=ManakaiDOM|ManakaiDOM + +ElementTypeBinding: @Name: Get @ElementType: dis:ResourceDef @@ -282,6 +302,47 @@ @@f:implements: AtomFeature10 ElementTypeBinding: + @Name: IFClsConstructDef + @ElementType: + dis:ResourceDef + @ShadowContent: + @@DISCore:resourceType: + @@@@: dis|MultipleResource + @@@ForCheck: + !ManakaiDOM|ForIF !ManakaiDOM|ForClass !s|ForML !mv|ForCM !mv|ForAG + @@resourceFor: ManakaiDOM|ForIF + @@resourceFor: ManakaiDOM|ForClass + @@resourceFor: mv|ForCM + @@resourceFor: mv|ForAG + @@For: ManakaiDOM|ManakaiDOM + + @@DISCore:resourceType: + @@@@: DISLang|Interface + @@@ForCheck: ManakaiDOM|ForIF + + @@DISCore:resourceType: + @@@@: DISLang|Class + @@@ForCheck: ManakaiDOM|ForClass + @@Implement: + @@@@: ||ManakaiDOM|ManakaiDOM||ManakaiDOM|ForIF + @@@ContentType: DISCore|TFPQNames + @@@ForCheck: ManakaiDOM|ForClass ManakaiDOM|ManakaiDOM + @@Implement: + @@@@: ||ManakaiDOM|ManakaiDOMLatest||ManakaiDOM|ForIF + @@@ContentType: DISCore|TFPQNames + @@@ForCheck: ManakaiDOM|ForClass ManakaiDOM|ManakaiDOMLatest + + @@DISCore:resourceType: + @@@@: mv|AttributeTypeGroup + @@@ForCheck: mv|ForAG + + @@DISCore:resourceType: + @@@@: mv|ElementContentModel + @@@ForCheck: mv|ForCM + + @@f:implements: AtomFeature10 + +ElementTypeBinding: @Name: IFQName @ElementType: dis:QName @@ -311,6 +372,34 @@ @@ContentType: DISCore|QName ElementTypeBinding: + @Name: CMQName + @ElementType: + dis:QName + @ShadowContent: + @@ForCheck: mv|ForCM + +ElementTypeBinding: + @Name: CMName + @ElementType: + mv:elementContentModelName + @ShadowContent: + @@ForCheck: mv|ForCM + +ElementTypeBinding: + @Name: AGQName + @ElementType: + dis:QName + @ShadowContent: + @@ForCheck: mv|ForAG + +ElementTypeBinding: + @Name: AGName + @ElementType: + mv:attributeTypeGroupName + @ShadowContent: + @@ForCheck: mv|ForAG + +ElementTypeBinding: @Name: IFISA @ElementType: dis:ISA @@ -413,6 +502,13 @@ @@lang:en ElementTypeBinding: + @Name: enLN + @ElementType: + mv:longName + @ShadowContent: + @@lang:en + +ElementTypeBinding: @Name: TrueCase @ElementType: dis:ResourceDef @@ -471,6 +567,102 @@ @@enDesc: The Atom DOM, version 1.0. +## -- Modules + +ModuleSetDef: + @QName: Atom + @mv:id: atom + @mv:vid: 10 + @enLN: Atom + @mv:version: 1.0 + @mv:contains: AtomDatatypes + @mv:contains: AtomProperties + @mv:contains: AtomEntry + @mv:contains: AtomFeed + +ModuleDef: + @QName: AtomFeed + @mv:id: feed + @enLN: Feed + @mv:contains: feed-prop + @mv:contains: atom|feed + +ModuleDef: + @QName: AtomEntry + @mv:id: entry + @enLN: Entry + @mv:contains: entry-prop + @mv:contains: atom|entry + +ModuleDef: + @QName: AtomProperties + @mv:id: props + @enLN: Properties + @mv:contains: atom|content + @mv:contains: atom|contributor + @mv:contains: atom|category + @mv:contains: atom|generator + @mv:contains: atom|link + @mv:contains: atom|author + @mv:contains: atom|published + @mv:contains: atom|updated + @mv:contains: atom|icon + @mv:contains: atom|id + @mv:contains: atom|logo + @mv:contains: atom|rights + @mv:contains: atom|subtitle + @mv:contains: atom|summary + @mv:contains: atom|title + @mv:contains: source-prop + @mv:contains: atom|source + +ModuleDef: + @QName: AtomDatatypes + @mv:id: datatypes + @enLN: Datatypes + + @mv:contains: atomNCName + @mv:contains: atomMediaType + @mv:contains: atomLanguageTag + @mv:contains: atomUri + @mv:contains: atomEmailAddress + + @mv:contains: undefinedAttributes + @mv:contains: atomCommonAttributes + + @mv:contains: simpleExtensionElements + @mv:contains: structuredExtensionElements + @mv:contains: extensionElements + + @mv:contains: TextAG + @mv:contains: TextCM + + @mv:contains: atom|name + @mv:contains: atom|email + @mv:contains: atom|uri + @mv:contains: PersonAG + @mv:contains: person-prop + @mv:contains: PersonCM + + @mv:contains: DateAG + @mv:contains: DateCM + +ElementTypeBinding: + @Name: ModuleSetDef + @ElementType: + dis:ResourceDef + @ShadowContent: + @@DISCore:resourceType: mv|XMLDTDModuleSet + @@For: =ManakaiDOM|ManakaiDOMLatest + +ElementTypeBinding: + @Name: ModuleDef + @ElementType: + dis:ResourceDef + @ShadowContent: + @@DISCore:resourceType: mv|XMLDTDModule + @@For: =ManakaiDOM|ManakaiDOMLatest + ## -- Implementation IFClsDef: @@ -1397,6 +1589,91 @@ $test->assert_isa ($doc, ); ##AtomEntryDocument +AGDef: + @QName: atomCommonAttributes + @enFN: common attributes + @mv:attributeTypeGroupName: common + + @ATDef: + @@mv:attributeTypeName: xml|base + @@mv:attributeValueType: atomUri + + @ATDef: + @@mv:attributeTypeName: xml|lang + @@mv:attributeValueType: atomLanguageTag + + @mv:refers: undefinedAttributes +##atomCommonAttributes + +STDef: + @QName: atomNCName + @mv:datatypeEntityName: NCName + #subsetOf: xsd|string + #minLength, pattern + +STDef: + @QName: atomMediaType + @mv:datatypeEntityName: MediaType + #subsetOf xsd|string + # pattern + +STDef: + @QName: atomLanguageTag + @mv:datatypeEntityName: LangaugeTag + #subsetOf: xsd|string + #pattern + +STDef: + @QName: atomUri + @mv:datatypeEntityName: URI + #aliasfor text + +STDef: + @QName: atomEmailAddress + @mv:datatypeEntityName: EmailAddress + #subsetOf xsd|string + #pattern + +ElementTypeBinding: + @Name: AGDef + @ElementType: + dis:ResourceDef + @ShadowContent: + @@DISCore:resourceType: mv|AttributeTypeGroup + @@For: =ManakaiDOM|ManakaiDOMLatest + +ElementTypeBinding: + @Name: ATDef + @ElementType: + dis:ResourceDef + @ShadowContent: + @@DISCore:resourceType: mv|AttributeType + @@For: =ManakaiDOM|ManakaiDOMLatest + +ElementTypeBinding: + @Name: ECDef + @ElementType: + dis:ResourceDef + @ShadowContent: + @@DISCore:resourceType: mv|ElementTypeClass + @@For: =ManakaiDOM|ManakaiDOMLatest + +ElementTypeBinding: + @Name: EMDef + @ElementType: + dis:ResourceDef + @ShadowContent: + @@DISCore:resourceType: mv|ElementTypeClassMix + @@For: =ManakaiDOM|ManakaiDOMLatest + +ElementTypeBinding: + @Name: STDef + @ElementType: + dis:ResourceDef + @ShadowContent: + @@DISCore:resourceType: mv|XMLDTDDatatypeEntity + @@For: =ManakaiDOM|ManakaiDOMLatest + IFClsDef: @IFQName: AtomElement @ClsQName: ManakaiAtomElement @@ -1455,9 +1732,13 @@ @@ContentType: DISCore|QName @ForCheck: =ManakaiDOM|all -IFClsDef: +IFClsConstructDef: @IFQName: AtomTextConstruct @ClsQName: ManakaiAtomTextConstruct + @AGQName: TextAG + @AGName: text + @CMQName: TextCM + @CMName: text @IFISA: AtomElement @ClsISA: ManakaiAtomElement @@ -1470,10 +1751,10 @@ interface. A Text construct contains human-readable text, usually in - small quantities. The content of Text constructs is + small quantities. The content of a Text construct is Language-Sensitive. - @Attr: + @ATTR: @@Name: type @@enDesc: The attribute of the element. @@ -1581,9 +1862,13 @@ $test->assert_equals ($el->, $con); ##AtomTextConstruct -IFClsDef: +IFClsConstructDef: @IFQName: AtomPersonConstruct @ClsQName: ManakaiAtomPersonConstruct + @AGQName: PersonAG + @AGName: person + @CMQName: PersonCM + @CMName: person @IFISA: AtomElement @ClsISA: ManakaiAtomElement @@ -1635,7 +1920,7 @@ @@Name: nameElement @@enDesc: The child element of the node. - @@Type: AtomElement + @@Type: AtomNameElement @@Get: @@@enDesc: It child element> @@ -1720,9 +2005,21 @@ }__; ##AtomPersonConstruct -IFClsDef: +ECDef: + @QName: person-prop + @mv:elementTypeClassName: person-prop + @mv:refers: atom|name + @mv:refers: atom|uri + @mv:refers: atom|email + @mv:refers: extensionElements + +IFClsConstructDef: @IFQName: AtomDateConstruct @ClsQName: ManakaiAtomDateConstruct + @AGQName: DateAG + @AGName: date + @CMQName: DateCM + @CMName: date @IFISA: AtomElement @ClsISA: ManakaiAtomElement @@ -1797,6 +2094,23 @@ } ##AtomDateConstruct +ECDef: + @QName: feed-prop + @mv:elementTypeClassName: feed-prop + @mv:refers: atom|author + @mv:refers: atom|category + @mv:refers: atom|contributor + @mv:refers: atom|generator + @mv:refers: atom|icon + @mv:refers: atom|id + @mv:refers: atom|link + @mv:refers: atom|logo + @mv:refers: atom|rights + @mv:refers: atom|subtitle + @mv:refers: atom|title + @mv:refers: atom|updated + @mv:refers: extensionElements + IFClsETDef: @IFQName: AtomFeedElement @ETQName: atom|feed @@ -2493,6 +2807,23 @@ (, 'lang')); ##AtomFeedElement +ECDef: + @QName: entry-prop + @mv:elementTypeClassName: entry-prop + @mv:refers: atom|author + @mv:refers: atom|category + @mv:refers: atom|content + @mv:refers: atom|contributor + @mv:refers: atom|id + @mv:refers: atom|link + @mv:refers: atom|published + @mv:refers: atom|rights + @mv:refers: atom|source + @mv:refers: atom|summary + @mv:refers: atom|title + @mv:refers: atom|updated + @mv:refers: extensionElements + IFClsETDef: @IFQName: AtomEntryElement @ETQName: atom|entry @@ -3022,8 +3353,69 @@ ##AtomEntryElement IFClsETDef: + @IFQName: AtomIdElement + @ETQName: atom|id + @ETRQName: atom|id + @ClsQName: ManakaiAtomIdElement + + @IFISA: AtomElement + @ClsISA: ManakaiAtomElement +##AtomIdElement + +IFClsETDef: + @IFQName: AtomIconElement + @ETQName: atom|icon + @ETRQName: atom|icon + @ClsQName: ManakaiAtomIconElement + + @IFISA: AtomElement + @ClsISA: ManakaiAtomElement +##AtomIconElement + +IFClsETDef: + @IFQName: AtomNameElement + @ETQName: atom|name + @ETRQName: atom|name + @ClsQName: ManakaiAtomNameElement + + @IFISA: AtomElement + @ClsISA: ManakaiAtomElement +##AtomNameElement + +IFClsETDef: + @IFQName: AtomUriElement + @ETQName: atom|uri + @ETRQName: atom|uri + @ClsQName: ManakaiAtomUriElement + + @IFISA: AtomElement + @ClsISA: ManakaiAtomElement +##AtomUriElement + +IFClsETDef: + @IFQName: AtomEmailElement + @ETQName: atom|email + @ETRQName: atom|email + @ClsQName: ManakaiAtomEmailElement + + @IFISA: AtomElement + @ClsISA: ManakaiAtomElement +##AtomEmailElement + +IFClsETDef: + @IFQName: AtomLogoElement + @ETQName: atom|logo + @ETRQName: atom|logo + @ClsQName: ManakaiAtomLogoElement + + @IFISA: AtomElement + @ClsISA: ManakaiAtomElement +##AtomLogoElement + +IFClsETDef: @IFQName: AtomContentElement @ETQName: atom|content + @ETRQName: atom|content @ClsQName: ManakaiAtomContentElement @IFISA: AtomElement @@ -3272,10 +3664,13 @@ IFClsETDef: @IFQName: AtomAuthorElement @ETQName: atom|author + @ETRQName: atom|author @ClsQName: ManakaiAtomAuthorElement @IFISA: AtomPersonConstruct @ClsISA: ManakaiAtomPersonConstruct + @mv:refers: PersonAG + @mv:elementContentModel: PersonCM @enDesc: The element is a Person construct that @@ -3285,6 +3680,7 @@ IFClsETDef: @IFQName: AtomCategoryElement @ETQName: atom|category + @ETRQName: atom|category @ClsQName: ManakaiAtomCategoryElement @IFISA: AtomElement @@ -3398,10 +3794,13 @@ IFClsETDef: @IFQName: AtomContributorElement @ETQName: atom|contributor + @ETRQName: atom|contributor @ClsQName: ManakaiAtomContributorElement @IFISA: AtomPersonConstruct @ClsISA: ManakaiAtomPersonConstruct + @mv:refers: PersonAG + @mv:elementContentModel: PersonCM @enDesc: The element is a Person construct that @@ -3412,6 +3811,7 @@ IFClsETDef: @IFQName: AtomGeneratorElement @ETQName: atom|generator + @ETRQName: atom|generator @ClsQName: ManakaiAtomGeneratorElement @IFISA: AtomElement @@ -3492,6 +3892,7 @@ IFClsETDef: @IFQName: AtomLinkElement @ETQName: atom|link + @ETRQName: atom|link @ClsQName: ManakaiAtomLinkElement @IFISA: AtomElement @@ -3501,7 +3902,7 @@ The element defines a reference from an entry or feed to a Web resource. - @Attr: + @ATTR: @@Name: href @@enDesc: The attribute of the element. @@ -3509,7 +3910,7 @@ It attribute> of the node. @@Type: DOMString - @@Type: DOMURI + @@actualType: DOMURI @@Get: @@@nullCase: @@@@enDesc: @@ -3535,7 +3936,7 @@ $given => $given, }__; - @Attr: + @ATTR: @@Name: rel @@enDesc: The attribute of the element. @@ -3545,6 +3946,7 @@ a few exceptions. The default value be . @@Type: DOMString + @@actualType: DOMURI @@Get: @@@enDesc: If the algorithm returns a string that does not contain @@ -3618,7 +4020,7 @@ $test->assert_equals ($el->, ); - @Attr: + @ATTR: @@Name: type @@enDesc: The attribute of the element. @@ -3651,7 +4053,7 @@ $given => $given, }__; - @Attr: + @ATTR: @@Name: hreflang @@enDesc: The attribute of the element. @@ -3684,7 +4086,7 @@ $given => $given, }__; - @Attr: + @ATTR: @@Name: title @@enDesc: The attribute of the element. @@ -3717,7 +4119,7 @@ $given => $given, }__; - @Attr: + @ATTR: @@Name: length @@enDesc: The attribute of the element. @@ -3754,10 +4156,13 @@ IFClsETDef: @IFQName: AtomPublishedElement @ETQName: atom|published + @ETRQName: atom|published @ClsQName: ManakaiAtomPublishedElement @IFISA: AtomDateConstruct @ClsISA: ManakaiAtomDateConstruct + @mv:refers: DateAG + @mv:elementContentModel: DateCM @enDesc: The element is a Date construct @@ -3771,10 +4176,13 @@ IFClsETDef: @IFQName: AtomRightsElement @ETQName: atom|rights + @ETRQName: atom|rights @ClsQName: ManakaiAtomRightsElement @IFISA: AtomTextConstruct @ClsISA: ManakaiAtomTextConstruct + @mv:refers: TextAG + @mv:elementContentModel: TextCM @enDesc: The element is a Text construct @@ -3782,9 +4190,27 @@ over an entry or feed. ##AtomRightsElement +ECDef: + @QName: source-prop + @mv:elementTypeClassName: source-prop + @mv:refers: atom|author + @mv:refers: atom|category + @mv:refers: atom|contributor + @mv:refers: atom|generator + @mv:refers: atom|icon + @mv:refers: atom|id + @mv:refers: atom|link + @mv:refers: atom|logo + @mv:refers: atom|rights + @mv:refers: atom|subtitle + @mv:refers: atom|title + @mv:refers: atom|updated + @mv:refers: extensionElements + IFClsETDef: @IFQName: AtomSourceElement @ETQName: atom|source + @ETRQName: atom|source @ClsQName: ManakaiAtomSourceElement @IFISA: AtomElement @@ -3994,10 +4420,13 @@ IFClsETDef: @IFQName: AtomSubtitleElement @ETQName: atom|subtitle + @ETRQName: atom|subtitle @ClsQName: ManakaiAtomSubtitleElement @IFISA: AtomTextConstruct @ClsISA: ManakaiAtomTextConstruct + @mv:refers: TextAG + @mv:elementContentModel: TextCM @enDesc: The element is a Text construct @@ -4007,10 +4436,13 @@ IFClsETDef: @IFQName: AtomSummaryElement @ETQName: atom|summary + @ETRQName: atom|summary @ClsQName: ManakaiAtomSummaryElement @IFISA: AtomTextConstruct @ClsISA: ManakaiAtomTextConstruct + @mv:refers: TextAG + @mv:elementContentModel: TextCM @enDesc: The element is a Text construct @@ -4020,10 +4452,13 @@ IFClsETDef: @IFQName: AtomTitleElement @ETQName: atom|title + @ETRQName: atom|title @ClsQName: ManakaiAtomTitleElement @IFISA: AtomTextConstruct @ClsISA: ManakaiAtomTextConstruct + @mv:refers: TextAG + @mv:elementContentModel: TextCM @enDesc: The element is a Text construct @@ -4033,10 +4468,13 @@ IFClsETDef: @IFQName: AtomUpdatedElement @ETQName: atom|updated + @ETRQName: atom|updated @ClsQName: ManakaiAtomUpdatedElement @IFISA: AtomDateConstruct @ClsISA: ManakaiAtomDateConstruct + @mv:refers: DateAG + @mv:elementContentModel: DateCM @enDesc: The element is a Date construct @@ -4127,3 +4565,25 @@ @@For: ManakaiDOM|DOM3 @@For: =ManakaiDOM|all @@Type: idl|boolean||ManakaiDOM|all + +ECDef: + @QName: simpleExtensionElements + @mv:elementTypeClassName: simple.extra + @DISCore:resourceType: mv|ElementTypeAdditionalClass + +ECDef: + @QName: structuredExtensionElements + @mv:elementTypeClassName: structured.extra + @DISCore:resourceType: mv|ElementTypeAdditionalClass + +EMDef: + @QName: extensionElements + @mv:elementTypeClassName: extra + @mv:refers: simpleExtensionElements + @mv:refers: structuredExtensionElements + @DISCore:resourceType: mv|ElementTypeAdditionalClass + +AGDef: + @QName: undefinedAttributes + @mv:attributeTypeGroupName: common.extra +