1998-11-12 16:36:02 +00:00
|
|
|
<?xml version="1.0"?>
|
|
|
|
<?xml-stylesheet href="docbook.css" type="text/css"?>
|
|
|
|
<!DOCTYPE Book SYSTEM "docbook.dtd">
|
|
|
|
<Book> <Title>SoftQuad
|
|
|
|
Inc.</Title>
|
1999-01-21 19:33:03 +00:00
|
|
|
<p xmlns="http://www.w3.org/TR/REC-html40" xmlns:h="http://www.w3.org/TR/REC-html40">
|
|
|
|
<h:img src="flamer.gif"/>
|
|
|
|
<img src="flamer.gif"/>
|
1999-02-23 19:18:12 +00:00
|
|
|
<button><b>some text</b></button>
|
1999-01-21 19:33:03 +00:00
|
|
|
</p>
|
1998-11-12 16:36:02 +00:00
|
|
|
<BookInfo> <BookBiblio> <Title>Demo Product Documentation</Title>
|
|
|
|
<AuthorGroup><CorpAuthor>SoftQuad Inc.</CorpAuthor></AuthorGroup>
|
|
|
|
</BookBiblio> </BookInfo> <Preface> <Title><Anchor
|
|
|
|
Id="SDK3"/>Element Overview</Title>
|
|
|
|
<BridgeHead>Introduction to Elements</BridgeHead>
|
|
|
|
<Para>By far the vast majority of objects (apart from text) that authors
|
|
|
|
encounter when traversing a document are Element nodes. </Para> </Preface>
|
|
|
|
<Part> <Title><Anchor Id="SDK273"/>Element Interfaces</Title>
|
|
|
|
<Chapter Label="1"> <Title><Anchor Id="SDK274"/>Elements and
|
|
|
|
Attributes</Title>
|
|
|
|
<Sect1> <Title><Anchor Id="SDK279"/>Introduction to Attributes
|
|
|
|
</Title>
|
|
|
|
<Para>Elements may have attributes associated with them; since the Element
|
|
|
|
interface inherits from Node, the generic Node interface method
|
|
|
|
<Function>getAttributes</Function> may be used to retrieve the set of all
|
|
|
|
attributes for an element. </Para>
|
|
|
|
<Para>There are methods on the Element interface to retrieve either an Attr
|
|
|
|
object by name or an attribute value by name. In XML, where an attribute value
|
|
|
|
may contain entity references, an Attr object should be retrieved to examine
|
|
|
|
the possibly fairly complex sub-tree representing the attribute value. On the
|
|
|
|
other hand, in HTML, where all attributes have simple string values, methods to
|
|
|
|
directly access an attribute value can safely be used as a convenience. </Para>
|
|
|
|
|
|
|
|
<Para>Before you can access an Attribute, you must first gain access to the
|
|
|
|
associated Element.</Para> </Sect1>
|
|
|
|
<Sect1> <Title><Anchor Id="SDK378"/>Setting the Attribute
|
|
|
|
Values</Title>
|
|
|
|
<Para>Attr objects inherit the Node interface, but since they are not actually
|
|
|
|
child nodes of the element they describe, the DOM does not consider them part
|
|
|
|
of the document tree. Thus, the Node attributes parentNode, previousSibling,
|
|
|
|
and nextSibling have a null value for Attr objects. The DOM takes the view that
|
|
|
|
attributes are properties of elements rather than having a separate identity
|
|
|
|
from the elements they are associated with; this should make it more efficient
|
|
|
|
to implement such features as default attributes associated with all elements
|
|
|
|
of a given type. Furthermore, Attr nodes may not be immediate children of a
|
|
|
|
DocumentFragment. However, they can be associated with Element nodes contained
|
|
|
|
within a DocumentFragment. In short, users and implementors of the DOM need to
|
|
|
|
be aware that Attr nodes have some things in common with other objects
|
|
|
|
inheriting the Node interface, but they also are quite distinct. </Para>
|
|
|
|
<Para>The attribute's effective value is determined as follows:</Para>
|
|
|
|
<ItemizedList Mark="Bullet"> <ListItem>
|
|
|
|
<Para>If this attribute has been explicitly assigned any value, that value is
|
|
|
|
the attribute's effective value</Para></ListItem> <ListItem>
|
|
|
|
<Para>Otherwise, if there is a declaration for this attribute, and that
|
|
|
|
declaration includes a default value, then that default value is the
|
|
|
|
attribute's effective value</Para></ListItem> <ListItem>
|
|
|
|
<Para>Otherwise, the attribute does not exist on this element in the structure
|
|
|
|
model until it has been explicitly added.</Para></ListItem> </ItemizedList>
|
|
|
|
<Para>In XML, where the value of an attribute can contain entity references,
|
|
|
|
the child nodes of the Attr node provide a representation in which entity
|
|
|
|
references are not expanded. These child nodes may be either Text or
|
|
|
|
EntityReference nodes. Because the attribute type may be unknown, there are no
|
|
|
|
tokenized attribute values. </Para>
|
|
|
|
<Para>The following topics describe DOM attributes: </Para>
|
|
|
|
<ItemizedList Mark="Bullet"> <ListItem>
|
|
|
|
<Para>
|
1998-11-14 00:22:10 +00:00
|
|
|
<ULink xml:link="simple" show="replace"
|
|
|
|
href="http://www.w3.org/TR/REC-DOM-Level-1/level-one-core.html#ID-637646024">Interface
|
1998-11-12 16:36:02 +00:00
|
|
|
Attr</ULink> </Para></ListItem> <ListItem>
|
|
|
|
<Para>
|
1998-11-14 00:22:10 +00:00
|
|
|
<ULink xml:link="simple" show="new"
|
|
|
|
href="http://www.w3.org/TR/REC-DOM-Level-1/level-one-core.html#ID-745549614">
|
1998-11-12 16:36:02 +00:00
|
|
|
Interface Element</ULink> </Para></ListItem> </ItemizedList> </Sect1></Chapter>
|
|
|
|
|
|
|
|
<Chapter Label="26" Role="funcref"> <Title><Anchor
|
|
|
|
Id="SDK48"/>DOM Level 1 Core: Element Functions</Title>
|
|
|
|
<RefEntry> <RefMeta><RefEntryTitle> <Anchor Id="setAttribute"/>setAttribute
|
|
|
|
</RefEntryTitle></RefMeta> <RefNameDiv> <RefName>setAttribute</RefName>
|
|
|
|
<RefPurpose>Sets the Attributes on the associated Element object</RefPurpose>
|
|
|
|
<RefClass>Fundamental</RefClass> </RefNameDiv> <RefSynopsisDiv> <Title>
|
|
|
|
<Anchor Id="SDK85"/>Syntax</Title>
|
|
|
|
<RefSect2> <Title>OMG IDL</Title>
|
|
|
|
<Synopsis><Type>void</Type> <Function>setAttribute</Function> (in
|
|
|
|
<Type>DOMString</Type> <Parameter>name</Parameter>, in <Type>DOMString</Type>
|
|
|
|
<Parameter>value</Parameter>) raises (<ErrorType>DOMException</ErrorType>);
|
|
|
|
</Synopsis></RefSect2><RefSect2> <Title><Anchor Id="SDK86"/>Java</Title>
|
|
|
|
<Synopsis><Type>public void</Type> <Function>setAttribute</Function> (
|
|
|
|
<Type>String</Type> <Parameter>name</Parameter>, <Type>String</Type>
|
|
|
|
<Parameter>value</Parameter>) throws (<ErrorType>DOMException</ErrorType>);
|
|
|
|
</Synopsis> </RefSect2><RefSect2> <Title><Anchor Id="SDK87"/>ECMA Script
|
|
|
|
</Title>
|
|
|
|
<Synopsis> <Function>setAttribute</Function> (<Parameter>name, value
|
|
|
|
</Parameter>)</Synopsis> </RefSect2></RefSynopsisDiv><RefSect1> <Title>
|
|
|
|
<Anchor Id="SDK88"/>Parameters</Title>
|
|
|
|
<VariableList> <VarListEntry><Term> <Parameter>name</Parameter></Term>
|
|
|
|
<ListItem>
|
|
|
|
<Para>(IN) The name of the attribute to create or alter.</Para> </ListItem>
|
|
|
|
</VarListEntry><VarListEntry><Term> <Parameter>value</Parameter></Term>
|
|
|
|
<ListItem>
|
|
|
|
<Para>(IN) Value to set in string form</Para> </ListItem></VarListEntry>
|
|
|
|
</VariableList></RefSect1><RefSect1> <Title><Anchor Id="SDK89"/>Exceptions
|
|
|
|
</Title>
|
|
|
|
<Para>These are the applicable exceptions. </Para> <InformalTable> <TGroup cols="2">
|
|
|
|
<colspec colname="1" colnum="1" colwidth="0.630in"/>
|
|
|
|
<colspec colname="2" colnum="2" colwidth="5.203in"/> <tbody>
|
|
|
|
<row> <entry colname="1">
|
|
|
|
<Para>INVALID_CHARACTER_ERR</Para></entry> <entry colname="2">
|
|
|
|
<Para>Raised if the specified name contains an invalid character.</Para>
|
|
|
|
</entry></row> <row> <entry colname="1">
|
|
|
|
<Para> NO_MODIFICATION_ALLOWED_ERR</Para></entry> <entry colname="2">
|
|
|
|
<Para>Raised if this node is readonly.</Para></entry> </row>
|
|
|
|
</tbody>
|
|
|
|
</TGroup></InformalTable></RefSect1><RefSect1> <Title><Anchor
|
|
|
|
Id="SDK90"/>Remarks</Title>
|
|
|
|
<Para> <Function>setAttribute</Function> adds a new attribute. If an attribute
|
|
|
|
with that name is already present in the element, its value is changed to be
|
|
|
|
that of the value parameter. This value is a simple string, it is not parsed as
|
|
|
|
it is being set. So any markup (such as syntax to be recognized as an entity
|
|
|
|
reference) is treated as literal text, and needs to be appropriately escaped by
|
|
|
|
the implementation when it is written out.</Para>
|
|
|
|
<Para> In order to assign an attribute value that contains entity references,
|
|
|
|
the user must create an Attr node plus any Text and EntityReference nodes,
|
|
|
|
build the appropriate subtree, and use <Function>setAttributeNode</Function> to
|
|
|
|
assign it as the value of an attribute. </Para> </RefSect1></RefEntry>
|
|
|
|
</Chapter></Part></Book>
|