Module: @QName: MDOM|XDP @enFN: XDP DOM @enDesc: The , provides facility to compose XML DTD with its physical structure. @Namespace: http://suika.fam.cx/~wakaba/archive/2005/manakai/DOM/XDP/ @DISCore:author: DISCore|Wakaba @License: license|Perl+MPL @Date: $Date: 2006/12/30 13:25:34 $ @Require: @@Module: @@@QName: Markup|common @@Module: @@@QName: MDOM|TreeCore Namespace: @atom: http://www.w3.org/2005/Atom @c: http://suika.fam.cx/~wakaba/archive/2004/8/18/dom-core# @cfg: http://suika.fam.cx/www/2006/dom-config/ @dis: http://suika.fam.cx/~wakaba/archive/2004/8/18/lang#dis-- @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# @domperl: http://suika.fam.cx/~wakaba/archive/2006/dom/perl/ @dx: http://suika.fam.cx/~wakaba/archive/2005/manakai/Util/Error/DOMException# @ecore: http://suika.fam.cx/~wakaba/archive/2005/manakai/Util/Error/Core/ @f: http://suika.fam.cx/~wakaba/archive/2004/dom/feature# @fe: http://suika.fam.cx/www/2006/feature/ @html: http://www.w3.org/1999/xhtml @idl: http://suika.fam.cx/~wakaba/archive/2004/dis/IDL# @kwd: http://suika.fam.cx/~wakaba/archive/2005/rfc2119/ @lang: http://suika.fam.cx/~wakaba/archive/2004/8/18/lang# @license: http://suika.fam.cx/~wakaba/archive/2004/8/18/license# @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: http://suika.fam.cx/~wakaba/archive/2004/8/4/manakai-dom-exception# @dlp: http://suika.fam.cx/~wakaba/archive/2004/dis/Perl# @rel: http://www.iana.org/assignments/relation/ @s: http://suika.fam.cx/~wakaba/archive/2004/dis/Markup# @tc: http://suika.fam.cx/~wakaba/archive/2005/manakai/DOM/TreeCore/ @td: http://suika.fam.cx/~wakaba/archive/2005/manakai/DOM/Document/ @te: http://suika.fam.cx/~wakaba/archive/2005/manakai/DOM/Element/ @test: http://suika.fam.cx/~wakaba/archive/2004/dis/Test# @trv: http://suika.fam.cx/~wakaba/archive/2005/manakai/DOM/Traversal/ @tx: http://suika.fam.cx/~wakaba/archive/2005/manakai/DOM/XML/ @urigen: http://suika.fam.cx/~wakaba/archive/2005/manakai/URI/Generic/ @xdp: http://suika.fam.cx/~wakaba/archive/2005/manakai/DOM/XDP/ @xml: http://www.w3.org/XML/1998/namespace ElementTypeBinding: @Name: CODE @ElementType: dis:ResourceDef @ShadowContent: @@DISCore:resourceType: dlp|BlockCode @@ForCheck: ManakaiDOM|ForClass ElementTypeBinding: @Name: Method @ElementType: dis:ResourceDef @ShadowContent: @@DISCore:resourceType: DISLang|Method ElementTypeBinding: @Name: Param @ElementType: dis:ResourceDef @ShadowContent: @@DISCore:resourceType: DISLang|MethodParameter ElementTypeBinding: @Name: Return @ElementType: dis:ResourceDef @ShadowContent: @@DISCore:resourceType: DISLang|MethodReturn ElementTypeBinding: @Name: Attr @ElementType: dis:ResourceDef @ShadowContent: @@DISCore:resourceType: DISLang|Attribute ElementTypeBinding: @Name: CAttr @ElementType: dis:ResourceDef @ShadowContent: @@DISCore:resourceType: DISLang|Attribute @@ForCheck:ManakaiDOM|ForClass ElementTypeBinding: @Name: Get @ElementType: dis:ResourceDef @ShadowContent: @@DISCore:resourceType: DISLang|AttributeGet ElementTypeBinding: @Name: Set @ElementType: dis:ResourceDef @ShadowContent: @@DISCore:resourceType: DISLang|AttributeSet ElementTypeBinding: @Name: nullCase @ElementType: dis:ResourceDef @ShadowContent: @@DISCore:resourceType: ManakaiDOM|InCase @@Value: @@@is-null:1 ElementTypeBinding: @Name: PerlDef @ElementType: dis:Def @ShadowContent: @@ContentType: lang|Perl @@ForCheck: ManakaiDOM|ForClass ElementTypeBinding: @Name: PerlCDef @ElementType: dis:Def @ShadowContent: @@ContentType: lang|Perl ElementTypeBinding: @Name: enImplNote @ElementType: dis:ImplNote @ShadowContent: @@lang:en ElementTypeBinding: @Name: enFN @ElementType: dis:FullName @ShadowContent: @@lang:en ElementTypeBinding: @Name: IFClsETDef @ElementType: dis:ResourceDef @ShadowContent: @@DISCore:resourceType: @@@@: dis|MultipleResource @@@ForCheck: !ManakaiDOM|ForIF !ManakaiDOM|ForClass !s|ForML @@resourceFor: ManakaiDOM|ForIF @@resourceFor: ManakaiDOM|ForClass @@resourceFor: s|ForML @@DISCore:resourceType: @@@@: DISLang|Interface @@@ForCheck: ManakaiDOM|ForIF @@DISCore:resourceType: @@@@: DISLang|Class @@@ForCheck: ManakaiDOM|ForClass @@Implement: @@@@: ||+||ManakaiDOM|ForIF @@@ContentType: DISCore|TFPQNames @@@ForCheck: ManakaiDOM|ForClass @@s:elementType: @@@@: ||+||s|ForML @@@ContentType: DISCore|TFPQNames @@@DISCore:stopISARecursive:1 @@DISCore:resourceType: @@@@: s|ElementType @@@ForCheck: s|ForML @@f:implements: XDPFeature30 ElementTypeBinding: @Name: IFClsDef @ElementType: dis:ResourceDef @ShadowContent: @@DISCore:resourceType: @@@@: dis|MultipleResource @@@ForCheck: !ManakaiDOM|ForIF !ManakaiDOM|ForClass !s|ForML @@resourceFor: ManakaiDOM|ForIF @@resourceFor: ManakaiDOM|ForClass @@DISCore:resourceType: @@@@: DISLang|Interface @@@ForCheck: ManakaiDOM|ForIF @@DISCore:resourceType: @@@@: DISLang|Class @@@ForCheck: ManakaiDOM|ForClass @@Implement: @@@@: ||+||ManakaiDOM|ForIF @@@ContentType: DISCore|TFPQNames @@@ForCheck: ManakaiDOM|ForClass @@f:implements: XDPFeature30 ElementTypeBinding: @Name: IFQName @ElementType: dis:QName @ShadowContent: @@ForCheck: ManakaiDOM|ForIF ElementTypeBinding: @Name: ClsQName @ElementType: dis:QName @ShadowContent: @@ForCheck: ManakaiDOM|ForClass ElementTypeBinding: @Name: ETRQName @ElementType: dis:QName @ShadowContent: @@ForCheck: s|ForML ElementTypeBinding: @Name: ETQName @ElementType: dis:AppName @ShadowContent: @@ForCheck: s|ForML @@ContentType: DISCore|QName ElementTypeBinding: @Name: IFISA @ElementType: dis:ISA @ShadowContent: @@ForCheck: ManakaiDOM|ForIF ElementTypeBinding: @Name: ClsISA @ElementType: dis:ISA @ShadowContent: @@ForCheck: ManakaiDOM|ForClass ElementTypeBinding: @Name: disDef @ElementType: dis:Def @ShadowContent: @@ContentType: lang:dis @@ForCheck: ManakaiDOM|ForClass ElementTypeBinding: @Name: Code @ElementType: dis:ResourceDef @ShadowContent: @@DISCore:resourceType: dlp|InlineCode @@ForCheck: ManakaiDOM|ForClass ElementTypeBinding: @Name: Test @ElementType: dis:ResourceDef @ShadowContent: @@DISCore:resourceType: test|StandaloneTest @@ForCheck: ManakaiDOM|ForClass ElementTypeBinding: @Name: TestC @ElementType: dis:ResourceDef @ShadowContent: @@DISCore:resourceType: test|StandaloneTest ResourceDef: @QName: Document @AliasFor: td|Document ResourceDef: @QName: Element @AliasFor: te|Element ResourceDef: @QName: Attr @AliasFor: te|Attr ResourceDef: @QName: Text @AliasFor: te|Text ResourceDef: @QName: DOMString @AliasFor: DOMMain|DOMString ResourceDef: @QName: boolean @AliasFor: idl|boolean ResourceDef: @QName: Node @AliasFor: tc|Node ResourceDef: @QName: NodeFilter @AliasFor: trv|NodeFilter ResourceDef: @QName: TreeWalker @AliasFor: trv|TreeWalker ElementTypeBinding: @Name: enDesc @ElementType: dis:Description @ShadowContent: @@lang:en ElementTypeBinding: @Name: TrueCase @ElementType: dis:ResourceDef @ShadowContent: @@DISCore:resourceType: ManakaiDOM:InCase @@Value: @@@@: 1 @@@ContentType: DISCore|Boolean @@Type: idl|boolean ElementTypeBinding: @Name: FalseCase @ElementType: dis:ResourceDef @ShadowContent: @@DISCore:resourceType: ManakaiDOM:InCase @@Value: @@@@: 0 @@@ContentType: DISCore|Boolean @@Type: idl|boolean ## -- Features ElementTypeBinding: @Name: FeatureDef @ElementType: dis:ResourceDef @ShadowContent: @@DISCore:resourceType: f|Feature ElementTypeBinding: @Name: FeatureVerDef @ElementType: dis:ResourceDef @ShadowContent: @@DISCore:resourceType: f|Feature ElementTypeBinding: @Name: featureQName @ElementType: f:name @ShadowContent: @@ContentType: DISCore|QName FeatureDef: @featureQName: fe|XDP @QName: XDPFeature @FeatureVerDef: @@QName: XDPFeature30 @@f:version: 3.0 @@f:instanceOf: XDPFeature @@f:requires: tx|XMLFeature30 @@enDesc: The XDP DOM, version 3.0. ## -- Document IFClsDef: @IFQName: XDPDocument @ClsQName: ManakaiDOMXDPDocument @domperl:implementedByObjectsOf: Document @domperl:classImplementedByObjectsOf: td|ManakaiDOMDocument @f:implements: XDPFeature30 @enDesc: The interface provides a set of methods to create instances of XDP interfaces. If the implementation supports the feature version , objects also implement the interface. @Test: @@QName: XDPDocument.interface.test @@PerlDef: for ( , , , , ) { $test->id ($_); $test->assert_true (->isa ($_)); } @Test: @@QName: Document.getFeature.XDPDocument.test @@PerlDef: my $doc; __CODE{tc|createEmptyDocumentForTest:: $doc => $doc}__; my $docp = $doc->get_feature (, '3.0'); $test->id ($docp, ); @CODE: @@QName: createXDPDocumentForTest @@PerlDef: my $__edoc; __CODE{tc|createEmptyDocumentForTest:: $doc => $__edoc}__; $doc = $__edoc->get_feature ( => '3.0'); @Method: @@Name: createXDPS @@dlp:methodName: create_xdp_s @@enDesc: Creates a element. @@Param: @@@Name: value @@@Type: DOMString @@@enDesc: The value of the element. @@@nullCase: @@@@enDesc: The element's is set to a . @@Return: @@@Type: XDPElement @@@enDesc: The newly created element node. {P:: A new node with following attributes be returned: - ::: . - ::: . - ::: The document. - ::: , or a if is . } If a node is created, its attribute value be set to . @@@PerlDef: __DEEP{ $r = $self-> (, 's'); $r-> (defined $value ? $value : ' '); }__; @@Test: @@@QName: XDPDocument.createXDPS.1.test @@@PerlDef: my $doc; __CODE{createXDPDocumentForTest}__; my $value = "\t"; my $el = $doc-> ($value); $test->id ('interface'); $test->assert_isa ($el, ); $test->id ('namespaceURI'); $test->assert_equals ($el->, ); $test->id ('localName'); $test->assert_equals ($el->, 's'); $test->id ('textContent'); $test->assert_equals ($el->, $value); $test->id ('dtdText'); $test->assert_equals ($el->, $value); @@Test: @@@QName: XDPDocument.createXDPS.2.test @@@PerlDef: my $doc; __CODE{createXDPDocumentForTest}__; my $value = null; my $el = $doc-> ($value); $test->id ('interface'); $test->assert_isa ($el, ); $test->id ('namespaceURI'); $test->assert_equals ($el->, ); $test->id ('localName'); $test->assert_equals ($el->, 's'); $test->id ('textContent'); $test->assert_equals ($el->, ' '); $test->id ('dtdText'); $test->assert_equals ($el->, ' '); @Method: @@Name: createXDPName @@enDesc: Creates a element. @@Param: @@@Name: value @@@Type: DOMString @@@enDesc: The value of the element. @@@nullCase: @@@@enDesc: Same as an empty string. @@Return: @@@Type: XDPElement @@@enDesc: The newly created element node. {P:: A new node with following attributes be returned: - ::: . - ::: . - ::: The document. - ::: , or an empty string if is . } If a node is created, its attribute value be set to . @@@PerlDef: __DEEP{ $r = $self-> (, 'name'); $r-> (defined $value ? $value : ''); }__; @@Test: @@@QName: XDPDocument.createXDPName.1.test @@@PerlDef: my $doc; __CODE{createXDPDocumentForTest}__; my $value = "example-name"; my $el = $doc-> ($value); $test->id ('interface'); $test->assert_isa ($el, ); $test->id ('namespaceURI'); $test->assert_equals ($el->, ); $test->id ('localName'); $test->assert_equals ($el->, 'name'); $test->id ('textContent'); $test->assert_equals ($el->, $value); $test->id ('dtdText'); $test->assert_equals ($el->, $value); @@Test: @@@QName: XDPDocument.createXDPName.2.test @@@PerlDef: my $doc; __CODE{createXDPDocumentForTest}__; my $value = "example-name"; my $el = $doc-> (null); $test->id ('interface'); $test->assert_isa ($el, ); $test->id ('namespaceURI'); $test->assert_equals ($el->, ); $test->id ('localName'); $test->assert_equals ($el->, 'name'); $test->id ('textContent'); $test->assert_equals ($el->, ''); $test->id ('dtdText'); $test->assert_equals ($el->, ''); @Method: @@Name: createXDPNmtoken @@enDesc: Creates a element. @@Param: @@@Name: value @@@Type: DOMString @@@enDesc: The value of the element. @@@nullCase: @@@@enDesc: Same as an empty string. @@Return: @@@Type: XDPElement @@@enDesc: The newly created element node. {P:: A new node with following attributes be returned: - ::: . - ::: . - ::: The document. - ::: , or an empty string if is . } If a node is created, its attribute value be set to . @@@PerlDef: __DEEP{ $r = $self-> (, 'nmtoken'); $r-> (defined $value ? $value : ''); }__; @@Test: @@@QName: XDPDocument.createXDPNmtoken.1.test @@@PerlDef: my $doc; __CODE{createXDPDocumentForTest}__; my $value = "example-name"; my $el = $doc-> ($value); $test->id ('interface'); $test->assert_isa ($el, ); $test->id ('namespaceURI'); $test->assert_equals ($el->, ); $test->id ('localName'); $test->assert_equals ($el->, 'nmtoken'); $test->id ('textContent'); $test->assert_equals ($el->, $value); $test->id ('dtdText'); $test->assert_equals ($el->, $value); @@Test: @@@QName: XDPDocument.createXDPNmtoken.2.test @@@PerlDef: my $doc; __CODE{createXDPDocumentForTest}__; my $el = $doc-> (null); $test->id ('interface'); $test->assert_isa ($el, ); $test->id ('namespaceURI'); $test->assert_equals ($el->, ); $test->id ('localName'); $test->assert_equals ($el->, 'nmtoken'); $test->id ('textContent'); $test->assert_equals ($el->, ''); $test->id ('dtdText'); $test->assert_equals ($el->, ''); @Method: @@Name: createXDPKeyword @@enDesc: Creates a element. @@Param: @@@Name: value @@@Type: DOMString @@@enDesc: The value of the element. @@@nullCase: @@@@enDesc: Same as an empty string. @@Return: @@@Type: XDPElement @@@enDesc: The newly created element node. {P:: A new node with following attributes be returned: - ::: . - ::: . - ::: The document. - ::: , or an empty string if is . } If a node is created, its attribute value be set to . @@@PerlDef: __DEEP{ $r = $self-> (, 'keyword'); $r-> (defined $value ? $value : ''); }__; @@Test: @@@QName: XDPDocument.createXDPKeyword.1.test @@@PerlDef: my $doc; __CODE{createXDPDocumentForTest}__; my $value = "PUBLIC"; my $el = $doc-> ($value); $test->id ('interface'); $test->assert_isa ($el, ); $test->id ('namespaceURI'); $test->assert_equals ($el->, ); $test->id ('localName'); $test->assert_equals ($el->, 'keyword'); $test->id ('textContent'); $test->assert_equals ($el->, $value); $test->id ('dtdText'); $test->assert_equals ($el->, $value); @@Test: @@@QName: XDPDocument.createXDPKeyword.2.test @@@PerlDef: my $doc; __CODE{createXDPDocumentForTest}__; my $el = $doc-> (null); $test->id ('interface'); $test->assert_isa ($el, ); $test->id ('namespaceURI'); $test->assert_equals ($el->, ); $test->id ('localName'); $test->assert_equals ($el->, 'keyword'); $test->id ('textContent'); $test->assert_equals ($el->, ''); $test->id ('dtdText'); $test->assert_equals ($el->, ''); @Method: @@Name: createXDPRNIKeyword @@dlp:methodName: create_xdp_rni_keyword @@enDesc: Creates a element. @@Param: @@@Name: value @@@Type: DOMString @@@enDesc: The value of the element. @@@nullCase: @@@@enDesc: Same as an empty string. @@Return: @@@Type: XDPRNIKeywordElement @@@enDesc: The newly created element node. {P:: A new node with following attributes be returned: - ::: . - ::: . - ::: The document. - ::: , or an empty string if is . } If a node is created, its attribute value be set to . @@@PerlDef: __DEEP{ $r = $self-> (, 'rni-keyword'); $r-> (defined $value ? $value : ''); }__; @@Test: @@@QName: XDPDocument.createXDPRNIKeyword.1.test @@@PerlDef: my $doc; __CODE{createXDPDocumentForTest}__; my $value = "PCDATA"; my $el = $doc-> ($value); $test->id ('interface'); $test->assert_isa ($el, ); $test->id ('namespaceURI'); $test->assert_equals ($el->, ); $test->id ('localName'); $test->assert_equals ($el->, 'rni-keyword'); $test->id ('textContent'); $test->assert_equals ($el->, $value); $test->id ('dtdText'); $test->assert_equals ($el->, '#'.$value); @@Test: @@@QName: XDPDocument.createXDPRNIKeyword.2.test @@@PerlDef: my $doc; __CODE{createXDPDocumentForTest}__; my $el = $doc-> (null); $test->id ('interface'); $test->assert_isa ($el, ); $test->id ('namespaceURI'); $test->assert_equals ($el->, ); $test->id ('localName'); $test->assert_equals ($el->, 'rni-keyword'); $test->id ('textContent'); $test->assert_equals ($el->, ''); $test->id ('dtdText'); $test->assert_equals ($el->, '#'); @Method: @@Name: createXDPDelimiter @@enDesc: Creates a element. @@Param: @@@Name: value @@@Type: DOMString @@@enDesc: The value of the element. @@@nullCase: @@@@enDesc: Same as an empty string. @@Return: @@@Type: XDPElement @@@enDesc: The newly created element node. {P:: A new node with following attributes be returned: - ::: . - ::: . - ::: The document. - ::: , or an empty string if is . } If a node is created, its attribute value be set to . @@@PerlDef: __DEEP{ $r = $self-> (, 'delimiter'); $r-> (defined $value ? $value : ''); }__; @@Test: @@@QName: XDPDocument.createXDPDelimiter.1.test @@@PerlDef: my $doc; __CODE{createXDPDocumentForTest}__; my $value = "%"; my $el = $doc-> ($value); $test->id ('interface'); $test->assert_isa ($el, ); $test->id ('namespaceURI'); $test->assert_equals ($el->, ); $test->id ('localName'); $test->assert_equals ($el->, 'delimiter'); $test->id ('textContent'); $test->assert_equals ($el->, $value); $test->id ('dtdText'); $test->assert_equals ($el->, $value); @@Test: @@@QName: XDPDocument.createXDPDelimiter.2.test @@@PerlDef: my $doc; __CODE{createXDPDocumentForTest}__; my $el = $doc-> (null); $test->id ('interface'); $test->assert_isa ($el, ); $test->id ('namespaceURI'); $test->assert_equals ($el->, ); $test->id ('localName'); $test->assert_equals ($el->, 'delimiter'); $test->id ('textContent'); $test->assert_equals ($el->, ''); $test->id ('dtdText'); $test->assert_equals ($el->, ''); @Method: @@Name: createXDPEntityValue @@enDesc: Creates a element. @@Param: @@@Name: value @@@Type: DOMString @@@enDesc: The value of the element. @@@nullCase: @@@@enDesc: Same as an empty string. @@Return: @@@Type: XDPEntityValueElement @@@enDesc: The newly created element node. {P:: A new node with following attributes be returned: - ::: . - ::: . - ::: The document. - ::: , or an empty string if is . } If a node is created, its attribute value be set to . @@@PerlDef: __DEEP{ $r = $self-> (, 'entity-value'); $r-> (defined $value ? $value : ''); }__; @@Test: @@@QName: XDPDocument.createXDPEntityValue.1.test @@@PerlDef: my $doc; __CODE{createXDPDocumentForTest}__; my $value = q; my $qvalue = q<'a%b;c&d;e"f"g'h'i'>; my $el = $doc-> ($value); $test->id ('interface'); $test->assert_isa ($el, ); $test->id ('namespaceURI'); $test->assert_equals ($el->, ); $test->id ('localName'); $test->assert_equals ($el->, 'entity-value'); $test->id ('textContent'); $test->assert_equals ($el->, $value); $test->id ('dtdText'); $test->assert_equals ($el->, $qvalue); @@Test: @@@QName: XDPDocument.createXDPEntityValue.2.test @@@PerlDef: my $doc; __CODE{createXDPDocumentForTest}__; my $el = $doc-> (null); $test->id ('interface'); $test->assert_isa ($el, ); $test->id ('namespaceURI'); $test->assert_equals ($el->, ); $test->id ('localName'); $test->assert_equals ($el->, 'entity-value'); $test->id ('textContent'); $test->assert_equals ($el->, ''); $test->id ('dtdText'); $test->assert_equals ($el->, '""'); @Method: @@Name: createXDPMinimumLiteral @@enDesc: Creates a element. @@Param: @@@Name: value @@@Type: DOMString @@@enDesc: The value of the element. @@@nullCase: @@@@enDesc: Same as an empty string. @@Return: @@@Type: XDPMinimumLiteralElement @@@enDesc: The newly created element node. {P:: A new node with following attributes be returned: - ::: . - ::: . - ::: The document. - ::: , or an empty string if is . } If a node is created, its attribute value be set to . @@@PerlDef: __DEEP{ $r = $self-> (, 'minimum-literal'); $r-> (defined $value ? $value : ''); }__; @@Test: @@@QName: XDPDocument.createXDPMinimumLiteral.1.test @@@PerlDef: my $doc; __CODE{createXDPDocumentForTest}__; my $value = q; my $qvalue = q<"a%b;c&d;e%22f%22g'h'i">; my $el = $doc-> ($value); $test->id ('interface'); $test->assert_isa ($el, ); $test->id ('namespaceURI'); $test->assert_equals ($el->, ); $test->id ('localName'); $test->assert_equals ($el->, 'minimum-literal'); $test->id ('textContent'); $test->assert_equals ($el->, $value); $test->id ('dtdText'); $test->assert_equals ($el->, $qvalue); @@Test: @@@QName: XDPDocument.createXDPMinimumLiteral.2.test @@@PerlDef: my $doc; __CODE{createXDPDocumentForTest}__; my $el = $doc-> (null); $test->id ('interface'); $test->assert_isa ($el, ); $test->id ('namespaceURI'); $test->assert_equals ($el->, ); $test->id ('localName'); $test->assert_equals ($el->, 'minimum-literal'); $test->id ('textContent'); $test->assert_equals ($el->, ''); $test->id ('dtdText'); $test->assert_equals ($el->, '""'); @Method: @@Name: createXDPSystemLiteral @@enDesc: Creates a element. @@Param: @@@Name: value @@@Type: DOMString @@@enDesc: The value of the element. @@@nullCase: @@@@enDesc: Same as an empty string. @@Return: @@@Type: XDPSystemLiteralElement @@@enDesc: The newly created element node. {P:: A new node with following attributes be returned: - ::: . - ::: . - ::: The document. - ::: , or an empty string if is . } If a node is created, its attribute value be set to . @@@PerlDef: __DEEP{ $r = $self-> (, 'system-literal'); $r-> (defined $value ? $value : ''); }__; @@Test: @@@QName: XDPDocument.createXDPSystemLiteral.1.test @@@PerlDef: my $doc; __CODE{createXDPDocumentForTest}__; my $value = q; my $qvalue = q<"a%b;c&d;e%22f%22g'h'i">; my $el = $doc-> ($value); $test->id ('interface'); $test->assert_isa ($el, ); $test->id ('namespaceURI'); $test->assert_equals ($el->, ); $test->id ('localName'); $test->assert_equals ($el->, 'system-literal'); $test->id ('textContent'); $test->assert_equals ($el->, $value); $test->id ('dtdText'); $test->assert_equals ($el->, $qvalue); @@Test: @@@QName: XDPDocument.createXDPSystemLiteral.2.test @@@PerlDef: my $doc; __CODE{createXDPDocumentForTest}__; my $el = $doc-> (null); $test->id ('interface'); $test->assert_isa ($el, ); $test->id ('namespaceURI'); $test->assert_equals ($el->, ); $test->id ('localName'); $test->assert_equals ($el->, 'system-literal'); $test->id ('textContent'); $test->assert_equals ($el->, ''); $test->id ('dtdText'); $test->assert_equals ($el->, '""'); @Method: @@Name: createXDPAttrLiteral @@enDesc: Creates a element. @@Param: @@@Name: value @@@Type: DOMString @@@enDesc: The value of the element. @@@nullCase: @@@@enDesc: Same as an empty string. @@Return: @@@Type: XDPAttrLiteralElement @@@enDesc: The newly created element node. {P:: A new node with following attributes be returned: - ::: . - ::: . - ::: The document. - ::: , or an empty string if is . } If a node is created, its attribute value be set to . @@@PerlDef: __DEEP{ $r = $self-> (, 'attr-literal'); $r-> (defined $value ? $value : ''); }__; @@Test: @@@QName: XDPDocument.createXDPAttrLiteral.1.test @@@PerlDef: my $doc; __CODE{createXDPDocumentForTest}__; my $value = q; my $qvalue = q<'a%b;c&d;e"f"g'h'i'>; my $el = $doc-> ($value); $test->id ('interface'); $test->assert_isa ($el, ); $test->id ('namespaceURI'); $test->assert_equals ($el->, ); $test->id ('localName'); $test->assert_equals ($el->, 'attr-literal'); $test->id ('textContent'); $test->assert_equals ($el->, $value); $test->id ('dtdText'); $test->assert_equals ($el->, $qvalue); @@Test: @@@QName: XDPDocument.createXDPAttrLiteral.2.test @@@PerlDef: my $doc; __CODE{createXDPDocumentForTest}__; my $el = $doc-> (null); $test->id ('interface'); $test->assert_isa ($el, ); $test->id ('namespaceURI'); $test->assert_equals ($el->, ); $test->id ('localName'); $test->assert_equals ($el->, 'attr-literal'); $test->id ('textContent'); $test->assert_equals ($el->, ''); $test->id ('dtdText'); $test->assert_equals ($el->, '""'); @Method: @@Name: createXDPCharRef @@enDesc: Creates an element. @@Param: @@@Name: value @@@Type: unsignedLong @@@enDesc: The code point of the character represented by the element to create. @@Return: @@@Type: XDPHCRElement @@@enDesc: The newly created element node. {P:: A new node with following attributes be returned: - ::: . - ::: . - ::: The document. - ::: A hexadecimal representation of the , in upper case. } If a node is created, its attribute value be set to . @@@PerlDef: __DEEP{ $r = $self-> (, 'hcr'); $r-> (sprintf '%04X', $value); }__; @@Test: @@@QName: XDPDocument.createXDPCharRef.1.test @@@PerlDef: my $doc; __CODE{createXDPDocumentForTest}__; my $el = $doc-> (0x4E00); $test->id ('interface'); $test->assert_isa ($el, ); $test->id ('namespaceURI'); $test->assert_equals ($el->, ); $test->id ('localName'); $test->assert_equals ($el->, 'hcr'); $test->id ('textContent'); $test->assert_equals ($el->, '4E00'); $test->id ('dtdText'); $test->assert_equals ($el->, '一'); @Method: @@Name: createXDPPERef @@dlp:methodName: create_xdp_peref @@enDesc: Creates a element. @@Param: @@@Name: value @@@Type: DOMString @@@enDesc: The value of the element, i.e. the name of the parameter entity. @@@nullCase: @@@@enDesc: Same as an empty string. @@Return: @@@Type: XDPPERefElement @@@enDesc: The newly created element node. {P:: A new node with following attributes be returned: - ::: . - ::: . - ::: The document. - ::: , or an empty string if is . } If a node is created, its attribute value be set to . @@@PerlDef: __DEEP{ $r = $self-> (, 'peref'); $r-> (defined $value ? $value : ''); }__; @@Test: @@@QName: XDPDocument.createXDPPERef.1.test @@@PerlDef: my $doc; __CODE{createXDPDocumentForTest}__; my $value = q; my $el = $doc-> ($value); $test->id ('interface'); $test->assert_isa ($el, ); $test->id ('namespaceURI'); $test->assert_equals ($el->, ); $test->id ('localName'); $test->assert_equals ($el->, 'peref'); $test->id ('textContent'); $test->assert_equals ($el->, $value); $test->id ('dtdText'); $test->assert_equals ($el->, '%'.$value.';'); @@Test: @@@QName: XDPDocument.createXDPPERef.2.test @@@PerlDef: my $doc; __CODE{createXDPDocumentForTest}__; my $el = $doc-> (null); $test->id ('interface'); $test->assert_isa ($el, ); $test->id ('namespaceURI'); $test->assert_equals ($el->, ); $test->id ('localName'); $test->assert_equals ($el->, 'peref'); $test->id ('textContent'); $test->assert_equals ($el->, ''); $test->id ('dtdText'); $test->assert_equals ($el->, '%;'); @Method: @@Name: createXDPGERef @@dlp:methodName: create_xdp_geref @@enDesc: Creates a element. @@Param: @@@Name: value @@@Type: DOMString @@@enDesc: The value of the element, i.e. the name of the general entity. @@@nullCase: @@@@enDesc: Same as an empty string. @@Return: @@@Type: XDPGERefElement @@@enDesc: The newly created element node. {P:: A new node with following attributes be returned: - ::: . - ::: . - ::: The document. - ::: , or an empty string if is . } If a node is created, its attribute value be set to . @@@PerlDef: __DEEP{ $r = $self-> (, 'geref'); $r-> (defined $value ? $value : ''); }__; @@Test: @@@QName: XDPDocument.createXDPGERef.1.test @@@PerlDef: my $doc; __CODE{createXDPDocumentForTest}__; my $value = q; my $el = $doc-> ($value); $test->id ('interface'); $test->assert_isa ($el, ); $test->id ('namespaceURI'); $test->assert_equals ($el->, ); $test->id ('localName'); $test->assert_equals ($el->, 'geref'); $test->id ('textContent'); $test->assert_equals ($el->, $value); $test->id ('dtdText'); $test->assert_equals ($el->, '&'.$value.';'); @@Test: @@@QName: XDPDocument.createXDPGERef.2.test @@@PerlDef: my $doc; __CODE{createXDPDocumentForTest}__; my $el = $doc-> (null); $test->id ('interface'); $test->assert_isa ($el, ); $test->id ('namespaceURI'); $test->assert_equals ($el->, ); $test->id ('localName'); $test->assert_equals ($el->, 'geref'); $test->id ('textContent'); $test->assert_equals ($el->, ''); $test->id ('dtdText'); $test->assert_equals ($el->, '&;'); @Method: @@Name: createXDPPAttr @@dlp:methodName: create_xdp_pattr @@enDesc: Creates a element. @@Param: @@@Name: name @@@Type: DOMString @@@enDesc: The name of the pseudo-attribute. @@@nullCase: @@@@enDesc: Same as an empty string. @@Param: @@@Name: value @@@Type: DOMString @@@enDesc: The value of the pseudo-attribute. @@@nullCase: @@@@enDesc: Same as an empty string. @@Return: @@@Type: XDPPAttrElement @@@enDesc: The newly created element node. {P:: A new node with following attributes be returned: - ::: . - ::: . - ::: The document. {LI:: ::: A new with three nodes in this order: {OLI:: - ::: . - ::: . - ::: . - ::: The document. - ::: , or an empty string if is . } {OLI:: - ::: . - ::: . - ::: . - ::: The document. - ::: . } {OLI:: - ::: . - ::: . - ::: . - ::: The document. - ::: , or an empty string if is . } } } If a node is created, its attribute value be set to . @@@PerlDef: __DEEP{ $r = $self-> (, 'pattr'); my $name_el = $self-> ($name); $r-> ($name_el); my $vi_el = $self-> ('='); $r-> ($vi_el); my $value_el = $self-> ($value); $r-> ($value_el); }__; @@Test: @@@QName: XDPDocument.createXDPPAttr.1.test @@@PerlDef: my $doc; __CODE{createXDPDocumentForTest}__; my $el = $doc-> ('paname' => 'pavalue'); $test->id ('interface'); $test->assert_isa ($el, ); $test->id ('namespaceURI'); $test->assert_equals ($el->, ); $test->id ('localName'); $test->assert_equals ($el->, 'pattr'); $test->id ('dtdText'); $test->assert_equals ($el->, 'paname="pavalue"'); @@Test: @@@QName: XDPDocument.createXDPPAttr.2.test @@@PerlDef: my $doc; __CODE{createXDPDocumentForTest}__; my $el = $doc-> (null, null); $test->id ('interface'); $test->assert_isa ($el, ); $test->id ('namespaceURI'); $test->assert_equals ($el->, ); $test->id ('localName'); $test->assert_equals ($el->, 'pattr'); $test->id ('dtdText'); $test->assert_equals ($el->, '=""'); @Method: @@Name: createXDPTextDecl @@enDesc: Creates a element. @@Param: @@@Name: version @@@Type: DOMString @@@enDesc: The value of the pseudo-attribute of the text declaration. @@@nullCase: @@@@enDesc: If is also , it is treated as if is specified. Otherwise, no pseudo-attribute will appear. @@Param: @@@Name: encoding @@@Type: DOMString @@@enDesc: The value of the pseudo-attribute of the text declaration. @@@nullCase: @@@@enDesc: No pseudo-attribute will appear. @@Return: @@@Type: XDPTextDeclElement @@@enDesc: The newly created element node. {P:: A new node with following attributes be returned: - ::: . - ::: . - ::: The document. } {P:: In addition, the returned node have following child nodes in order: = If is different from and / or if is , an node. = If is different from and / or if is , a pseudo-attribute node whose is and whose is , if it is not , or , otherwise. = An node. = If is different from , a pseudo-attribute node whose is and whose is . } {P:: node> be a that contains following attribute values: - ::: . - ::: . - ::: . - ::: The document. - ::: A . } with and be a that would be returned when the method on the document with parameters and were invoked. If a node is created, its attribute value be set to . @@@PerlDef: __DEEP{ $r = $self-> (, 'text-decl'); if (defined $version or not defined $encoding) { $r-> ($self-> (' ')); my $ver_el = $self-> (version => defined $version ? $version : '1.0'); $r-> ($ver_el); } if (defined $encoding) { $r-> ($self-> (' ')); my $enc_el = $self-> (encoding => $encoding); $r-> ($enc_el); } }__; @@Test: @@@QName: XDPDocument.createXDPTextDecl.1.test @@@PerlDef: my $doc; __CODE{createXDPDocumentForTest}__; my $el = $doc-> ('1.1', 'utf-8'); $test->id ('interface'); $test->assert_isa ($el, ); $test->id ('namespaceURI'); $test->assert_equals ($el->, ); $test->id ('localName'); $test->assert_equals ($el->, 'text-decl'); $test->id ('dtdText'); $test->assert_equals ($el->, ''); @@Test: @@@QName: XDPDocument.createXDPTextDecl.2.test @@@PerlDef: my $doc; __CODE{createXDPDocumentForTest}__; my $el = $doc-> ('1.1'); $test->id ('interface'); $test->assert_isa ($el, ); $test->id ('namespaceURI'); $test->assert_equals ($el->, ); $test->id ('localName'); $test->assert_equals ($el->, 'text-decl'); $test->id ('dtdText'); $test->assert_equals ($el->, ''); @@Test: @@@QName: XDPDocument.createXDPTextDecl.3.test @@@PerlDef: my $doc; __CODE{createXDPDocumentForTest}__; my $el = $doc-> (null, 'utf-8'); $test->id ('interface'); $test->assert_isa ($el, ); $test->id ('namespaceURI'); $test->assert_equals ($el->, ); $test->id ('localName'); $test->assert_equals ($el->, 'text-decl'); $test->id ('dtdText'); $test->assert_equals ($el->, ''); @@Test: @@@QName: XDPDocument.createXDPTextDecl.4.test @@@PerlDef: my $doc; __CODE{createXDPDocumentForTest}__; my $el = $doc->; $test->id ('interface'); $test->assert_isa ($el, ); $test->id ('namespaceURI'); $test->assert_equals ($el->, ); $test->id ('localName'); $test->assert_equals ($el->, 'text-decl'); $test->id ('dtdText'); $test->assert_equals ($el->, ''); @Method: @@Name: createXDPPI @@dlp:methodName: create_xdp_pi @@enDesc: Creates a element. @@Param: @@@Name: target @@@Type: DOMString @@@enDesc: The target of the processing instruction. @@@nullCase: @@@@enDesc: Same as an empty string. @@Param: @@@Name: data @@@Type: DOMString @@@enDesc: The content of the processing instruction. @@@nullCase: @@@@enDesc: No is inserted after the target. @@Return: @@@Type: XDPPIElement @@@enDesc: The newly created element node. {P:: A new node with following attributes be returned: - ::: . - ::: . - ::: The document. } If the is different from , the returned value contain two or three child element nodes: the target node, an node, and if the length of is greater than zero, the data node. Otherwise, it contain one child element node: the target node. {P:: be a that contains following attribute values: - ::: . - ::: . - ::: . - ::: The document. - ::: , or an empty string if is . } {P:: node> be a that contains following attribute values: - ::: . - ::: . - ::: . - ::: The document. - ::: A . } {P:: be a that contains following attribute values: - ::: . - ::: The document. - ::: . } If a node are created, its attribute value be set to . @@@PerlDef: __DEEP{ $r = $self-> (, 'pi'); $r-> ($self-> ($target)); if (defined $data) { $r-> ($self-> (' ')); $r-> ($data) if length $data; } }__; @@Test: @@@QName: XDPDocument.createXDPPI.1.test @@@PerlDef: my $doc; __CODE{createXDPDocumentForTest}__; my $el = $doc-> ('pitarget', 'pidata'); $test->id ('interface'); $test->assert_isa ($el, ); $test->id ('namespaceURI'); $test->assert_equals ($el->, ); $test->id ('localName'); $test->assert_equals ($el->, 'pi'); $test->id ('dtdText'); $test->assert_equals ($el->, ''); $test->id ('length'); $test->assert_num_equals (actual_value => 0+@{$el->}, expected_value => 3); @@Test: @@@QName: XDPDocument.createXDPPI.2.test @@@PerlDef: my $doc; __CODE{createXDPDocumentForTest}__; my $el = $doc-> ('pitarget'); $test->id ('interface'); $test->assert_isa ($el, ); $test->id ('namespaceURI'); $test->assert_equals ($el->, ); $test->id ('localName'); $test->assert_equals ($el->, 'pi'); $test->id ('dtdText'); $test->assert_equals ($el->, ''); $test->id ('length'); $test->assert_num_equals (actual_value => 0+@{$el->}, expected_value => 1); @@Test: @@@QName: XDPDocument.createXDPPI.3.test @@@PerlDef: my $doc; __CODE{createXDPDocumentForTest}__; my $el = $doc-> (null, 'pidata'); $test->id ('interface'); $test->assert_isa ($el, ); $test->id ('namespaceURI'); $test->assert_equals ($el->, ); $test->id ('localName'); $test->assert_equals ($el->, 'pi'); $test->id ('dtdText'); $test->assert_equals ($el->, ''); $test->id ('length'); $test->assert_num_equals (actual_value => 0+@{$el->}, expected_value => 3); @@Test: @@@QName: XDPDocument.createXDPPI.4.test @@@PerlDef: my $doc; __CODE{createXDPDocumentForTest}__; my $el = $doc->; $test->id ('interface'); $test->assert_isa ($el, ); $test->id ('namespaceURI'); $test->assert_equals ($el->, ); $test->id ('localName'); $test->assert_equals ($el->, 'pi'); $test->id ('dtdText'); $test->assert_equals ($el->, ''); $test->id ('length'); $test->assert_num_equals (actual_value => 0+@{$el->}, expected_value => 1); @Method: @@Name: createXDPComment @@enDesc: Creates a element. @@Param: @@@Name: value @@@Type: DOMString @@@enDesc: The value of the element, i.e. the content of the comment. @@@nullCase: @@@@enDesc: Same as an empty string. @@Return: @@@Type: XDPCommentElement @@@enDesc: The newly created element node. {P:: A new node with following attributes be returned: - ::: . - ::: . - ::: The document. - ::: , or an empty string if is . } If a node is created, its attribute value be set to . @@@PerlDef: __DEEP{ $r = $self-> (, 'comment'); $r-> (defined $value ? $value : ''); }__; @@Test: @@@QName: XDPDocument.createXDPComment.1.test @@@PerlDef: my $doc; __CODE{createXDPDocumentForTest}__; my $value = q; my $el = $doc-> ($value); $test->id ('interface'); $test->assert_isa ($el, ); $test->id ('namespaceURI'); $test->assert_equals ($el->, ); $test->id ('localName'); $test->assert_equals ($el->, 'comment'); $test->id ('textContent'); $test->assert_equals ($el->, $value); $test->id ('dtdText'); $test->assert_equals ($el->, ''); @@Test: @@@QName: XDPDocument.createXDPComment.2.test @@@PerlDef: my $doc; __CODE{createXDPDocumentForTest}__; my $el = $doc-> (null); $test->id ('interface'); $test->assert_isa ($el, ); $test->id ('namespaceURI'); $test->assert_equals ($el->, ); $test->id ('localName'); $test->assert_equals ($el->, 'comment'); $test->id ('textContent'); $test->assert_equals ($el->, ''); $test->id ('dtdText'); $test->assert_equals ($el->, ''); @Method: @@Name: createXDPMarkedSectionStatus @@enDesc: Creates a element. @@Param: @@@Name: value @@@Type: DOMString @@@enDesc: The value of the element. @@@nullCase: @@@@enDesc: Same as an empty string. @@Return: @@@Type: XDPMarkedSectionStatusElement @@@enDesc: The newly created element node. {P:: A new node with following attributes be returned: - ::: . - ::: . - ::: The document. } {P:: If is not and its length is greater than zero, the returned node contain a with following attributes: - ::: . - ::: . - ::: The document. - ::: . } If a node is created, its attribute value be set to . @@@PerlDef: __DEEP{ $r = $self-> (, 'marked-section-status'); if (defined $value and length $value) { $r-> ($self-> ($value)); } }__; @@Test: @@@QName: XDPDocument.createXDPMarkedSectionStatus.1.test @@@PerlDef: my $doc; __CODE{createXDPDocumentForTest}__; my $value = q; my $el = $doc-> ($value); $test->id ('interface'); $test->assert_isa ($el, ); $test->id ('namespaceURI'); $test->assert_equals ($el->, ); $test->id ('localName'); $test->assert_equals ($el->, 'marked-section-status'); $test->id ('textContent'); $test->assert_equals ($el->, $value); $test->id ('dtdText'); $test->assert_equals ($el->, $value.'['); @@Test: @@@QName: XDPDocument.createXDPMarkedSectionStatus.2.test @@@PerlDef: my $doc; __CODE{createXDPDocumentForTest}__; my $el = $doc-> (null); $test->id ('interface'); $test->assert_isa ($el, ); $test->id ('namespaceURI'); $test->assert_equals ($el->, ); $test->id ('localName'); $test->assert_equals ($el->, 'marked-section-status'); $test->id ('textContent'); $test->assert_equals ($el->, ''); $test->id ('dtdText'); $test->assert_equals ($el->, '['); @Method: @@Name: createXDPMarkedSection @@enDesc: Creates a element. @@Param: @@@Name: status @@@Type: DOMString @@@enDesc: The status value of the marked section. @@@nullCase: @@@@enDesc: Same as an empty string. @@Param: @@@Name: value @@@Type: DOMString @@@enDesc: The value of the marked section. @@@nullCase: @@@@enDesc: Same as an empty string. @@Return: @@@Type: XDPMarkedSectionElement @@@enDesc: The newly created element node. {P:: A new node with following attributes be returned: - ::: . - ::: . - ::: The document. } The returned node contain a child node that would be returned when the method on the document is invoked with as a parameter. {P:: If is not and the length of is greater than zero, the node have a with following attributes: - ::: . - ::: The document. - ::: , or an empty string if is . } If a node is created, its attribute value be set to . @@@PerlDef: __DEEP{ $r = $self-> (, 'marked-section'); my $mss_el = $self-> ($status); $r-> ($mss_el); $r-> ($value) if defined $value and length $value; }__; @@Test: @@@QName: XDPDocument.createXDPMarkedSection.1.test @@@PerlDef: my $doc; __CODE{createXDPDocumentForTest}__; my $el = $doc-> ('IGNORE', 'a'); $test->id ('interface'); $test->assert_isa ($el, ); $test->id ('namespaceURI'); $test->assert_equals ($el->, ); $test->id ('localName'); $test->assert_equals ($el->, 'marked-section'); $test->id ('dtdText'); $test->assert_equals ($el->, ''); @@Test: @@@QName: XDPDocument.createXDPMarkedSection.2.test @@@PerlDef: my $doc; __CODE{createXDPDocumentForTest}__; my $el = $doc-> ('IGNORE'); $test->id ('interface'); $test->assert_isa ($el, ); $test->id ('namespaceURI'); $test->assert_equals ($el->, ); $test->id ('localName'); $test->assert_equals ($el->, 'marked-section'); $test->id ('dtdText'); $test->assert_equals ($el->, ''); @@Test: @@@QName: XDPDocument.createXDPMarkedSection.3.test @@@PerlDef: my $doc; __CODE{createXDPDocumentForTest}__; my $el = $doc-> (null, 'a'); $test->id ('interface'); $test->assert_isa ($el, ); $test->id ('namespaceURI'); $test->assert_equals ($el->, ); $test->id ('localName'); $test->assert_equals ($el->, 'marked-section'); $test->id ('dtdText'); $test->assert_equals ($el->, ''); @@Test: @@@QName: XDPDocument.createXDPMarkedSection.4.test @@@PerlDef: my $doc; __CODE{createXDPDocumentForTest}__; my $el = $doc->; $test->id ('interface'); $test->assert_isa ($el, ); $test->id ('namespaceURI'); $test->assert_equals ($el->, ); $test->id ('localName'); $test->assert_equals ($el->, 'marked-section'); $test->id ('dtdText'); $test->assert_equals ($el->, ''); @Method: @@Name: createXDPNotation @@enDesc: Creates a element. @@Param: @@@Name: name @@@Type: DOMString @@@enDesc: The name of the declaration. @@@nullCase: @@@@enDesc: All parameters are ignored. @@Param: @@@Name: publicId @@@Type: DOMString @@@enDesc: The public identifier in the declaration. @@@nullCase: @@@@enDesc: No public identifier. @@Param: @@@Name: systemId @@@Type: DOMString @@@enDesc: The system identifier in the declaration. @@@nullCase: @@@@enDesc: No system identifier. @@Return: @@@Type: XDPNotationElement @@@enDesc: The newly created element node. {P:: A new node with following attributes be returned: - ::: . - ::: . - ::: The document. } {P:: A series of nodes be associated to the returned node as if the following algorithm were applied: = If is , stop the algorithm. = Create a node by on the document with a as a parameter and append the node to the returned element by the method. = Create a node by on the document with as a parameter and append the node to the returned element by the method. {OLI:: If is different from , = Create a node by on the document with a as a parameter and append the node to the returned element by the method. = Create a node by on the document with a string as a parameter and append the node to the returned element by the method. = Create a node by on the document with a as a parameter and append the node to the returned element by the method. = Create a node by on the document with as a parameter and append the node to the returned element by the method. } {OLI:: If is different from and is , = Create a node by on the document with a as a parameter and append the node to the returned element by the method. = Create a node by on the document with a string as a parameter and append the node to the returned element by the method. } {OLI:: If is different from and is , = Create a node by on the document with a as a parameter and append the node to the returned element by the method. = Create a node by on the document with as a parameter and append the node to the returned element by the method. } } @@@PerlDef: __DEEP{ $r = $self-> (, 'notation'); if (defined $name) { $r-> ($self-> (' ')); $r-> ($self-> ($name)); if (defined $publicId) { $r-> ($self-> (' ')); $r-> ($self-> ('PUBLIC')); $r-> ($self-> (' ')); $r-> ($self-> ($publicId)); if (defined $systemId) { $r-> ($self-> (' ')); $r-> ($self-> ($systemId)); } } elsif (defined $systemId) { $r-> ($self-> (' ')); $r-> ($self-> ('SYSTEM')); $r-> ($self-> (' ')); $r-> ($self-> ($systemId)); } } }__; @@Test: @@@QName: XDPDocument.createXDPNotation.1.test @@@PerlDef: my $doc; __CODE{createXDPDocumentForTest}__; my $el = $doc-> ('iname', 'pubid', 'sysid'); $test->id ('interface'); $test->assert_isa ($el, ); $test->id ('namespaceURI'); $test->assert_equals ($el->, ); $test->id ('localName'); $test->assert_equals ($el->, 'notation'); $test->id ('dtdText'); $test->assert_equals ($el->, ''); @@Test: @@@QName: XDPDocument.createXDPNotation.2.test @@@PerlDef: my $doc; __CODE{createXDPDocumentForTest}__; my $el = $doc-> ('iname', 'pubid'); $test->id ('dtdText'); $test->assert_equals ($el->, ''); @@Test: @@@QName: XDPDocument.createXDPNotation.3.test @@@PerlDef: my $doc; __CODE{createXDPDocumentForTest}__; my $el = $doc-> ('iname'); $test->id ('dtdText'); $test->assert_equals ($el->, ''); @@Test: @@@QName: XDPDocument.createXDPNotation.4.test @@@PerlDef: my $doc; __CODE{createXDPDocumentForTest}__; my $el = $doc->; $test->id ('dtdText'); $test->assert_equals ($el->, ''); @@Test: @@@QName: XDPDocument.createXDPNotation.5.test @@@PerlDef: my $doc; __CODE{createXDPDocumentForTest}__; my $el = $doc-> ('iname', null, 'sysid'); $test->id ('dtdText'); $test->assert_equals ($el->, ''); @@Test: @@@QName: XDPDocument.createXDPNotation.6.test @@@PerlDef: my $doc; __CODE{createXDPDocumentForTest}__; my $el = $doc-> (null, null, 'sysid'); $test->id ('dtdText'); $test->assert_equals ($el->, ''); @@Test: @@@QName: XDPDocument.createXDPNotation.7.test @@@PerlDef: my $doc; __CODE{createXDPDocumentForTest}__; my $el = $doc-> (null, 'pubid'); $test->id ('dtdText'); $test->assert_equals ($el->, ''); @@Test: @@@QName: XDPDocument.createXDPNotation.8.test @@@PerlDef: my $doc; __CODE{createXDPDocumentForTest}__; my $el = $doc-> (null, 'pubid', 'sysid'); $test->id ('dtdText'); $test->assert_equals ($el->, ''); @Method: @@Name: createXDPEntity @@enDesc: Creates a element. @@Param: @@@Name: isPE @@@Type: boolean @@@enDesc: Whether the declaration declares a parameter entity or not. @@@TrueCase: @@@@enDesc: The declaration declares a parameter entity. A delimiter will be appended to the return node. @@@FalseCase: @@@@enDesc: The declaration is not known to declare a parameter entity. @@Param: @@@Name: name @@@Type: DOMString @@@enDesc: The name of the declaration. @@@nullCase: @@@@enDesc: All parameters are ignored. @@Param: @@@Name: value @@@Type: DOMString @@@enDesc: The literal replacement text of the declaration. @@@nullCase: @@@@enDesc: Same as an empty string or no entity value in the declaration, depending on whether the parameters are or not. @@Param: @@@Name: publicId @@@Type: DOMString @@@enDesc: The public identifier in the declaration. @@@nullCase: @@@@enDesc: No public identifier. @@Param: @@@Name: systemId @@@Type: DOMString @@@enDesc: The system identifier in the declaration. @@@nullCase: @@@@enDesc: No system identifier. @@Param: @@@Name: notation @@@Type: DOMString @@@enDesc: The notation name in the declaration. @@@nullCase: @@@@enDesc: No notation name. @@Return: @@@Type: XDPEntityElement @@@enDesc: The newly created element node. {P:: A new node with following attributes be returned: - ::: . - ::: . - ::: The document. } {P:: A series of nodes be associated to the returned node as if the following algorithm were applied: {OLI:: If is , = Create a node by on the document with a as a parameter and append the node to the returned element by the method. = Create a node by on the document with a as a parameter and append the node to the returned element by the method. } = If is , stop the algorithm. = Create a node by on the document with a as a parameter and append the node to the returned element by the method. = Create a node by on the document with as a parameter and append the node to the returned element by the method. {OLI:: If is different from , {OLI:: If is different from , = Create a node by on the document with a as a parameter and append the node to the returned element by the method. = Create a node by on the document with a string as a parameter and append the node to the returned element by the method. = Create a node by on the document with a as a parameter and append the node to the returned element by the method. = Create a node by on the document with as a parameter and append the node to the returned element by the method. } {OLI:: Otherwise, = Create a node by on the document with a as a parameter and append the node to the returned element by the method. = Create a node by on the document with a string as a parameter and append the node to the returned element by the method. } = Create a node by on the document with a as a parameter and append the node to the returned element by the method. = Create a node by on the document with as a parameter and append the node to the returned element by the method. {OLI:: If is different from and is , = Create a node by on the document with a as a parameter and append the node to the returned element by the method. = Create a node by on the document with a string as a parameter and append the node to the returned element by the method. = Create a node by on the document with a as a parameter and append the node to the returned element by the method. = Create a node by on the document with as a parameter and append the node to the returned element by the method. } } {OLI:: Otherwise, = Create a node by on the document with a as a parameter and append the node to the returned element by the method. = Create a node by on the document with as a parameter and append the node to the returned element by the method. } } @@@PerlDef: __DEEP{ $r = $self-> (, 'entity'); if ($isPE) { $r-> ($self-> (' ')); $r-> ($self-> ('%')); } if (defined $name) { $r-> ($self-> (' ')); $r-> ($self-> ($name)); if (defined $systemId) { if (defined $publicId) { $r-> ($self-> (' ')); $r-> ($self-> ('PUBLIC')); $r-> ($self-> (' ')); $r-> ($self-> ($publicId)); $r-> ($self-> (' ')); $r-> ($self-> ($systemId)); } else { $r-> ($self-> (' ')); $r-> ($self-> ('SYSTEM')); $r-> ($self-> (' ')); $r-> ($self-> ($systemId)); } if (defined $notation and not $isPE) { $r-> ($self-> (' ')); $r-> ($self-> ('NDATA')); $r-> ($self-> (' ')); $r-> ($self-> ($notation)); } } else { $r-> ($self-> (' ')); $r-> ($self-> ($value)); } } }__; @@Test: @@@QName: XDPDocument.createXDPEntity.1.test @@@PerlDef: my $doc; __CODE{createXDPDocumentForTest}__; my $el = $doc-> (true, 'iname', 'evalue', 'pubid', 'sysid', 'nname'); $test->id ('interface'); $test->assert_isa ($el, ); $test->id ('namespaceURI'); $test->assert_equals ($el->, ); $test->id ('localName'); $test->assert_equals ($el->, 'entity'); $test->id ('dtdText'); $test->assert_equals ($el->, ''); @@Test: @@@QName: XDPDocument.createXDPEntity.2.test @@@PerlDef: my $doc; __CODE{createXDPDocumentForTest}__; my $el = $doc-> (false, 'iname', 'evalue', 'pubid', 'sysid', 'nname'); $test->id ('dtdText'); $test->assert_equals ($el->, ''); @@Test: @@@QName: XDPDocument.createXDPEntity.3.test @@@PerlDef: my $doc; __CODE{createXDPDocumentForTest}__; my $el = $doc-> (false, 'iname', 'evalue', 'pubid', 'sysid'); $test->id ('dtdText'); $test->assert_equals ($el->, ''); @@Test: @@@QName: XDPDocument.createXDPEntity.4.test @@@PerlDef: my $doc; __CODE{createXDPDocumentForTest}__; my $el = $doc-> (true, 'iname', 'evalue', 'pubid', 'sysid'); $test->id ('dtdText'); $test->assert_equals ($el->, ''); @@Test: @@@QName: XDPDocument.createXDPEntity.5.test @@@PerlDef: my $doc; __CODE{createXDPDocumentForTest}__; my $el = $doc-> (false, 'iname', 'evalue', null, 'sysid'); $test->id ('dtdText'); $test->assert_equals ($el->, ''); @@Test: @@@QName: XDPDocument.createXDPEntity.6.test @@@PerlDef: my $doc; __CODE{createXDPDocumentForTest}__; my $el = $doc-> (true, 'iname', 'evalue', null, 'sysid'); $test->id ('dtdText'); $test->assert_equals ($el->, ''); @@Test: @@@QName: XDPDocument.createXDPEntity.7.test @@@PerlDef: my $doc; __CODE{createXDPDocumentForTest}__; my $el = $doc-> (false, 'iname', 'evalue'); $test->id ('dtdText'); $test->assert_equals ($el->, ''); @@Test: @@@QName: XDPDocument.createXDPEntity.8.test @@@PerlDef: my $doc; __CODE{createXDPDocumentForTest}__; my $el = $doc-> (true, 'iname', 'evalue'); $test->id ('dtdText'); $test->assert_equals ($el->, ''); @@Test: @@@QName: XDPDocument.createXDPEntity.9.test @@@PerlDef: my $doc; __CODE{createXDPDocumentForTest}__; my $el = $doc-> (false, 'iname'); $test->id ('dtdText'); $test->assert_equals ($el->, ''); @@Test: @@@QName: XDPDocument.createXDPEntity.10.test @@@PerlDef: my $doc; __CODE{createXDPDocumentForTest}__; my $el = $doc-> (false); $test->id ('dtdText'); $test->assert_equals ($el->, ''); @@Test: @@@QName: XDPDocument.createXDPEntity.11.test @@@PerlDef: my $doc; __CODE{createXDPDocumentForTest}__; my $el = $doc-> (true); $test->id ('dtdText'); $test->assert_equals ($el->, ''); @Method: @@Name: createXDPEnumGroup @@enDesc: Creates a element. @@Return: @@@Type: XDPEnumGroupElement @@@enDesc: The newly created element node. {P:: A new node with following attributes be returned: - ::: . - ::: . - ::: The document. } @@@PerlDef: __DEEP{ $r = $self-> (, 'enum-group'); }__; @@Test: @@@QName: XDPDocument.createXDPEnumGroup.1.test @@@PerlDef: my $doc; __CODE{createXDPDocumentForTest}__; my $el = $doc->; $test->id ('interface'); $test->assert_isa ($el, ); $test->id ('namespaceURI'); $test->assert_equals ($el->, ); $test->id ('localName'); $test->assert_equals ($el->, 'enum-group'); $test->id ('dtdText'); $test->assert_equals ($el->, '()'); @Method: @@Name: createXDPModelGroup @@enDesc: Creates a element. @@Return: @@@Type: XDPModelGroupElement @@@enDesc: The newly created element node. {P:: A new node with following attributes be returned: - ::: . - ::: . - ::: The document. } @@@PerlDef: __DEEP{ $r = $self-> (, 'model-group'); }__; @@Test: @@@QName: XDPDocument.createXDPModelGroup.1.test @@@PerlDef: my $doc; __CODE{createXDPDocumentForTest}__; my $el = $doc->; $test->id ('interface'); $test->assert_isa ($el, ); $test->id ('namespaceURI'); $test->assert_equals ($el->, ); $test->id ('localName'); $test->assert_equals ($el->, 'model-group'); $test->id ('dtdText'); $test->assert_equals ($el->, '()'); @Method: @@Name: createXDPAttrDefinition @@enDesc: Creates a element. {ISSUE:: Declared type and default type parameters should be added? } @@Param: @@@Name: name @@@Type: DOMString @@@enDesc: The name of the attribute. @@@nullCase: @@@@enDesc: All parameters are ignored. @@Return: @@@Type: XDPElement @@@enDesc: The newly created element node. {P:: A new node with following attributes be returned: - ::: . - ::: . - ::: The document. } {P:: If is different from , a node with following attributes be appended to the returned node as if the method were invoked. - ::: . - ::: . - ::: The document. - ::: . } @@@PerlDef: __DEEP{ $r = $self-> (, 'attr-definition'); $r-> ($self-> ($name)) if defined $name; }__; @@Test: @@@QName: XDPDocument.createXDPAttrDefinition.1.test @@@PerlDef: my $doc; __CODE{createXDPDocumentForTest}__; my $el = $doc-> ('aname'); $test->id ('interface'); $test->assert_isa ($el, ); $test->id ('namespaceURI'); $test->assert_equals ($el->, ); $test->id ('localName'); $test->assert_equals ($el->, 'attr-definition'); $test->id ('dtdText'); $test->assert_equals ($el->, 'aname'); @@Test: @@@QName: XDPDocument.createXDPAttrDefinition.2.test @@@PerlDef: my $doc; __CODE{createXDPDocumentForTest}__; my $el = $doc->; $test->id ('interface'); $test->assert_isa ($el, ); $test->id ('namespaceURI'); $test->assert_equals ($el->, ); $test->id ('localName'); $test->assert_equals ($el->, 'attr-definition'); $test->id ('dtdText'); $test->assert_equals ($el->, ''); @Method: @@Name: createXDPAttlist @@enDesc: Creates a element. @@Param: @@@Name: name @@@Type: DOMString @@@enDesc: The name in the declaration. @@@nullCase: @@@@enDesc: The declaration does not contain any name. @@Return: @@@Type: XDPAttlistElement @@@enDesc: The newly created element node. {P:: A new node with following attributes be returned: - ::: . - ::: . - ::: The document. } {P:: If is different from , two nodes with following attributes be appended to the returned node as if the method were invoked in order. {LI:: - ::: . - ::: . - ::: The document. - ::: A . } {LI:: - ::: . - ::: . - ::: The document. - ::: . } } @@@PerlDef: __DEEP{ $r = $self-> (, 'attlist'); if (defined $name) { $r-> ($self-> (' ')); $r-> ($self-> ($name)); } }__; @@Test: @@@QName: XDPDocument.createXDPAttlist.1.test @@@PerlDef: my $doc; __CODE{createXDPDocumentForTest}__; my $el = $doc-> ('aname'); $test->id ('interface'); $test->assert_isa ($el, ); $test->id ('namespaceURI'); $test->assert_equals ($el->, ); $test->id ('localName'); $test->assert_equals ($el->, 'attlist'); $test->id ('dtdText'); $test->assert_equals ($el->, ''); @@Test: @@@QName: XDPDocument.createXDPAttlist.2.test @@@PerlDef: my $doc; __CODE{createXDPDocumentForTest}__; my $el = $doc->; $test->id ('interface'); $test->assert_isa ($el, ); $test->id ('namespaceURI'); $test->assert_equals ($el->, ); $test->id ('localName'); $test->assert_equals ($el->, 'attlist'); $test->id ('dtdText'); $test->assert_equals ($el->, ''); @Method: @@Name: createXDPElement @@enDesc: Creates a element. {ISSUE:: Should declared content parameter be added? } @@Param: @@@Name: name @@@Type: DOMString @@@enDesc: The name in the declaration. @@@nullCase: @@@@enDesc: The declaration does not contain any name. @@Return: @@@Type: XDPElementElement @@@enDesc: The newly created element node. {P:: A new node with following attributes be returned: - ::: . - ::: . - ::: The document. } {P:: If is different from , two nodes with following attributes be appended to the returned node as if the method were invoked in order. {LI:: - ::: . - ::: . - ::: The document. - ::: A . } {LI:: - ::: . - ::: . - ::: The document. - ::: . } } @@@PerlDef: __DEEP{ $r = $self-> (, 'element'); if (defined $name) { $r-> ($self-> (' ')); $r-> ($self-> ($name)); } }__; @@Test: @@@QName: XDPDocument.createXDPElement.1.test @@@PerlDef: my $doc; __CODE{createXDPDocumentForTest}__; my $el = $doc-> ('aname'); $test->id ('interface'); $test->assert_isa ($el, ); $test->id ('namespaceURI'); $test->assert_equals ($el->, ); $test->id ('localName'); $test->assert_equals ($el->, 'element'); $test->id ('dtdText'); $test->assert_equals ($el->, ''); @@Test: @@@QName: XDPDocument.createXDPElement.2.test @@@PerlDef: my $doc; __CODE{createXDPDocumentForTest}__; my $el = $doc->; $test->id ('interface'); $test->assert_isa ($el, ); $test->id ('namespaceURI'); $test->assert_equals ($el->, ); $test->id ('localName'); $test->assert_equals ($el->, 'element'); $test->id ('dtdText'); $test->assert_equals ($el->, ''); @Method: @@Name: createXDPIf @@enDesc: Creates an element. @@Param: @@@Name: statusEntity @@@Type: DOMString @@@enDesc: The name of the parameter entity that contains the status of the marked section. @@@nullCase: @@@@enDesc: Same as an empty string. @@Return: @@@Type: XDPIfElement @@@enDesc: The newly created element node. {P:: A new node with following attributes be returned: - ::: . - ::: . - ::: The document. } {P:: The of the returned node contain a new node with following attributes: - ::: . - ::: . - ::: . - ::: , or an empty string if is . } {P:: of the returned node contain two nodes in order: {LI:: - ::: . - ::: . - ::: The document. - ::: An empty string. } {LI:: - ::: . - ::: . - ::: The document. - ::: An empty string. } } @@@PerlDef: __DEEP{ $r = $self-> (, 'if'); $r-> (null, 'status-entity', defined $statusEntity ? $statusEntity : ''); $r-> ($self-> (, 'tr'.'ue')); $r-> ($self-> (, 'fal'.'se')); }__; @@Test: @@@QName: XDPDocument.createXDPIf.1.test @@@PerlDef: my $doc; __CODE{createXDPDocumentForTest}__; my $el = $doc-> ('aname'); $test->id ('interface'); $test->assert_isa ($el, ); $test->id ('namespaceURI'); $test->assert_equals ($el->, ); $test->id ('localName'); $test->assert_equals ($el->, 'if'); $test->id ('dtdText'); $test->assert_equals ($el->, "]]>"); $test->id ('fc'); my $fc = $el->; $test->assert_isa ($fc, ); $test->id ('fc.namespaceURI'); $test->assert_equals ($fc->, ); $test->id ('fc.localName'); $test->assert_equals ($fc->, 'tr'.'ue'); $test->id ('lc'); my $lc = $el->; $test->assert_isa ($fc, ); $test->id ('lc.namespaceURI'); $test->assert_equals ($lc->, ); $test->id ('lc.localName'); $test->assert_equals ($lc->, 'fal'.'se'); ##XDPDocument IFClsDef: @IFQName: XDPElement @ClsQName: ManakaiDOMXDPElement @IFISA: Element @ClsISA: te|ManakaiDOMElement @s:elementType: AnyXDPElement @Test: @@QName: createElementNS.XDPElement.test @@PerlDef: my $doc; __CODE{tc|createEmptyDocumentForTest:: $doc => $doc}__; my $el = $doc-> (, 'anElement'); $test->assert_isa ($el, ); @Attr: @@Name: dtdText @@enDesc: The serialized representation of the element and its descendants. @@Type: DOMString @@Get: @@@enDesc: {ISSUE:: Definition } @@@PerlDef: require Message::DOM::Traversal; my $doctrv = $self-> -> (Traversal => '2.0'); my $tw = $doctrv->create_tree_walker ($self, | | , sub { my $node = $_[1]; if ($node-> == ) { my $ns = $node->; if (not defined $ns) { return ; } elsif ($ns eq ) { return ; } else { return ; } } else { return ; } }, true); my $current = $tw->first_child; $r = ''; C: while (defined $current) { if ($current-> == ) { $r .= $current->; } else { $r .= $current->; } $current = $tw->next_sibling; } # C ##XDPElement ResourceDef: @QName: AnyXDPElement @DISCore:resourceType: s|AnyElementInNS @AppName: @@@: xdp|* @@ContentType: DISCore|QName @ForCheck: =ManakaiDOM|all IFClsETDef: @IFQName: XDPPEElement @ETQName: xdp|pe @ClsQName: ManakaiDOMXDPPEElement @IFISA: XDPElement @ClsISA: ManakaiDOMXDPElement @enDesc: An element represents an XML parameter entity, an XML external subset entity, or an XML internal subset. ##XDPPEElement IFClsETDef: @IFQName: XDPElementElement @ETQName: xdp|element @ClsQName: ManakaiDOMXDPElementElement @IFISA: XDPElement @ClsISA: ManakaiDOMXDPElement @enDesc: An element represents an XML declaration. @CAttr: @@Name: dtdText @@Type: DOMString @@Get: @@@PerlDef: $r = 'SUPER::dtd_text.'>'; ##XDPElementElement IFClsETDef: @IFQName: XDPModelGroupElement @ETQName: xdp|model-group @ClsQName: ManakaiDOMXDPModelGroupElement @IFISA: XDPElement @ClsISA: ManakaiDOMXDPElement @enDesc: An element represents an XML model group. @CAttr: @@Name: dtdText @@Type: DOMString @@Get: @@@PerlDef: $r = '('.$self->SUPER::dtd_text.')'; ##XDPModelGroupElement IFClsETDef: @IFQName: XDPAttlistElement @ETQName: xdp|attlist @ClsQName: ManakaiDOMXDPAttlistElement @IFISA: XDPElement @ClsISA: ManakaiDOMXDPElement @enDesc: An element represents an XML declaration. @CAttr: @@Name: dtdText @@Type: DOMString @@Get: @@@PerlDef: $r = 'SUPER::dtd_text.'>'; ##XDPAttlistElement IFClsETDef: @IFQName: XDPEnumGroupElement @ETQName: xdp|enum-group @ClsQName: ManakaiDOMXDPEnumGroupElement @IFISA: XDPElement @ClsISA: ManakaiDOMXDPElement @enDesc: An element represents an XML enumeration group in an attribute definition. @CAttr: @@Name: dtdText @@Type: DOMString @@Get: @@@PerlDef: $r = '('.$self->SUPER::dtd_text.')'; ##XDPEnumGroupElement IFClsETDef: @IFQName: XDPEntityElement @ETQName: xdp|entity @ClsQName: ManakaiDOMXDPEntityElement @IFISA: XDPElement @ClsISA: ManakaiDOMXDPElement @enDesc: An element represents an XML declaration. @CAttr: @@Name: dtdText @@Type: DOMString @@Get: @@@PerlDef: $r = 'SUPER::dtd_text.'>'; ##XDPEntityElement IFClsETDef: @IFQName: XDPNotationElement @ETQName: xdp|notation @ClsQName: ManakaiDOMXDPNotationElement @IFISA: XDPElement @ClsISA: ManakaiDOMXDPElement @enDesc: An element represents an XML declaration. @CAttr: @@Name: dtdText @@Type: DOMString @@Get: @@@PerlDef: $r = 'SUPER::dtd_text.'>'; ##XDPNotationElement IFClsETDef: @IFQName: XDPMarkedSectionElement @ETQName: xdp|marked-section @ClsQName: ManakaiDOMXDPMarkedSectionElement @IFISA: XDPElement @ClsISA: ManakaiDOMXDPElement @enDesc: An element represents an XML conditional section. @CAttr: @@Name: dtdText @@Type: DOMString @@Get: @@@PerlDef: $r = 'SUPER::dtd_text.']]>'; ##XDPMarkedSectionElement IFClsETDef: @IFQName: XDPMarkedSectionStatusElement @ETQName: xdp|marked-section-status @ClsQName: ManakaiDOMXDPMarkedSectionStatusElement @IFISA: XDPElement @ClsISA: ManakaiDOMXDPElement @enDesc: An element represents the status part of an XML marked section. @CAttr: @@Name: dtdText @@Type: DOMString @@Get: @@@PerlDef: $r = $self->SUPER::dtd_text.'['; ##XDPMarkedSectionStatusElement IFClsETDef: @IFQName: XDPCommentElement @ETQName: xdp|comment @ClsQName: ManakaiDOMXDPCommentElement @IFISA: XDPElement @ClsISA: ManakaiDOMXDPElement @enDesc: An element represents an XML comment. @CAttr: @@Name: dtdText @@Type: DOMString @@Get: @@@PerlDef: $r = $self->SUPER::dtd_text; $r =~ s/--/- - /g; $r = ''; ##XDPCommentElement IFClsETDef: @IFQName: XDPPIElement @ETQName: xdp|pi @ClsQName: ManakaiDOMXDPPIElement @IFISA: XDPElement @ClsISA: ManakaiDOMXDPElement @enDesc: An element represents an XML processing instruction. @CAttr: @@Name: dtdText @@Type: DOMString @@Get: @@@PerlDef: $r = $self->SUPER::dtd_text; $r =~ s/\?>/?>/g; $r = ''; ##XDPPIElement IFClsETDef: @IFQName: XDPTextDeclElement @ETQName: xdp|text-decl @ClsQName: ManakaiDOMXDPTextDeclElement @IFISA: XDPElement @ClsISA: ManakaiDOMXDPElement @enDesc: An element represents an XML text declaration. @CAttr: @@Name: dtdText @@Type: DOMString @@Get: @@@PerlDef: $r = $self->SUPER::dtd_text; $r =~ s/\?>/?>/g; $r = ''; ##XDPTextDeclElement IFClsETDef: @IFQName: XDPPAttrElement @ETQName: xdp|pattr @ClsQName: ManakaiDOMXDPPAttrElement @IFISA: XDPElement @ClsISA: ManakaiDOMXDPElement @enDesc: An element represents a pseudo-attribute. ##XDPPAttrElement IFClsETDef: @IFQName: XDPPERefElement @ETQName: xdp|peref @ClsQName: ManakaiDOMXDPPERefElement @IFISA: XDPElement @ClsISA: ManakaiDOMXDPElement @enDesc: An element represents an XML parameter entity reference. @CAttr: @@Name: dtdText @@Type: DOMString @@Get: @@@PerlDef: $r = '%'.$self->SUPER::dtd_text.';'; ##XDPPERefElement IFClsETDef: @IFQName: XDPGERefElement @ETQName: xdp|geref @ClsQName: ManakaiDOMXDPGERefElement @IFISA: XDPElement @ClsISA: ManakaiDOMXDPElement @enDesc: An element represents an XML general entity reference. @CAttr: @@Name: dtdText @@Type: DOMString @@Get: @@@PerlDef: $r = '&'.$self->SUPER::dtd_text.';'; ##XDPGERefElement IFClsETDef: @IFQName: XDPNCRElement @ETQName: xdp|ncr @ClsQName: ManakaiDOMXDPNCRElement @IFISA: XDPElement @ClsISA: ManakaiDOMXDPElement @enDesc: An element represents an XML numeric character reference. @CAttr: @@Name: dtdText @@Type: DOMString @@Get: @@@PerlDef: $r = '&#'.$self->SUPER::dtd_text.';'; ##XDPNCRElement IFClsETDef: @IFQName: XDPHCRElement @ETQName: xdp|hcr @ClsQName: ManakaiDOMXDPHCRElement @IFISA: XDPElement @ClsISA: ManakaiDOMXDPElement @enDesc: An element represents an XML hexadecimal character reference. @CAttr: @@Name: dtdText @@Type: DOMString @@Get: @@@PerlDef: $r = '&#x'.$self->SUPER::dtd_text.';'; ##XDPHCRElement IFClsETDef: @IFQName: XDPRNIKeywordElement @ETQName: xdp|rni-keyword @ClsQName: ManakaiDOMXDPRNIKeywordElement @IFISA: XDPElement @ClsISA: ManakaiDOMXDPElement @enDesc: An element represents an XML keyword prepended by a . @CAttr: @@Name: dtdText @@Type: DOMString @@Get: @@@PerlDef: $r = '#'.$self->SUPER::dtd_text; ##XDPRNIKeywordElement IFClsETDef: @IFQName: XDPEntityValueElement @ETQName: xdp|entity-value @ClsQName: ManakaiDOMXDPEntityValueElement @IFISA: XDPElement @ClsISA: ManakaiDOMXDPElement @enDesc: An element represents an XML entity value. @CAttr: @@Name: dtdText @@Type: DOMString @@Get: @@@PerlDef: require Message::DOM::Traversal; my $doctrv = $self-> -> (Traversal => '2.0'); my $tw = $doctrv->create_tree_walker ($self, | | , sub { my $node = $_[1]; if ($node-> == ) { my $ns = $node->; if (not defined $ns) { return ; } elsif ($ns eq ) { return ; } else { return ; } } else { return ; } }, true); my $current = $tw->first_child; $r = ''; C: while (defined $current) { if ($current-> == ) { if ({ => true, => true, }->{$current->manakai_expanded_uri}) { $r .= $current->; } else { my $v = $current->; $v =~ s/&/&/g; $v =~ s/%/%/g; $r .= $v; } } else { my $v = $current->; $v =~ s/&/&/g; $v =~ s/%/%/g; $r .= $v; } $current = $tw->next_sibling; } # C if ($r =~ /"/) { $r =~ s/'/'/g; $r = "'".$r."'"; } else { $r =~ s/"/"/g; $r = '"'.$r.'"'; } ##XDPEntityValueElement IFClsETDef: @IFQName: XDPAttrLiteralElement @ETQName: xdp|attr-literal @ClsQName: ManakaiDOMXDPAttrLiteralElement @IFISA: XDPElement @ClsISA: ManakaiDOMXDPElement @enDesc: An element represents an XML attribute value literal. @CAttr: @@Name: dtdText @@Type: DOMString @@Get: @@@PerlDef: require Message::DOM::Traversal; my $doctrv = $self-> -> (Traversal => '2.0'); my $tw = $doctrv->create_tree_walker ($self, | | , sub { my $node = $_[1]; if ($node-> == ) { my $ns = $node->; if (not defined $ns) { return ; } elsif ($ns eq ) { return ; } else { return ; } } else { return ; } }, true); my $current = $tw->first_child; $r = ''; C: while (defined $current) { if ($current-> == ) { if ({ => true, => true, => true, }->{$current->manakai_expanded_uri}) { $r .= $current->; } else { my $v = $current->; $v =~ s/&/&/g; $r .= $v; } } else { my $v = $current->; $v =~ s/&/&/g; $r .= $v; } $current = $tw->next_sibling; } # C if ($r =~ /"/) { $r =~ s/'/'/g; $r = "'".$r."'"; } else { $r =~ s/"/"/g; $r = '"'.$r.'"'; } ##XDPAttrLiteralElement IFClsETDef: @IFQName: XDPMinimumLiteralElement @ETQName: xdp|minimum-literal @ClsQName: ManakaiDOMXDPMinimumLiteralElement @IFISA: XDPElement @ClsISA: ManakaiDOMXDPElement @enDesc: An element represents an XML public identifier literal. @CAttr: @@Name: dtdText @@Type: DOMString @@Get: @@@PerlDef: $r = $self->SUPER::dtd_text; $r =~ s/"/%22/g; $r = '"'.$r.'"'; ##XDPMinimumLiteralElement IFClsETDef: @IFQName: XDPSystemLiteralElement @ETQName: xdp|system-literal @ClsQName: ManakaiDOMXDPSystemLiteralElement @IFISA: XDPElement @ClsISA: ManakaiDOMXDPElement @enDesc: An element represents an XML system literal. @CAttr: @@Name: dtdText @@Type: DOMString @@Get: @@@PerlDef: $r = $self->SUPER::dtd_text; $r =~ s/"/%22/g; $r = '"'.$r.'"'; ##XDPSystemLiteralElement IFClsETDef: @IFQName: XDPIfElement @ETQName: xdp|if @ClsQName: ManakaiDOMXDPIfElement @IFISA: XDPElement @ClsISA: ManakaiDOMXDPElement @enDesc: An element represents a set of XML DTD declarations with a conditional section that can be enabled by a parameter entity. @CAttr: @@Name: dtdText @@Type: DOMString @@Get: @@@PerlDef: __DEEP{ require Message::DOM::Traversal; my $doctrv = $self-> -> (Traversal => '2.0'); my $tw = $doctrv->create_tree_walker ($self, | | , sub { my $node = $_[1]; if ($node-> == ) { my $ns = $node->; if (not defined $ns) { return ; } elsif ($ns eq ) { return ; } else { return ; } } else { return ; } }, true); my $current = $tw->first_child; my $pename = $self-> (null, 'status-entity'); $r = ' == ) { if (not $has_true and $current->manakai_expanded_uri eq ) { $r .= $current->; $r .= "]]>"; $has_true = true; } elsif ($current->manakai_expanded_uri eq ) { my $v = $current->; $r .= "\n" if length $v; $r .= $v; } else { $r .= $current->; } } else { $r .= $current->; } $current = $tw->next_sibling; } # C $r .= "]]>" unless $has_true; }__; ##XDPIfElement