--- messaging/manakai/lib/Message/Markup/Atom.dis 2006/04/29 11:05:09 1.1 +++ messaging/manakai/lib/Message/Markup/Atom.dis 2006/05/21 08:55:21 1.7 @@ -43,7 +43,7 @@ @DISCore:author: DISCore|Wakaba @License: license|Perl+MPL @Date: - $Date: 2006/04/29 11:05:09 $ + $Date: 2006/05/21 08:55:21 $ @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,84 @@ @@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: atom|feed + +ModuleDef: + @QName: AtomEntry + @mv:id: entry + @enLN: Entry + @mv:contains: atom|entry + +ModuleDef: + @QName: AtomProperties + @mv:id: props + @enLN: Properties + @mv:contains: atom|content + @mv:contains: atom|category + @mv:contains: atom|generator + @mv:contains: atom|source + @mv:contains: atom|link + @mv:contains: atom|author + @mv:contains: atom|published + @mv:contains: atom|updated + @mv:contains: atom|id + @mv:contains: atom|title + @mv:contains: atom|email + @mv:contains: atom|uri + +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: atomCommonAttributes + + @mv:contains: TextAG + @mv:contains: TextCM + @mv:contains: PersonAG + @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 +1571,75 @@ $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 + + #undefinedAttribute* +##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: STDef + @ElementType: + dis:ResourceDef + @ShadowContent: + @@DISCore:resourceType: mv|XMLDTDDatatypeEntity + @@For: =ManakaiDOM|ManakaiDOMLatest + IFClsDef: @IFQName: AtomElement @ClsQName: ManakaiAtomElement @@ -1455,9 +1698,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 +1717,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 +1828,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 +1886,7 @@ @@Name: nameElement @@enDesc: The child element of the node. - @@Type: AtomElement + @@Type: AtomNameElement @@Get: @@@enDesc: It child element> @@ -1720,9 +1971,13 @@ }__; ##AtomPersonConstruct -IFClsDef: +IFClsConstructDef: @IFQName: AtomDateConstruct @ClsQName: ManakaiAtomDateConstruct + @AGQName: DateAG + @AGName: date + @CMQName: DateCM + @CMName: date @IFISA: AtomElement @ClsISA: ManakaiAtomElement @@ -1810,6 +2065,12 @@ The element is the document element of an Atom Feed Document. + {ISSUE:: + children be placed after + any other elements. Attributes creating children + should insert them before any entries? + } + @Attr: @@Name: authorElements @@enDesc: @@ -2713,6 +2974,27 @@ @@@@dlp:cloneCode: ManakaiAtomFeedElement.categoryElements.get @Attr: + @@Name: contentElement + @@enDesc: + The child element of the node. + @@Type: AtomContentElement + @@Get: + @@@enDesc: + It child element> + of the node. + @@@nullCase: + @@@@enDesc: + If the algorithm returns . + @@@NodeReadOnlyError: + @@@PerlDef: + __CODE{returnChildElement:: + $node => $self, + $namespaceURI => {}, + $localName => 'content', + $r => $r, + }__; + + @Attr: @@Name: contributorElements @@enDesc: A static list of child elements of the node. @@ -2995,8 +3277,49 @@ ##AtomEntryElement IFClsETDef: + @IFQName: AtomIdElement + @ETQName: atom|id + @ETRQName: atom|id + @ClsQName: ManakaiAtomIdElement + + @IFISA: AtomElement + @ClsISA: ManakaiAtomElement +##AtomIdElement + +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: AtomContentElement @ETQName: atom|content + @ETRQName: atom|content @ClsQName: ManakaiAtomContentElement @IFISA: AtomElement @@ -3245,10 +3568,13 @@ IFClsETDef: @IFQName: AtomAuthorElement @ETQName: atom|author + @ETRQName: atom|author @ClsQName: ManakaiAtomAuthorElement @IFISA: AtomPersonConstruct @ClsISA: ManakaiAtomPersonConstruct + @mv:contains: PersonAG + @mv:elementContentModel: PersonCM @enDesc: The element is a Person construct that @@ -3258,6 +3584,7 @@ IFClsETDef: @IFQName: AtomCategoryElement @ETQName: atom|category + @ETRQName: atom|category @ClsQName: ManakaiAtomCategoryElement @IFISA: AtomElement @@ -3371,10 +3698,13 @@ IFClsETDef: @IFQName: AtomContributorElement @ETQName: atom|contributor + @ETRQName: atom|contributor @ClsQName: ManakaiAtomContributorElement @IFISA: AtomPersonConstruct @ClsISA: ManakaiAtomPersonConstruct + @mv:contains: PersonAG + @mv:elementContentModel: PersonCM @enDesc: The element is a Person construct that @@ -3385,6 +3715,7 @@ IFClsETDef: @IFQName: AtomGeneratorElement @ETQName: atom|generator + @ETRQName: atom|generator @ClsQName: ManakaiAtomGeneratorElement @IFISA: AtomElement @@ -3465,6 +3796,7 @@ IFClsETDef: @IFQName: AtomLinkElement @ETQName: atom|link + @ETRQName: atom|link @ClsQName: ManakaiAtomLinkElement @IFISA: AtomElement @@ -3474,7 +3806,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. @@ -3482,7 +3814,7 @@ It attribute> of the node. @@Type: DOMString - @@Type: DOMURI + @@actualType: DOMURI @@Get: @@@nullCase: @@@@enDesc: @@ -3508,7 +3840,7 @@ $given => $given, }__; - @Attr: + @ATTR: @@Name: rel @@enDesc: The attribute of the element. @@ -3518,6 +3850,7 @@ a few exceptions. The default value be . @@Type: DOMString + @@actualType: DOMURI @@Get: @@@enDesc: If the algorithm returns a string that does not contain @@ -3591,7 +3924,7 @@ $test->assert_equals ($el->, ); - @Attr: + @ATTR: @@Name: type @@enDesc: The attribute of the element. @@ -3624,7 +3957,7 @@ $given => $given, }__; - @Attr: + @ATTR: @@Name: hreflang @@enDesc: The attribute of the element. @@ -3657,7 +3990,7 @@ $given => $given, }__; - @Attr: + @ATTR: @@Name: title @@enDesc: The attribute of the element. @@ -3690,7 +4023,7 @@ $given => $given, }__; - @Attr: + @ATTR: @@Name: length @@enDesc: The attribute of the element. @@ -3727,10 +4060,13 @@ IFClsETDef: @IFQName: AtomPublishedElement @ETQName: atom|published + @ETRQName: atom|published @ClsQName: ManakaiAtomPublishedElement @IFISA: AtomDateConstruct @ClsISA: ManakaiAtomDateConstruct + @mv:contains: DateAG + @mv:elementContentModel: DateCM @enDesc: The element is a Date construct @@ -3744,10 +4080,13 @@ IFClsETDef: @IFQName: AtomRightsElement @ETQName: atom|rights + @ETRQName: atom|rights @ClsQName: ManakaiAtomRightsElement @IFISA: AtomTextConstruct @ClsISA: ManakaiAtomTextConstruct + @mv:contains: TextAG + @mv:elementContentModel: TextCM @enDesc: The element is a Text construct @@ -3758,6 +4097,7 @@ IFClsETDef: @IFQName: AtomSourceElement @ETQName: atom|source + @ETRQName: atom|source @ClsQName: ManakaiAtomSourceElement @IFISA: AtomElement @@ -3967,10 +4307,13 @@ IFClsETDef: @IFQName: AtomSubtitleElement @ETQName: atom|subtitle + @ETRQName: atom|subtitle @ClsQName: ManakaiAtomSubtitleElement @IFISA: AtomTextConstruct @ClsISA: ManakaiAtomTextConstruct + @mv:contains: TextAG + @mv:elementContentModel: TextCM @enDesc: The element is a Text construct @@ -3980,10 +4323,13 @@ IFClsETDef: @IFQName: AtomSummaryElement @ETQName: atom|summary + @ETRQName: atom|summary @ClsQName: ManakaiAtomSummaryElement @IFISA: AtomTextConstruct @ClsISA: ManakaiAtomTextConstruct + @mv:contains: TextAG + @mv:elementContentModel: TextCM @enDesc: The element is a Text construct @@ -3993,10 +4339,13 @@ IFClsETDef: @IFQName: AtomTitleElement @ETQName: atom|title + @ETRQName: atom|title @ClsQName: ManakaiAtomTitleElement @IFISA: AtomTextConstruct @ClsISA: ManakaiAtomTextConstruct + @mv:contains: TextAG + @mv:elementContentModel: TextCM @enDesc: The element is a Text construct @@ -4006,10 +4355,13 @@ IFClsETDef: @IFQName: AtomUpdatedElement @ETQName: atom|updated + @ETRQName: atom|updated @ClsQName: ManakaiAtomUpdatedElement @IFISA: AtomDateConstruct @ClsISA: ManakaiAtomDateConstruct + @mv:contains: DateAG + @mv:elementContentModel: DateCM @enDesc: The element is a Date construct