Module:
@QName:
MDOM:DOMHTML
@Namespace:
http://suika.fam.cx/~wakaba/archive/2004/dom/html#
@AppName:
@@@: html
@@ContentType:
lang:IDL-DOM
@@prefix: dom.w3c.org
@@For:
ManakaiDOM:IDL ManakaiDOM:DOM1 !ManakaiDOM|DOM2
@AppName:
@@@: html2
@@ContentType:
lang:IDL-DOM
@@prefix: dom.w3c.org
@@For:
ManakaiDOM:IDL ManakaiDOM:DOM2
@FullName:
@@lang:en
@@@: DOM HTML Module
@Description:
@@lang:en
@@@:
The DOM HTML Module provides objects and methods specific
to HTML 4 documents and XHTML 1.0 documents. The HTML
DOM exposes a number of convinience methods and attributes
that are more appropriate to script writers. These
enhancements rely on transitional or frameset DTDs
of HTML 4.0 or HTML 4.01
and XHTML 1.0 .
\
Form related interfaces are provided by a separate
module, .
@DISCore:author: DISCore|Wakaba
@License:
license:Perl+MPL
@Date:
@@@:
$Date: 2006/11/05 09:16:29 $
@@ContentType:
dis:Date.RCS
@DefaultFor:
ManakaiDOM:ManakaiDOMLatest
@Require:
@@Module:
@@@QName:
DISlib:DISMarkup
@@@WithFor:
ManakaiDOM:all
@@Module:
@@@QName: MDOM|DOMXML
@@@WithFor: ManakaiDOM|ManakaiDOMLatest
@@Module:
@@@QName: MDOM|DOMWebForms
@@@WithFor: ManakaiDOM|ManakaiDOMLatest
@@Module:
@@@QName: MDOM|DOMHTML
@@@WithFor: ManakaiDOM|ManakaiDOM
@@Module:
@@@QName: MDOM|DOMHTML
@@@WithFor: ManakaiDOM|ManakaiDOM1
@@Module:
@@@QName: MDOM|DOMHTML
@@@WithFor: ManakaiDOM|ManakaiDOM2
@@Module:
@@@QName: MDOM|DOMHTML
@@@WithFor: ManakaiDOM|ManakaiDOMLatest
@@Module:
@@@QName: MDOM|DOMHTML
@@@WithFor: DOMHTML|ForHTML40SE
@@Module:
@@@QName: MDOM|DOMHTML
@@@WithFor: DOMHTML|ForHTML401
@@Module:
@@@QName: MDOM|DOMHTML
@@@WithFor: DOMHTML|ForXHTML10SE
Namespace:
@dis:
http://suika.fam.cx/~wakaba/archive/2004/8/18/lang#dis--
@dis2pm:
http://suika.fam.cx/~wakaba/archive/2004/11/8/dis2pm#
@DISlib:
http://suika.fam.cx/~wakaba/archive/2004/dis/
@DOMHTML:
http://suika.fam.cx/~wakaba/archive/2004/dom/html#
@DOMMain:
http://suika.fam.cx/~wakaba/archive/2004/dom/main#
@DOMMetaImpl:
http://suika.fam.cx/~wakaba/archive/2004/dom/meta#
@f:
http://suika.fam.cx/~wakaba/archive/2004/dom/feature#
@html5:
http://www.w3.org/1999/xhtml
@infoset:
http://www.w3.org/2001/04/infoset#
@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#
@ManakaiDOMCore:
http://suika.fam.cx/~wakaba/archive/2004/mdom-core#
@ManakaiDOMHTML:
http://suika.fam.cx/~wakaba/archive/2004/mdom/html#
@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#
@null:
http://suika.fam.cx/~wakaba/-temp/2003/09/27/null
@rdf:
http://www.w3.org/1999/02/22-rdf-syntax-ns#
@rdfs:
http://www.w3.org/2000/01/rdf-schema#
@s:
http://suika.fam.cx/~wakaba/archive/2004/dis/Markup#
@TreeCore:\
@xhtml1:
http://www.w3.org/1999/xhtml
@xml:
http://www.w3.org/XML/1998/namespace
@xmlns:
http://www.w3.org/2000/xmlns/
ImplNote:
@lang:en
@@:
{TODO:: Lowercase'ize Perl method/attribute names.
\
ISSUE: Should createTHead be createThead?
\
}
## -- "For HTML"
ForDef:
@QName:
DOMHTML:ForHTML
@ISA:
s:ForML
@FullName:
@@lang:en
@@@:
For Hypertext Markup Language (HTML), any version
ForDef:
@QName:
DOMHTML:ForClassicHTML
@ISA:
DOMHTML:ForHTML
@FullName:
@@lang:en
@@@:
For non-XML-based HTML, any version
ForDef:
@QName: DOMHTML|ForSGMLHTML
@ISA: DOMHTML|ForClassicHTML
@enFN: For SGML-based HTML, any version
ElementTypeBinding:
@Name: enFN
@ElementType:
dis:FullName
@ShadowContent:
@@lang:en
ForDef:
@QName:
DOMHTML:ForHTML4
@ISA: DOMHTML|ForSGMLHTML
@FullName:
@@lang:en
@@@: For HTML 4
ForDef:
@QName:
DOMHTML:ForHTML40
@ISA:
DOMHTML:ForHTML4
@FullName:
@@lang:en
@@@: For HTML 4.0
ForDef:
@QName:
DOMHTML:ForHTML40FE
@ISA:
DOMHTML:ForHTML40
@FullName:
@@lang:en
@@@: For HTML 4.0 first edition
ForDef:
@QName:
DOMHTML:ForHTML40SE
@ISA:
DOMHTML:ForHTML40
@FullName:
@@lang:en
@@@:
For HTML 4.0 second edition
ForDef:
@QName:
DOMHTML:ForHTML401
@ISA:
DOMHTML:ForHTML4
@FullName:
@@lang:en
@@@:
For HTML 4.01
ForDef:
@QName:
DOMHTML:ForXHTML
@ISA:
DOMHTML:ForHTML
@FullName:
@@lang:en
@@@:
For XHTML, compatible with W3C XHTML 1, any version
ForDef:
@QName:
DOMHTML:ForXHTML1
@ISA:
DOMHTML:ForXHTML
@FullName:
@@lang:en
@@@:
For XHTML 1
ForDef:
@QName:
DOMHTML:ForXHTML10
@ISA:
DOMHTML:ForXHTML1
@FullName:
@@lang:en
@@@:
For XHTML 1.0
ForDef:
@QName:
DOMHTML:ForXHTML10FE
@ISA:
DOMHTML:ForXHTML10
@FullName:
@@lang:en
@@@: For XHTML 1.0 First Edition
ForDef:
@QName:
DOMHTML:ForXHTML10SE
@ISA:
DOMHTML:ForXHTML10
@FullName:
@@lang:en
@@@: For XHTML 1.0 Second Edition
ForDef:
@QName:
DOMHTML:ForXHTML1m12n
@ISA:
DOMHTML:ForXHTML1
@FullName:
@@lang:en
@@@:
For modularized XHTML 1
## TODO: FE and SE required
ForDef:
@QName:
DOMHTML:ForXHTML11
@ISA:
DOMHTML:ForXHTML1m12n
@FullName:
@@lang:en
@@@: For XHTML 1.1
ForDef:
@QName: DOMHTML|ForHTML5
@FullName:
@@lang:en
@@@:
For HTML 5 (Work in progress)
@ISA: DOMHTML|ForHTML
## -- Features
ElementTypeBinding:
@Name: FeatureDef
@ElementType:
dis:ResourceDef
@ShadowContent:
@@rdf:type: f|Feature
@@For: =ManakaiDOM|all
ElementTypeBinding:
@Name: FeatureVerDef
@ElementType:
dis:ResourceDef
@ShadowContent:
@@rdf:type: f|Feature
ElementTypeBinding:
@Name: featureName
@ElementType:
f:name
@ShadowContent:
@@ContentType: DISCore|String
ElementTypeBinding:
@Name: featureQName
@ElementType:
f:name
@ShadowContent:
@@ContentType: DISCore|QName
FeatureDef:
@featureName: HTML
@QName: HTMLFeature
@FeatureVerDef:
@@Version:1.0
@@QName: HTMLFeature10
@@DOMMetaImpl:instanceFeatureOf: HTMLFeature
@@FullName:
@@@@: DOM Level 1 HTML
@@@lang:en
@@ImplNote:
@@@lang:en
@@@@:
The DOM Level 2 HTML Specification does not say DOM Level 2
HTML implementations to answer to of
as . In fact, DOM Level 1 and 2
are incompatible.
@@DOMMain:requireFeature:
DOMCore:CoreFeature10
@FeatureVerDef:
@@Version:2.0
@@QName: HTMLFeature20
@@DOMMetaImpl:instanceFeatureOf: HTMLFeature
@@FullName:
@@@@: DOM Level 2 HTML
@@@lang:en
@@enDesc:
Note that the feature version
is with .
@@DOMMain:requireFeature:
DOMCore:CoreFeature20
FeatureDef:
@featureName: XHTML
@QName: XHTMLFeature
@FeatureVerDef:
@@Version:2.0
@@FullName:
@@@@: DOM Level 2 HTML (with XHTML support)
@@@lang:en
@@QName: XHTMLFeature20
@@DOMMetaImpl:instanceFeatureOf: XHTMLFeature
@@DOMFeature:extends: HTMLFeature20
@@DOMFeature:extends:
DOMXML:XMLFeature20
@@Description:
@@@lang:en
@@@@:
DOM Level 2 HTML with XHTML support.
It is equal to / and
/ .
## -- Datatypes
ElementTypeBinding:
@Name: DataTypeAlias
@ElementType:
dis:ResourceDef
@ShadowContent:
@@rdf:type: DISLang|AnyDataType
@@ForCheck: ManakaiDOM|DOM
DataTypeAlias:
@Name: DOMString
@AliasFor:
@@@:
DOMMain:DOMString
@@For:
!ManakaiDOM:IDL
@Def:
@@For:
ManakaiDOM:IDL
@@ContentType:
lang:dis
@@DISLang:dataTypeAliasFor:
DOMMain:DOMString
DataTypeAlias:
@Name: Node
@AliasFor:
@@@:
DOMCore:Node
@@For:
!ManakaiDOM:IDL
@Def:
@@For:
ManakaiDOM:IDL
@@ContentType:
lang:dis
@@DISLang:dataTypeAliasFor:
DOMCore:Node
DataTypeAlias:
@Name: Document
@AliasFor:
@@@:
DOMCore:Document
@@For:
!ManakaiDOM:IDL
@Def:
@@For:
ManakaiDOM:IDL
@@ContentType:
lang:dis
@@DISLang:dataTypeAliasFor:
DOMCore:Document
DataTypeAlias:
@Name: NodeList
@AliasFor:
@@@:
DOMCore:NodeList
@@For:
!ManakaiDOM:IDL
@Def:
@@For:
ManakaiDOM:IDL
@@ContentType:
lang:dis
@@DISLang:dataTypeAliasFor:
DOMCore:NodeList
DataTypeAlias:
@Name: Element
@AliasFor:
@@@:
DOMCore:Element
@@For:
!ManakaiDOM:IDL
@Def:
@@For:
ManakaiDOM:IDL
@@ContentType:
lang:dis
@@DISLang:dataTypeAliasFor:
DOMCore:Element
ElementTypeBinding:
@Name: ReflectTypeDef
@ElementType:
dis:ResourceDef
@ShadowContent:
@@rdf:type: DISLang|AnyDataType
@@ForCheck: !ManakaiDOM|IDL
@@For: ManakaiDOM|DOM
ReflectTypeDef:
@QName: CDATADOMString
@enDesc:
for DOM attributes reflecting
element attributes.
@rdfs:subClassOf: DOMString
@ResourceDef:
@@rdf:type: DOMMain|ReflectGet
@@DefaultValue: \
@@enDesc:
The DOM attribute returns the current value of the element attribute
in a transparent, case-sensitive manner.
\
If the element attribute is absent, the default value, if any,
or the empty string is returned.
@@PerlCDef:
my $ao = $self->{}->{}
->{}->{$LOCAL_NAME} ||
$self->{}->{}
->{}->{$LOCAL_NAME};
if ($ao) {
my $attr;
__CODE{ManakaiNode:getWeakReference||ManakaiDOM:Perl::
$object => $ao, $ref => $attr,
$class => {},
}__;
__DEEP{
$r = $ao->;
}__;
}
@ResourceDef:
@@QName: CDATADOMStringSet
@@rdf:type: DOMMain|ReflectSet
@@enDesc:
The corresponding element attribute is set to the given value,
in a transparent, case-sensitive manner.
@@ImplNote:
@@@lang:en
@@@@:
What will happen if the value is given?
@@PerlCDef:
my $ao = $self->{}->{}
->{}->{$LOCAL_NAME} ||
$self->{}->{}
->{}->{$LOCAL_NAME};
if ($ao) {
my $attr;
__CODE{ManakaiNode:getWeakReference||ManakaiDOM:Perl::
$object => $ao, $ref => $attr,
$class => {},
}__;
__DEEP{
$ao-> ($given);
}__;
} else {
__DEEP{
__FOR{ManakaiDOM|DOM2::
$self->
(null, $LOCAL_NAME => $given);
}__;
__FOR{!ManakaiDOM|DOM2::
$self-> ($LOCAL_NAME => $given);
}__;
}__;
}
ReflectTypeDef:
@QName: EnumDOMString
@enDesc:
for DOM attributes reflecting
element attributes which is defined to only allow a specific
set of values.
@rdfs:subClassOf: DOMString
@ResourceDef:
@@rdf:type: DOMMain|ReflectGet
@@DefaultValue: \
@@enDesc:
The DOM attribute returns the current value of the element attribute
in lowercase.
\
If the element attribute is absent, the default value, if any,
or the empty string is returned.
@@PerlCDef:
my $ao = $self->{}->{}
->{}->{$LOCAL_NAME} ||
$self->{}->{}
->{}->{$LOCAL_NAME};
if ($ao) {
my $attr;
__CODE{ManakaiNode:getWeakReference||ManakaiDOM:Perl::
$object => $ao, $ref => $attr,
$class => {},
}__;
__DEEP{
$r = lc $ao->;
}__;
}
@ResourceDef:
@@rdf:type: DOMMain|ReflectSet
@@enDesc:
The corresponding element attribute is set to the given value,
in a transparent, case-sensitive manner.
@@ImplNote:
@@@lang:en
@@@@:
What will happen if the value is given?
@@disCDef:
@@@DISPerl:cloneCode: CDATADOMStringSet
ReflectTypeDef:
@QName: URIDOMString
@enDesc:
for DOM attributes reflecting
element attributes defined to contain a IRI.
@rdfs:subClassOf: DOMString
@ResourceDef:
@@rdf:type: DOMMain|ReflectGet
@@DefaultValue: \
@@enDesc:
The DOM attribute returns the current value of the element attribute,
resolved to an absolute IRI.
\
If the element attribute is absent, the default value, if any,
or the empty string is returned.
@@ImplNote:
@@@lang:en
@@@@:
{TODO:: Resolving.
\
}
@@PerlCDef:
my $ao = $self->{}->{}
->{}->{$LOCAL_NAME} ||
$self->{}->{}
->{}->{$LOCAL_NAME};
if ($ao) {
my $attr;
__CODE{ManakaiNode:getWeakReference||ManakaiDOM:Perl::
$object => $ao, $ref => $attr,
$class => {},
}__;
__DEEP{
$r = $ao->;
}__;
}
@ResourceDef:
@@rdf:type: DOMMain|ReflectSet
@@enDesc:
The corresponding element attribute is set to the given literal value.
@@ImplNote:
@@@lang:en
@@@@:
What will happen if the value is given?
@@disCDef:
@@@DISPerl:cloneCode: CDATADOMStringSet
ReflectTypeDef:
@QName: Boolean
@enDesc:
for DOM attributes reflecting
boolean element attributes.
@rdfs:subClassOf: DOMMain|boolean||ManakaiDOM|all
@ResourceDef:
@@rdf:type: DOMMain|ReflectGet
@@DefaultValue: false
@@enDesc:
The DOM attribute returns if the element attribute
is set and if it is absent.
@@PerlCDef:
my $ao = $self->{}->{}
->{}->{$LOCAL_NAME} ||
$self->{}->{}
->{}->{$LOCAL_NAME};
$r = $ao ? true : false;
@ResourceDef:
@@rdf:type: DOMMain|ReflectSet
@@enDesc:
The element attribute is removed if the DOM attribute
is set to and is set to have the same
value as its local name if the DOM attribute is set to .
@@PerlCDef:
my $ao = $self->{}->{}
->{}->{$LOCAL_NAME} ||
$self->{}->{}
->{}->{$LOCAL_NAME};
if ($ao) {
if ($given) {
my $attr;
__CODE{ManakaiNode:getWeakReference||ManakaiDOM:Perl::
$object => $ao, $ref => $attr,
$class => {},
}__;
__DEEP{
$ao-> ($LOCAL_NAME);
}__;
} else {
if ($self->{}->{}
->{}->{$LOCAL_NAME}) {
CORE::delete $self->{}->{}
->{}->{$LOCAL_NAME};
} else {
CORE::delete $self->{}->{}
->{}->{$LOCAL_NAME};
}
CORE::delete $ao->{};
$ao->;
}
} else {
if ($given) {
__DEEP{
__FOR{ManakaiDOM|DOM2::
$self->
(null, $LOCAL_NAME => $LOCAL_NAME);
}__;
__FOR{!ManakaiDOM|DOM2::
$self->
($LOCAL_NAME => $LOCAL_NAME);
}__;
}__;
}
}
ReflectTypeDef:
@QName: Numeric
@enDesc:
for DOM attributes reflecting
number element attributes.
@rdfs:subClassOf: DOMMain|long||ManakaiDOM|all
@ResourceDef:
@@rdf:type: DOMMain|ReflectGet
@@DefaultValue: 0
@@enDesc:
The DOM attribute returns a numeric type value converted
from the element attribute value. If the convertion
fails or if the element attribute is absent, then
the default value is returned or if there is
no default value.
@@PerlCDef:
my $ao = $self->{}->{}
->{}->{$LOCAL_NAME} ||
$self->{}->{}
->{}->{$LOCAL_NAME};
if ($ao) {
my $attr;
__CODE{ManakaiNode:getWeakReference||ManakaiDOM:Perl::
$object => $ao, $ref => $attr,
$class => {},
}__;
__DEEP{
$r = $ao->;
}__;
__CODE{convertToNumericType::
$original => $r,
$result => $r,
$default => {0},
}__;
}
@@ImplNote:
@@@lang:en
@@@@:
{TODO:: Default value other than 0.
\
}
@ResourceDef:
@@rdf:type: DOMMain|ReflectSet
@@enDesc:
The given value is converted to a string representing
the number in decimal (base ten) and then that
string is set to the element attribute.
@@QName: NumericSet
@@PerlCDef:
my $ao = $self->{}->{}
->{}->{$LOCAL_NAME} ||
$self->{}->{}
->{}->{$LOCAL_NAME};
if ($ao) {
my $attr;
__CODE{ManakaiNode:getWeakReference||ManakaiDOM:Perl::
$object => $ao, $ref => $attr,
$class => {},
}__;
__DEEP{
$ao-> (0 + $given);
}__;
} else {
__DEEP{
__FOR{ManakaiDOM|DOM2::
$self->
(null, $LOCAL_NAME => 0 + $given);
}__;
__FOR{!ManakaiDOM|DOM2::
$self-> ($LOCAL_NAME => 0 + $given);
}__;
}__;
}
@ResourceDef:
@@rdf:type: dis2pm|BlockCode
@@QName: convertToNumericType
@@enDesc:
Converts a string to a number.
\
When an HTML 5 (work in progress) user agent needs to
convert a string to a number, algorithms equivalent
to those specified in ECMA 262 section 9.3.1
and
8.5 should be used
(possibly after suitably altering the algorithms to handle
numbers of the range that the user agent can support).
@@ImplNote:
@@@lang:en
@@@@:
- StringNumericLiteral := [StrWhiteSpace]
[StrNumericLiteral [StrWhiteSpace]]
\
- StrWhiteSpace := 1*StrWhiteSpaceChar
\
- StrWhiteSpaceChar := TAB / SP / NBSP / FF / VT / CR / LF / LS / PS / USP
;; U+0009 / U+0020 / U+00A0 / U+000C / U+000D /
U+000A / U+2028 / U+2029 / Zs
\
- StrNumericLiteral := StrDecimalLiteral / HexIntegerLiteral
\
- StrDecimalLiteral := ["+" / "-"] StrUnsignedDecimalLiteral
\
- StrUnsignedDecimalLiteral := 'Infinity' /
1*DIGIT ["." 0*DIGIT] [ExponentPart] /
"." 1*DIGIT [ExponentPart]
\
- ExponentPart := "E" SignedInteger
\
- SignedInteger := ["+" / "-"] 1*DIGIT
\
- HexIntegerLiteral := "0x" 1*HEXDIGIT
@@ImplNote:
@@@lang:en
@@@@:
ECMA 262 3rd edition (1999) references Unicode 2.1
and section 7.2
cites Unicode without version number, while section 6
refers Unicode 2.1 or later.
@@PerlCDef:
if ($original =~ m{
\A [\x09\x0A\x0C\x0D\x20\u{00A0}\u{2028}\u{2029}\pZs]*
(?: (
## Decimal
[+-] (?: [0-9]+(?:\.[0-9]*)?([eE][+-][0-9]+)? |
\.[0-9]+ ([eE][+-][0-9]+)? |
Infinity ) |
## Hex
0[xX][0-9A-Fa-f]+
)
[\x09\x0A\x0C\x0D\x20\u{00A0}\u{2028}\u{2029}\pZs]* )? \z
}s) {
my $__str = $1;
if (defined $__str) {
if (lc substr ($__str, 0, 2) eq '0x') {
$result = hex $__str;
} else {
$result = 0 + $__str;
}
## BUG: Infinity is not supported
} else {
$result = +0;
}
} else { ## NaN
$result = $default;
}
ReflectTypeDef:
@QName: UnsignedNumeric
@enDesc:
for DOM attributes reflecting
number element attributes.
@rdfs:subClassOf: DOMMain|unsigned-long||ManakaiDOM|all
@ResourceDef:
@@rdf:type: DOMMain|ReflectGet
@@DefaultValue: 0
@@enDesc:
The DOM attribute returns a numeric type value converted
from the element attribute value. If the convertion
fails or if the element attribute is absent, then
the default value is returned or if there is
no default value.
@@PerlCDef:
my $ao = $self->{}->{}
->{}->{$LOCAL_NAME} ||
$self->{}->{}
->{}->{$LOCAL_NAME};
if ($ao) {
my $attr;
__CODE{ManakaiNode:getWeakReference||ManakaiDOM:Perl::
$object => $ao, $ref => $attr,
$class => {},
}__;
__DEEP{
$r = $ao->;
}__;
__CODE{convertToNumericType::
$original => $r,
$result => $r,
$default => {0},
}__;
$r = 0 if $r < 0;
}
@@ImplNote:
@@@lang:en
@@@@:
{TODO:: What should be returned if negative value?
\
}
@ResourceDef:
@@rdf:type: DOMMain|ReflectSet
@@enDesc:
The given value is converted to a string representing
the number in decimal (base ten) and then that
string is set to the element attribute.
@@disCDef:
@@@DISPerl:cloneCode: NumericSet
ImplNote:
@lang:en
@@:
The DOM Level 2 HTML Specification does not intend to define
exactly how a UA will respond to a change to any
attribute on an element that directly or indirectly refers
external data, such elements are ,
, ,
, , ,
, and
.
@@For:
ManakaiDOM:DOM
ElementTypeBinding:
@Name: L2
@ElementType:
DOMMain:implementFeature
@ShadowContent:
@@@: HTMLFeature20
@@For:
ManakaiDOM:DOM2
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: IFDef
@ElementType:
dis:ResourceDef
@ShadowContent:
@@rdf:type:
@@@@: dis|MultipleResource
@@@ForCheck: !ManakaiDOM|ForIF !ManakaiDOM|ForClass
@@resourceFor: ManakaiDOM|ForIF
@@ForCheck: ManakaiDOM|DOM
@@rdf:type:
@@@@: DISLang|Interface
@@@ForCheck: ManakaiDOM|ForIF
ElementTypeBinding:
@Name: IfCls1Def
@ElementType:
dis:ResourceDef
@ShadowContent:
@@rdf:type:
@@@@: dis|MultipleResource
@@@ForCheck: !ManakaiDOM|ForIF !ManakaiDOM|ForClass
@@resourceFor: ManakaiDOM|ForIF
@@resourceFor:
@@@@: ManakaiDOM|ForClass
@@@ForCheck: ManakaiDOM|ManakaiDOM !=ManakaiDOM|ManakaiDOM
@@For: ManakaiDOM|DOM1
@@For: =ManakaiDOM|ManakaiDOM
@@rdf:type:
@@@@: DISLang|Interface
@@@ForCheck: ManakaiDOM|ForIF
@@rdf:type:
@@@@: DISLang|Class
@@@ForCheck: ManakaiDOM|ForClass
@@Implement:
@@@@: ||ManakaiDOM|ManakaiDOM||ManakaiDOM|ForIF
@@@ContentType: DISCore|TFPQNames
@@@ForCheck: ManakaiDOM|ForClass ManakaiDOM|ManakaiDOM
@@Implement:
@@@@: ||ManakaiDOM|ManakaiDOM1||ManakaiDOM|ForIF
@@@ContentType: DISCore|TFPQNames
@@@ForCheck: ManakaiDOM|ForClass ManakaiDOM|ManakaiDOM1
@@Implement:
@@@@: ||ManakaiDOM|ManakaiDOM2||ManakaiDOM|ForIF
@@@ContentType: DISCore|TFPQNames
@@@ForCheck: ManakaiDOM|ForClass ManakaiDOM|ManakaiDOM2
@@Implement:
@@@@: ||ManakaiDOM|ManakaiDOMLatest||ManakaiDOM|ForIF
@@@ContentType: DISCore|TFPQNames
@@@ForCheck: ManakaiDOM|ForClass ManakaiDOM|ManakaiDOMLatest
@@DOMMain:implementFeature:
@@@@: HTMLFeature10
@@@For: ManakaiDOM|DOM1
@@DOMMain:implementFeature:
@@@@: HTMLFeature20
@@@For: ManakaiDOM|DOM2
ElementTypeBinding:
@Name: IfClsXDef
@ElementType:
dis:ResourceDef
@ShadowContent:
@@rdf:type:
@@@@: dis|MultipleResource
@@@ForCheck: !ManakaiDOM|ForIF !ManakaiDOM|ForClass
@@resourceFor: ManakaiDOM|ForIF
@@resourceFor:
@@@@: ManakaiDOM|ForClass
@@@ForCheck: ManakaiDOM|ManakaiDOM !=ManakaiDOM|ManakaiDOM
@@For: ManakaiDOM|DOM1
@@For: =ManakaiDOM|ManakaiDOM
@@rdf:type:
@@@@: DISLang|Interface
@@@ForCheck: ManakaiDOM|ForIF
@@rdf:type:
@@@@: 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
@@DOMMain:implementFeature:
@@@@: HTMLExtendedFeature30
@@@For: ManakaiDOM|ManakaiDOMLatest
ElementTypeBinding:
@Name: IF
@ElementType:
dis:ResourceDef
@ShadowContent:
@@rdf:type:
@@@@:
dis:MultipleResource
@@@ForCheck:
!ManakaiDOM:ForClass !ManakaiDOM:ForIF !ForHTML
@@rdf:type:
@@@@: DISLang|Interface
@@@ForCheck:
ManakaiDOM:ForIF
@@rdf:type:
@@@@: DISLang|Class
@@@ForCheck:
ManakaiDOM:ForClass
@@resourceFor:
@@@@:
ManakaiDOM:ForIF
@@@For:
ManakaiDOM:DOMHTMLFeature
@@@For:
=ManakaiDOM:ManakaiDOM
@@@ForCheck: !ForHTML
@@resourceFor:
@@@@:
ManakaiDOM:ForClass
@@@ForCheck:
ManakaiDOM:ManakaiDOM !=ManakaiDOM:ManakaiDOM
ManakaiDOM:DOMHTMLFeature !ForHTML
@@Implement:
@@@@: ||+||ManakaiDOM|ForIF
@@@ForCheck: ManakaiDOM|ForClass ManakaiDOM|ManakaiDOM1
@@@ContentType: DISCore|TFPQNames
ElementTypeBinding:
@Name: ClsOnly
@ElementType:
dis:ResourceDef
@ShadowContent:
@@rdf:type:
@@@@:
dis:MultipleResource
@@@ForCheck:
!ManakaiDOM:ForClass !ManakaiDOM:ForIF !ForHTML
@@rdf:type:
@@@@:
ManakaiDOM:Class
@@@ForCheck:
ManakaiDOM:ForClass
@@resourceFor:
@@@@:
ManakaiDOM:ForClass
@@@ForCheck:
ManakaiDOM:ManakaiDOM !=ManakaiDOM:ManakaiDOM
ManakaiDOM:DOMHTMLFeature !ForHTML
ElementTypeBinding:
@Name: IfCls12ETDef
@ElementType:
dis:ResourceDef
@ShadowContent:
@@rdf:type:
@@@@: dis|MultipleResource
@@@ForCheck: !ManakaiDOM|ForIF !ManakaiDOM|ForClass !ForHTML
@@resourceFor: ManakaiDOM|ForIF
@@resourceFor:
@@@@: ManakaiDOM|ForClass
@@@ForCheck: ManakaiDOM|ManakaiDOM !=ManakaiDOM|ManakaiDOM
@@For: ManakaiDOM|DOM1
@@For: =ManakaiDOM|ManakaiDOM
@@For: ForHTML
@@rdf:type:
@@@@: DISLang|Interface
@@@ForCheck: ManakaiDOM|ForIF
@@rdf:type:
@@@@: DISLang|Class
@@@ForCheck: ManakaiDOM|ForClass
@@Implement:
@@@@: ||ManakaiDOM|ManakaiDOM||ManakaiDOM|ForIF
@@@ContentType: DISCore|TFPQNames
@@@ForCheck: ManakaiDOM|ForClass ManakaiDOM|ManakaiDOM
@@Implement:
@@@@: ||ManakaiDOM|ManakaiDOM1||ManakaiDOM|ForIF
@@@ContentType: DISCore|TFPQNames
@@@ForCheck:
ManakaiDOM|ForClass ManakaiDOM|ManakaiDOM1 !ManakaiDOM|ManakaiDOM2
@@Implement:
@@@@: ||ManakaiDOM|ManakaiDOM2||ManakaiDOM|ForIF
@@@ContentType: DISCore|TFPQNames
@@@ForCheck: ManakaiDOM|ForClass ManakaiDOM|ManakaiDOM2
@@Implement:
@@@@: ||ManakaiDOM|ManakaiDOMLatest||ManakaiDOM|ForIF
@@@ContentType: DISCore|TFPQNames
@@@ForCheck: ManakaiDOM|ForClass ManakaiDOM|ManakaiDOMLatest
@@DOMMain:implementFeature:
@@@@: HTMLFeature10
@@@For: ManakaiDOM|DOM1 !ManakaiDOM|DOM2
@@DOMMain:implementFeature:
@@@@: HTMLFeature20
@@@For: ManakaiDOM|DOM2
@@rdf:type:
@@@@: s|ElementType
@@@ForCheck: ForHTML
@@s:elementType:
@@@@: ||ForHTML40SE
@@@ForCheck: ManakaiDOM|DOM1 !ManakaiDOM|DOM2
@@@ImplNote:
@@@@lang:en
@@@@@:
DOM Level 1 First Edition refers the latest version of
HTML 4.0 while Second Edition refers the second edition of
HTML 4.0.
@@@DISCore:stopISARecursive:1
@@s:elementType:
@@@@: ||ForHTML401
@@@ForCheck: ManakaiDOM|DOM2
@@s:elementType:
@@@@: ||ForXHTML10SE
@@@ForCheck: ManakaiDOM|DOM2
@@@DISCore:stopISARecursive:1
ElementTypeBinding:
@Name: IfCls1ETDef
@ElementType:
dis:ResourceDef
@ShadowContent:
@@rdf:type:
@@@@: dis|MultipleResource
@@@ForCheck: !ManakaiDOM|ForIF !ManakaiDOM|ForClass !ForHTML
@@resourceFor: ManakaiDOM|ForIF
@@resourceFor:
@@@@: ManakaiDOM|ForClass
@@@ForCheck: ManakaiDOM|ManakaiDOM !=ManakaiDOM|ManakaiDOM
@@For: ManakaiDOM|DOM1
@@For: =ManakaiDOM|ManakaiDOM
@@For: ForHTML
@@rdf:type:
@@@@: DISLang|Interface
@@@ForCheck: ManakaiDOM|ForIF
@@rdf:type:
@@@@: DISLang|Class
@@@ForCheck: ManakaiDOM|ForClass
@@Implement:
@@@@: ||ManakaiDOM|ManakaiDOM||ManakaiDOM|ForIF
@@@ContentType: DISCore|TFPQNames
@@@ForCheck: ManakaiDOM|ForClass ManakaiDOM|ManakaiDOM
@@Implement:
@@@@: ||ManakaiDOM|ManakaiDOM1||ManakaiDOM|ForIF
@@@ContentType: DISCore|TFPQNames
@@@ForCheck:
ManakaiDOM|ForClass ManakaiDOM|ManakaiDOM1
@@Implement:
@@@@: ||ManakaiDOM|ManakaiDOM2||ManakaiDOM|ForIF
@@@ContentType: DISCore|TFPQNames
@@@ForCheck: ManakaiDOM|ForClass ManakaiDOM|ManakaiDOM2
@@Implement:
@@@@: ||ManakaiDOM|ManakaiDOMLatest||ManakaiDOM|ForIF
@@@ContentType: DISCore|TFPQNames
@@@ForCheck: ManakaiDOM|ForClass ManakaiDOM|ManakaiDOMLatest
@@DOMMain:implementFeature:
@@@@: HTMLFeature10
@@@For: ManakaiDOM|DOM1
@@DOMMain:implementFeature:
@@@@: HTMLFeature20
@@@For: ManakaiDOM|DOM2
@@rdf:type:
@@@@: s|ElementType
@@@ForCheck: ForHTML
@@s:elementType:
@@@@: ||ForHTML40SE
@@@ForCheck: ManakaiDOM|DOM1 !ManakaiDOM|DOM2
@@@ImplNote:
@@@@lang:en
@@@@@:
DOM Level 1 First Edition refers the latest version of
HTML 4.0 while Second Edition refers the second edition of
HTML 4.0.
@@@DISCore:stopISARecursive:1
@@s:elementType:
@@@@: ||ForHTML401
@@@ForCheck: ManakaiDOM|DOM2
@@s:elementType:
@@@@: ||ForXHTML10SE
@@@ForCheck: ManakaiDOM|DOM2
@@@DISCore:stopISARecursive:1
ElementTypeBinding:
@Name: IfCls1ETsDef
@ElementType:
dis:ResourceDef
@ShadowContent:
@@rdf:type:
@@@@: dis|MultipleResource
@@@ForCheck: !ManakaiDOM|ForIF !ManakaiDOM|ForClass !ForHTML
@@resourceFor: ManakaiDOM|ForIF
@@resourceFor:
@@@@: ManakaiDOM|ForClass
@@@ForCheck: ManakaiDOM|ManakaiDOM !=ManakaiDOM|ManakaiDOM
@@For: ManakaiDOM|DOM1
@@For: =ManakaiDOM|ManakaiDOM
@@For: ForHTML
@@rdf:type:
@@@@: DISLang|Interface
@@@ForCheck: ManakaiDOM|ForIF
@@rdf:type:
@@@@: DISLang|Class
@@@ForCheck: ManakaiDOM|ForClass
@@Implement:
@@@@: ||ManakaiDOM|ManakaiDOM||ManakaiDOM|ForIF
@@@ContentType: DISCore|TFPQNames
@@@ForCheck: ManakaiDOM|ForClass ManakaiDOM|ManakaiDOM
@@Implement:
@@@@: ||ManakaiDOM|ManakaiDOM1||ManakaiDOM|ForIF
@@@ContentType: DISCore|TFPQNames
@@@ForCheck:
ManakaiDOM|ForClass ManakaiDOM|ManakaiDOM1
@@Implement:
@@@@: ||ManakaiDOM|ManakaiDOM2||ManakaiDOM|ForIF
@@@ContentType: DISCore|TFPQNames
@@@ForCheck: ManakaiDOM|ForClass ManakaiDOM|ManakaiDOM2
@@Implement:
@@@@: ||ManakaiDOM|ManakaiDOMLatest||ManakaiDOM|ForIF
@@@ContentType: DISCore|TFPQNames
@@@ForCheck: ManakaiDOM|ForClass ManakaiDOM|ManakaiDOMLatest
@@DOMMain:implementFeature:
@@@@: HTMLFeature10
@@@For: ManakaiDOM|DOM1
@@DOMMain:implementFeature:
@@@@: HTMLFeature20
@@@For: ManakaiDOM|DOM2
ElementTypeBinding:
@Name: H5ETX
@ElementType:
dis:ResourceDef
@ShadowContent:
@@ForCheck: !ManakaiDOM|all
@@rdf:type:
@@@@:
dis:MultipleResource
@@@ForCheck:
!ManakaiDOM:ForClass !ManakaiDOM:ForIF !ForHTML
@@rdf:type:
@@@@:
ManakaiDOM:IF
@@@ForCheck:
ManakaiDOM:ForIF
@@rdf:type:
@@@@:
ManakaiDOM:Class
@@@ForCheck:
ManakaiDOM:ForClass
@@resourceFor:
@@@@:
ManakaiDOM:ForIF
@@@ForCheck:
ManakaiDOM:DOM
@@@For:
ManakaiDOM:DOMHTMLFeature
@@@For:
=ManakaiDOM:ManakaiDOM
@@resourceFor:
@@@@:
ManakaiDOM:ForClass
@@@ForCheck:
ManakaiDOM:ManakaiDOM !=ManakaiDOM:ManakaiDOM ManakaiDOM:DOMHTMLFeature
@@rdf:type:
@@@@:
s:ElementType
@@@ForCheck:
ForHTML
@@ISA:
@@@@:
::ManakaiDOM:ManakaiDOM||ManakaiDOM:ForIF
@@@ForCheck:
ManakaiDOM:ForIF ManakaiDOM:ManakaiDOM1
@@@ContentType: DISCore|TFPQNames
@@Implement:
@@@@: ||+||ManakaiDOM|ForIF
@@@ForCheck: ManakaiDOM|ForClass ManakaiDOM|ManakaiDOM1
@@@ContentType: DISCore|TFPQNames
@@DISMarkup:elementType:
@@@@: ||ForHTML5
@@@ForCheck: ManakaiDOM|ManakaiDOMLatest
@@@DISCore:stopISARecursive:1
@@DOMMain:implementFeature: HTMLExtendedFeature30
@@For: =ManakaiDOM|ManakaiDOM
@@For: ManakaiDOM|ManakaiDOMLatest
@@For: ForHTML5
ElementTypeBinding:
@Name: Method
@ElementType:
dis:ResourceDef
@ShadowContent:
@@rdf:type: DISLang|Method
@@ForCheck: ManakaiDOM|DOM !=ManakaiDOM|ManakaiDOM
ElementTypeBinding:
@Name: IntMethod
@ElementType:
dis:ResourceDef
@ShadowContent:
@@rdf:type: DISLang|Method
@@ForCheck: ManakaiDOM|ForClass
@@ManakaiDOM:isForInternal: 1
ElementTypeBinding:
@Name: Param
@ElementType:
dis:ResourceDef
@ShadowContent:
@@rdf:type: DISLang|MethodParameter
ElementTypeBinding:
@Name: Exception
@ElementType:
ManakaiDOM:raises
@ShadowContent:
@@ForCheck: !ManakaiDOM|all
ElementTypeBinding:
@Name: RaiseException
@ElementType:
ManakaiDOM:raises
@ShadowContent:
@@ForCheck: !ManakaiDOM|all
ElementTypeBinding:
@Name: Return
@ElementType:
dis:ResourceDef
@ShadowContent:
@@rdf:type: DISLang|MethodReturn
ElementTypeBinding:
@Name: Attr
@ElementType:
dis:ResourceDef
@ShadowContent:
@@rdf:type: DISLang|Attribute
@@ForCheck: ManakaiDOM|DOM !=ManakaiDOM|ManakaiDOM
ElementTypeBinding:
@Name: Attrs
@ElementType:
dis:ResourceDef
@ShadowContent:
@@rdf:type:
@@@@: DISLang|Attribute
@@@ForCheck: ManakaiDOM|DOM
@@ForCheck: !=ManakaiDOM|ManakaiDOM
@@For: ManakaiDOM|ManakaiDOM
@@For: ForHTML
@@rdf:type:
@@@@: s|Attribute
@@@ForCheck: ForHTML
ElementTypeBinding:
@Name: ATTR
@ElementType:
dis:ResourceDef
@ShadowContent:
@@ForCheck:
!=ManakaiDOM:ManakaiDOM
@@rdf:type:
@@@@: DISLang|Attribute
@@@ForCheck: ManakaiDOM|DOM
@@rdf:type:
@@@@: s|Attribute
@@@ForCheck: ForHTML
@@DocAttr:
@@@@: ||ForHTML40SE
@@@ForCheck: ManakaiDOM|DOM1 !ManakaiDOM|DOM2
@@@ImplNote:
@@@@lang:en
@@@@@:
DOM Level 1 First Edition refers the latest version of
HTML 4.0 while Second Edition refers the second edition of
HTML 4.0.
@@DocAttr:
@@@@: ||ForHTML401
@@@ForCheck: ManakaiDOM|DOM2
@@DocAttr:
@@@@: ||ForXHTML10SE
@@@ForCheck: ManakaiDOM|DOM2
ElementTypeBinding:
@Name: Get
@ElementType:
dis:ResourceDef
@ShadowContent:
@@rdf:type: DISLang|AttributeGet
@@ForCheck: ManakaiDOM|DOM
ElementTypeBinding:
@Name: Set
@ElementType:
dis:ResourceDef
@ShadowContent:
@@rdf:type: DISLang|AttributeSet
@@ForCheck: ManakaiDOM|DOM
ElementTypeBinding:
@Name: InCase
@ElementType:
dis:ResourceDef
@ShadowContent:
@@rdf:type:
ManakaiDOM:InCase
ElementTypeBinding:
@Name: Deprecated
@ElementType:
DOMHTML:isDeprecatedByHTML4
@ShadowContent: 1
@ShadowSibling:
@@ForCheck: !ForXHTML11
PropDef:
@QName: isDeprecatedByHTML4
@Description:
@@lang:en
@@@:
Whether a subject resource is deprecated by HTML 4 or not.
@dataType: DISCore|Boolean
@multipleProperties: DISCore|Single
IfCls1Def:
@IFQName: HTMLCollection
@ClsQName: ManakaiDOMHTMLCollection
@ClsISA: NodeRef
@Description:
@@lang:en
@@@:
A list of nodes. An individual node may be accessed
by either ordinal index or the or
of the node.
\
objects are ; they are
automatically updated when the underlying document
is changed.
@Attr:
@@Name: length
@@Description:
@@@lang:en
@@@@: The length of the list.
@@Get:
@@@Type: ulong
@@@PerlDef:
my $l = $self->{}
->
($self->{});
$r = @$l;
@Method:
@@Name: item
@@Description:
@@@lang:en
@@@@:
Retrieve a node specified by ordinal index.
@@Param:
@@@Name: index
@@@Type: ulong
@@@Description:
@@@@lang:en
@@@@@:
The index of the node to retrieve, in the document order.
The index origin is .
@@Return:
@@@Type:
DOMCore:Node
@@@Description:
@@@@lang:en
@@@@@:
The th node.
@@@InCase:
@@@@Value:
@@@@@is-null:1
@@@@Description:
@@@@@lang:en
@@@@@@:
The is out of range.
@@@PerlDef:
$r = $self->{}
->
($self->{}, \$index);
if (defined $r) {
$r = ($r);
}
@Method:
@@Name: namedItem
@@Description:
@@@lang:en
@@@@:
Retrieve a node using a name.
\
With HTML 4 documents,
it first searches for an with a matching
attribute and if it does not find one,
it searches for an (that is allowed to specify a
attribute) with a matching attribute.
The matching is case-insensitive.
\
With XHTML 1.0 documents, it only searches for
an with a matching attribute.
The matching is case-sensitive.
@@ImplNote:
@@@lang:en
@@@@:
XHTML local attributes? XML attributes?
Any local attributes?
@@Param:
@@@Name: name
@@@Type:
DOMMain:DOMString
@@@Description:
@@@@lang:en
@@@@@:
The name of the to retrieve.
@@Return:
@@@Type:
DOMCore:Node
@@@Description:
@@@@lang:en
@@@@@:
The with a or whose
value matches with .
@@@InCase:
@@@@Value:
@@@@@is-null:1
@@@@Description:
@@@@@lang:en
@@@@@@:
There is no node with such a .
@@@PerlDef:
my $node = $self->{};
$name = "$name";
my $index = 0;
if (not $node->{}
->{}->{XML}) {
$r = $self->{}
->
(sub ($) {
\#line 1 "DOMHTML.ManakaiDOMHTMLCollection.namedItem.#1"
my $node = shift;
if ($self->{}->($node)) {
my $attr = $node->{}
->{}->{name} ||
$node->{}
->{}->{name};
if ($attr) {
my $attrn;
__CODE{ManakaiNode:getWeakReference
||ManakaiDOM:Perl::
$object => $attr, $ref => $attrn,
$class => {},
}__;
__FOR{ManakaiDOM:DOM3::
if ($attrn->
eq $name) {
return true;
}
}__;
__FOR{!ManakaiDOM:DOM3::
if ($attrn-> eq $name) {
return true;
}
}__;
}
}
return false;
\#line 1 "DOMHTML.ManakaiDOMHTMLCollection.namedItem.#2"
}, \$index);
}
$index = 0;
$r ||= $self->{}
->
(sub ($) {
\#line 1 "DOMHTML.ManakaiDOMHTMLCollection.namedItem.#3"
my $node = shift;
if ($self->{}->($node)) {
my $attr = $node->{}
->{}->{id} ||
$node->{}
->{}->{id};
if ($attr) {
my $attrn;
__CODE{ManakaiNode:getWeakReference
||ManakaiDOM:Perl::
$object => $attr, $ref => $attrn,
$class => {},
}__;
__FOR{ManakaiDOM:DOM3::
if ($attrn->
eq $name) {
return true;
}
}__;
__FOR{!ManakaiDOM:DOM3::
if ($attrn-> eq $name) {
return true;
}
}__;
}
}
return false;
\#line 1 "DOMHTML.ManakaiDOMHTMLCollection.namedItem.#4"
}, \$index);
if (defined $r) {
$r = ($r);
}
ImplNote:
@@lang:en
@@@:
: See .
ResourceDef:
@QName: ulong
@For: ManakaiDOM|DOM
@AliasFor: DOMMain|unsigned-long||ManakaiDOM|all
IF:
@ForCheck: !ManakaiDOM|all
@Name:
@@@: ManakaiDOMHTMLDOMImplementationIF
@@ForCheck:
ManakaiDOM:ForIF
@ISA:
@@@:
DOMCore:DOMImplementation
@@ForCheck:
ManakaiDOM:ForIF
@Name:
@@@: ManakaiDOMHTMLDOMImplementation
@@ForCheck:
ManakaiDOM:ForClass
@ISA:
@@@:
DOMCore:ManakaiDOMImplementation
@@ForCheck:
ManakaiDOM:ForClass
@For:
ManakaiDOM:ManakaiDOMLatest
@For:
=ManakaiDOM:ManakaiDOM
@DOMMain:implementFeature: HTMLFeature20
@DOMMain:implementFeature: HTMLExtendedFeature30
@DOMMetaImpl:provideFeature: HTMLFeature20
@DOMMetaImpl:provideFeature: HTMLExtendedFeature30
@Description:
@@lang:en
@@@:
A DOM implementation with HTML-specific methods.
\
{NOTE:: The was part of
the W3C's DOM Level 2 HTML Candicate Recommendation
but later removed. The manakai DOM implementation
has been decided to include this interface since
there are a number of implementations supporting
the method
and the DOM Level 3 Core Specification belives:-) that
there is a method.
\
}
@Method:
@@Name: createHTMLDocument
@@Description:
@@@lang:en
@@@@:
Creates an object with the minimal tree
made of , , and elements.
\
{NOTE:: This method creates a (non-XML) HTML document. To create
a XHTML document, use with a root element type
or with an appropriate document type
node.
\
}
@@For:
ManakaiDOM:ManakaiDOMLatest
@@Param:
@@@Name:title
@@@Type:
DOMMain:DOMString
@@@Description:
@@@@lang:en
@@@@@:
The title of the document to create. It is set as the content of
the element, through a child node.
@@Return:
@@@Type: HTMLDocument
@@@actualType: ManakaiDOMHTMLDocument
@@@Description:
@@@@lang:en
@@@@@:
A newly created HTML document.
@@@PerlDef:
my $node = ;
$node->{} = $self;
$node->{}
= $self->{}->{};
$node->{}->{HTML} = 1;
my $cls = ;
$r = ;
$r->
(my $html = $r->
('HTML'));
$html->
(my $head = $r->
('HEAD'));
$head->
(my $titleEl = $r->
('TITLE'));
if (length $title) {
$titleEl->
($r-> ($title));
}
$html->
($r->
('BODY'));
$r = ($node);
@Method:
@@Name: createXHTMLDocument
@@Description:
@@@lang:en
@@@@:
Creates an object with the minimal tree
made of , , and elements
and with the feature.
\
{NOTE:: This method is .
\
}
@@For:
ManakaiDOM:ManakaiDOMLatest
@@Param:
@@@Name:title
@@@Type:
DOMMain:DOMString
@@@Description:
@@@@lang:en
@@@@@:
The title of the document to create. It is set as the content of
the element, through a child node.
@@Return:
@@@Type: HTMLDocument
@@@actualType: ManakaiDOMHTMLDocument
@@@Description:
@@@@lang:en
@@@@@:
A newly created HTML document.
@@@PerlDef:
__DEEP{
my $node = ;
$node->{} = $self;
$node->{}
= $self->{}->{};
$node->{}->{HTML} = 1;
$node->{}->{XML} = 1;
my $cls = ;
$r = ;
$r->
(my $html = $r->
(, 'html'));
$html->
(, 'xmlns', );
$html->
(my $head = $r->
(, 'head'));
$head->
(my $titleEl = $r->
(, 'title'));
if (length $title) {
$titleEl->
($r-> ($title));
}
$html->
($r->
(, 'body'));
$r = ($node);
}__;
ResourceDef:
@QName: getWeakRef
@AliasFor:
ManakaiNode:getWeakRef::ManakaiDOM:Perl
@For: ManakaiDOM|ManakaiDOM
IfCls1Def:
@IFQName: HTMLDocument
@ClsQName: ManakaiHTMLDocument
@IFISA: DOMCore|Document
@ClsISA: DOMCore|ManakaiDOMDocument
@Description:
@@lang:en
@@@:
The root of the HTML document and holds the entire content.
@s:rootElementType:
@@@: html||ForHTML40SE
@@ForCheck: ManakaiDOM|DOM1 !ManakaiDOM|DOM2
@s:rootElementType:
@@@: html||ForHTML401
@@ForCheck: ManakaiDOM|DOM2
@s:rootElementType:
@@@: html||ForXHTML10SE
@@ForCheck: ManakaiDOM|DOM2
@ImplNote:
@@For: !ManakaiDOM|all
@@doctype-public:
-//W3C//DTD HTML 4.0//EN
@@doctype-public:
-//W3C//DTD HTML 4.0 Transitional//EN
@@doctype-public:
-//W3C//DTD HTML 4.0 Frameset//EN
@@doctype-public:
-//W3C//DTD HTML 4.01//EN
@@doctype-public:
-//W3C//DTD HTML 4.01 Transitional//EN
@@doctype-public:
-//W3C//DTD HTML 4.01 Frameset//EN
@@doctype-public:
-//W3C//DTD XHTML 1.0 Strict//EN
@@doctype-public:
-//W3C//DTD XHTML 1.0 Transitional//EN
@@doctype-public:
-//W3C//DTD XHTML 1.0 Frameset//EN
@@ImplNote:
@@@lang:en
@@@@:
TODO: doctype-system required
mediatype : text/html, text/x-html
@Attr:
@@Name: title
@@Description:
@@@lang:en
@@@@:
The title of a document, as specified by the