--- messaging/manakai/lib/Message/Markup/Atom.dis 2006/05/20 10:13:02 1.6 +++ messaging/manakai/lib/Message/Markup/Atom.dis 2006/09/10 11:19:24 1.13 @@ -43,7 +43,7 @@ @DISCore:author: DISCore|Wakaba @License: license|Perl+MPL @Date: - $Date: 2006/05/20 10:13:02 $ + $Date: 2006/09/10 11:19:24 $ @Require: @@Module: @@ -55,6 +55,9 @@ @@@WithFor: ManakaiDOM|ManakaiDOM @@Module: @@@WithFor: ManakaiDOM|ManakaiDOMLatest + @@Module: + @@@QName: DISlib|DISMarkup + @@@WithFor: ManakaiDOM|all @DefaultFor: ManakaiDOM|ManakaiDOMLatest Namespace: @@ -64,18 +67,20 @@ http://suika.fam.cx/~wakaba/archive/2004/8/18/dom-core# @cfg: http://suika.fam.cx/www/2006/dom-config/ + @DISlib: + http://suika.fam.cx/~wakaba/archive/2004/dis/ @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: http://suika.fam.cx/~wakaba/archive/2004/dom/xdt# @DOMMain: http://suika.fam.cx/~wakaba/archive/2004/dom/main# @dx: http://suika.fam.cx/~wakaba/archive/2005/manakai/Util/Error/DOMException# + @dxm: + http://suika.fam.cx/~wakaba/archive/2004/dis/XML# @ecore: http://suika.fam.cx/~wakaba/archive/2005/manakai/Util/Error/Core/ @f: @@ -92,14 +97,10 @@ 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: http://suika.fam.cx/~wakaba/archive/2005/manakai/Markup# - @mat: - http://suika.fam.cx/~wakaba/archive/2005/manakai/Markup/Atom/ @MDOM: http://suika.fam.cx/~wakaba/archive/2004/8/18/manakai-dom#ManakaiDOM. @MDOMX: @@ -175,7 +176,7 @@ @@@@: DISLang|Attribute @@@ForCheck: ManakaiDOM|ForClass @@DISCore:resourceType: - @@@@: mv|Attribute + @@@@: mv|AttributeType @@@ForCheck: s|ForML @@ForCheck: !=ManakaiDOM|ManakaiDOM @@ -308,7 +309,8 @@ @ShadowContent: @@DISCore:resourceType: @@@@: dis|MultipleResource - @@@ForCheck: !ManakaiDOM|ForIF !ManakaiDOM|ForClass !s|ForML + @@@ForCheck: + !ManakaiDOM|ForIF !ManakaiDOM|ForClass !s|ForML !mv|ForCM !mv|ForAG @@resourceFor: ManakaiDOM|ForIF @@resourceFor: ManakaiDOM|ForClass @@resourceFor: mv|ForCM @@ -570,25 +572,30 @@ ModuleSetDef: @QName: Atom - @mv:id: atom - @mv:vid: 10 @enLN: Atom @mv:version: 1.0 - @mv:contains: AtomFeed - @mv:contains: AtomEntry - @mv:contains: AtomProperties @mv:contains: AtomDatatypes + @mv:contains: AtomProperties + @mv:contains: AtomEntry + @mv:contains: AtomFeed + @mv:contains: AtomQName + + @mv:targetNamespace: atom| + @mv:defaultNamespacePrefix: atom + @mv:systemIdentifierBaseURI: \ 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: @@ -596,28 +603,80 @@ @mv:id: props @enLN: Properties @mv:contains: atom|content + @mv:contains: atom|contributor @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|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: atom|email - @mv:contains: atom|uri + @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: atomUriCM + @mv:contains: atomEmailAddress + @mv:contains: atomEmailAddressCM + + @mv:contains: undefinedAttributes + @mv:contains: undefinedContent + @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 + +ResourceDef: + @QName: AtomQName + @enLN: Qualified Names + @mv:id: qname + @For: =ManakaiDOM|ManakaiDOMLatest + @DISCore:resourceType: mv|XMLDTDQNameModule + + @mv:contains: Atom + +ResourceDef: + @QName: Atom10 + @enLN: Atom 1.0 + @mv:id: atom10 + @For: =ManakaiDOM|ManakaiDOMLatest + @DISCore:resourceType: mv|XMLDTDDriver + + @mv:refers: Atom + + @mv:refers: AtomQName + @mv:refers: AtomDatatypes + @mv:refers: AtomProperties + @mv:refers: AtomEntry + @mv:refers: AtomFeed ElementTypeBinding: @Name: ModuleSetDef @@ -1561,6 +1620,109 @@ $test->assert_isa ($doc, ); ##AtomEntryDocument +AGDef: + @QName: atomCommonAttributes + @enFN: common attributes + @mv:attributeTypeGroupName: common + + @mv:refers: Atom + + @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 +STCDef: + @QName: atomUriCM + @mv:elementContentModelName: URI + @cm: (dxm|PCDATA||ManakaiDOM|all)* + +STDef: + @QName: atomEmailAddress + @mv:datatypeEntityName: EmailAddress + #subsetOf xsd|string + #pattern +STCDef: + @QName: atomEmailAddressCM + @mv:elementContentModelName: EmailAddress + @cm: (dxm|PCDATA||ManakaiDOM|all)* + +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 + +ElementTypeBinding: + @Name: STCDef + @ElementType: + dis:ResourceDef + @ShadowContent: + @@DISCore:resourceType: mv|ElementContentModel + @@For: =ManakaiDOM|ManakaiDOMLatest + IFClsDef: @IFQName: AtomElement @ClsQName: ManakaiAtomElement @@ -1619,6 +1781,13 @@ @@ContentType: DISCore|QName @ForCheck: =ManakaiDOM|all +ElementTypeBinding: + @Name: cm + @ElementType: + mv:elementContentModel + @ShadowContent: + @@ContentType: lang|dcmodel + IFClsConstructDef: @IFQName: AtomTextConstruct @ClsQName: ManakaiAtomTextConstruct @@ -1630,6 +1799,17 @@ @IFISA: AtomElement @ClsISA: ManakaiAtomElement + @mv:refers: atomCommonAttributes + + @cm: + dxm|ANY||ManakaiDOM|all + @enImplNote: + @@ddid:cm + @@@: + {TODO:: + (dxm|PCDATA||ManakaiDOM|all | html|div)* + } + @enDesc: The interface provides convenience methods and attributes for nodes @@ -1638,7 +1818,7 @@ 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: @@ -1760,6 +1940,11 @@ @IFISA: AtomElement @ClsISA: ManakaiAtomElement + @mv:refers: atomCommonAttributes + + @cm: + (person-prop+) + @enDesc: The interface provides convenience methods and attributes for nodes @@ -1807,7 +1992,7 @@ @@Name: nameElement @@enDesc: The child element of the node. - @@Type: AtomElement + @@Type: AtomNameElement @@Get: @@@enDesc: It child element> @@ -1892,6 +2077,14 @@ }__; ##AtomPersonConstruct +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 @@ -1903,6 +2096,17 @@ @IFISA: AtomElement @ClsISA: ManakaiAtomElement + @mv:refers: atomCommonAttributes + + @cm: + (dxm|PCDATA||ManakaiDOM|all)* + @enImplNote: + @@ddid: cm + @@@: + {TODO:: + xsd|dateTime + } + @enDesc: The interface provides convenience methods and attributes for nodes @@ -1973,6 +2177,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 @@ -1982,6 +2203,11 @@ @IFISA: AtomElement @ClsISA: ManakaiAtomElement + @mv:refers: atomCommonAttributes + + @cm: + (feed-prop+, atom|entry*) + @enDesc: The element is the document element of an Atom Feed Document. @@ -2585,6 +2811,8 @@ (, 'updated'); $updatede-> (scalar time); $r-> ($updatede); + + $self-> ($r); }__; @@Test: @@ -2651,6 +2879,9 @@ $test->assert_num_not_equals (actual_value => $updated->, expected_value => 0); + + $test->id ('parent'); + $test->assert_equals ($ent->, $feed); @@Test: @@@QName: AtomFeedElement.addNewEntry.2.test @@@enDesc: @@ -2669,6 +2900,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 @@ -2678,6 +2926,11 @@ @IFISA: AtomElement @ClsISA: ManakaiAtomElement + @mv:refers: atomCommonAttributes + + @cm: + (entry-prop+) + @enDesc: The element represents an individual entry, acting as a container for metadata and data @@ -3198,6 +3451,93 @@ ##AtomEntryElement IFClsETDef: + @IFQName: AtomIdElement + @ETQName: atom|id + @ETRQName: atom|id + @ClsQName: ManakaiAtomIdElement + + @IFISA: AtomElement + @ClsISA: ManakaiAtomElement + + @mv:refers: atomCommonAttributes + + @cm: atomUriCM +##AtomIdElement + +IFClsETDef: + @IFQName: AtomIconElement + @ETQName: atom|icon + @ETRQName: atom|icon + @ClsQName: ManakaiAtomIconElement + + @IFISA: AtomElement + @ClsISA: ManakaiAtomElement + + @mv:refers: atomCommonAttributes + + @cm: atomUriCM +##AtomIconElement + +IFClsETDef: + @IFQName: AtomNameElement + @ETQName: atom|name + @ETRQName: atom|name + @ClsQName: ManakaiAtomNameElement + + @IFISA: AtomElement + @ClsISA: ManakaiAtomElement + + # no common attribs + @cm: TextCM + + @mv:refers: Atom +##AtomNameElement + +IFClsETDef: + @IFQName: AtomUriElement + @ETQName: atom|uri + @ETRQName: atom|uri + @ClsQName: ManakaiAtomUriElement + + @IFISA: AtomElement + @ClsISA: ManakaiAtomElement + + # no common attribs + @cm: atomUriCM + + @mv:refers: Atom +##AtomUriElement + +IFClsETDef: + @IFQName: AtomEmailElement + @ETQName: atom|email + @ETRQName: atom|email + @ClsQName: ManakaiAtomEmailElement + + @IFISA: AtomElement + @ClsISA: ManakaiAtomElement + + # no common attribs + @cm: atomEmailAddressCM + + @mv:refers: Atom +##AtomEmailElement + +IFClsETDef: + @IFQName: AtomLogoElement + @ETQName: atom|logo + @ETRQName: atom|logo + @ClsQName: ManakaiAtomLogoElement + + @IFISA: AtomElement + @ClsISA: ManakaiAtomElement + + @mv:refers: atomCommonAttributes + + @cm: atomUriCM +##AtomLogoElement + +IFClsETDef: @IFQName: AtomContentElement @ETQName: atom|content @ETRQName: atom|content @@ -3206,11 +3546,16 @@ @IFISA: AtomElement @ClsISA: ManakaiAtomElement + @mv:refers: atomCommonAttributes + + @cm: + dxm|ANY||ManakaiDOM|all + @enDesc: The element either contains or links to the content of the entry. - @Attr: + @ATTR: @@Name: type @@enDesc: The type of the element. @@ -3275,7 +3620,7 @@ $el-> (null); $test->assert_null ($el->); - @Attr: + @ATTR: @@Name: src @@enDesc: The source of the remote content of the element. @@ -3454,6 +3799,8 @@ @IFISA: AtomPersonConstruct @ClsISA: ManakaiAtomPersonConstruct + @mv:refers: PersonAG + @mv:elementContentModel: PersonCM @enDesc: The element is a Person construct that @@ -3469,6 +3816,10 @@ @IFISA: AtomElement @ClsISA: ManakaiAtomElement + @mv:refers: atomCommonAttributes + + @cm: undefinedContent + @enDesc: The element conveys information abut a category associated with an entry or feed. @@ -3582,6 +3933,8 @@ @IFISA: AtomPersonConstruct @ClsISA: ManakaiAtomPersonConstruct + @mv:refers: PersonAG + @mv:elementContentModel: PersonCM @enDesc: The element is a Person construct that @@ -3598,6 +3951,11 @@ @IFISA: AtomElement @ClsISA: ManakaiAtomElement + @mv:refers: atomCommonAttributes + + @cm: + (dxm|PCDATA||ManakaiDOM|all)* + @enDesc: The element identifies the agent used to generate a feed. @@ -3679,6 +4037,10 @@ @IFISA: AtomElement @ClsISA: ManakaiAtomElement + @mv:refers: atomCommonAttributes + + @cm: undefinedContent + @enDesc: The element defines a reference from an entry or feed to a Web resource. @@ -3942,6 +4304,8 @@ @IFISA: AtomDateConstruct @ClsISA: ManakaiAtomDateConstruct + @mv:refers: DateAG + @mv:elementContentModel: DateCM @enDesc: The element is a Date construct @@ -3960,6 +4324,8 @@ @IFISA: AtomTextConstruct @ClsISA: ManakaiAtomTextConstruct + @mv:refers: TextAG + @mv:elementContentModel: TextCM @enDesc: The element is a Text construct @@ -3967,6 +4333,23 @@ 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 @@ -3976,6 +4359,11 @@ @IFISA: AtomElement @ClsISA: ManakaiAtomElement + @mv:refers: atomCommonAttributes + + @cm: + (source-prop*) + @Attr: @@Name: authorElements @@enDesc: @@ -4185,6 +4573,8 @@ @IFISA: AtomTextConstruct @ClsISA: ManakaiAtomTextConstruct + @mv:refers: TextAG + @mv:elementContentModel: TextCM @enDesc: The element is a Text construct @@ -4199,6 +4589,8 @@ @IFISA: AtomTextConstruct @ClsISA: ManakaiAtomTextConstruct + @mv:refers: TextAG + @mv:elementContentModel: TextCM @enDesc: The element is a Text construct @@ -4213,6 +4605,8 @@ @IFISA: AtomTextConstruct @ClsISA: ManakaiAtomTextConstruct + @mv:refers: TextAG + @mv:elementContentModel: TextCM @enDesc: The element is a Text construct @@ -4227,6 +4621,8 @@ @IFISA: AtomDateConstruct @ClsISA: ManakaiAtomDateConstruct + @mv:refers: DateAG + @mv:elementContentModel: DateCM @enDesc: The element is a Date construct @@ -4317,3 +4713,33 @@ @@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 + +ResourceDef: + @QName: undefinedContent + @mv:elementContentModelName: undefined + @For: =ManakaiDOM|ManakaiDOMLatest + @DISCore:resourceType: mv|ElementContentModel + @cm: dxm|ANY||ManakaiDOM|all + @enImplNote: + (text | anyForeignElement)*