Initial commit of OpenSPARC T2 architecture model.
[OpenSPARC-T2-SAM] / sam-t2 / devtools / v9 / html / python / lib / dom-accessor-methods.html
CommitLineData
920dae64
AT
1<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
2<html>
3<head>
4<link rel="STYLESHEET" href="lib.css" type='text/css' />
5<link rel="SHORTCUT ICON" href="../icons/pyfav.png" type="image/png" />
6<link rel='start' href='../index.html' title='Python Documentation Index' />
7<link rel="first" href="lib.html" title='Python Library Reference' />
8<link rel='contents' href='contents.html' title="Contents" />
9<link rel='index' href='genindex.html' title='Index' />
10<link rel='last' href='about.html' title='About this document...' />
11<link rel='help' href='about.html' title='About this document...' />
12<link rel="prev" href="dom-type-mapping.html" />
13<link rel="parent" href="dom-conformance.html" />
14<link rel="next" href="module-xml.dom.minidom.html" />
15<meta name='aesop' content='information' />
16<title>13.6.3.2 Accessor Methods </title>
17</head>
18<body>
19<DIV CLASS="navigation">
20<div id='top-navigation-panel' xml:id='top-navigation-panel'>
21<table align="center" width="100%" cellpadding="0" cellspacing="2">
22<tr>
23<td class='online-navigation'><a rel="prev" title="13.6.3.1 Type Mapping"
24 href="dom-type-mapping.html"><img src='../icons/previous.png'
25 border='0' height='32' alt='Previous Page' width='32' /></A></td>
26<td class='online-navigation'><a rel="parent" title="13.6.3 Conformance"
27 href="dom-conformance.html"><img src='../icons/up.png'
28 border='0' height='32' alt='Up One Level' width='32' /></A></td>
29<td class='online-navigation'><a rel="next" title="13.7 xml.dom.minidom "
30 href="module-xml.dom.minidom.html"><img src='../icons/next.png'
31 border='0' height='32' alt='Next Page' width='32' /></A></td>
32<td align="center" width="100%">Python Library Reference</td>
33<td class='online-navigation'><a rel="contents" title="Table of Contents"
34 href="contents.html"><img src='../icons/contents.png'
35 border='0' height='32' alt='Contents' width='32' /></A></td>
36<td class='online-navigation'><a href="modindex.html" title="Module Index"><img src='../icons/modules.png'
37 border='0' height='32' alt='Module Index' width='32' /></a></td>
38<td class='online-navigation'><a rel="index" title="Index"
39 href="genindex.html"><img src='../icons/index.png'
40 border='0' height='32' alt='Index' width='32' /></A></td>
41</tr></table>
42<div class='online-navigation'>
43<b class="navlabel">Previous:</b>
44<a class="sectref" rel="prev" href="dom-type-mapping.html">13.6.3.1 Type Mapping</A>
45<b class="navlabel">Up:</b>
46<a class="sectref" rel="parent" href="dom-conformance.html">13.6.3 Conformance</A>
47<b class="navlabel">Next:</b>
48<a class="sectref" rel="next" href="module-xml.dom.minidom.html">13.7 xml.dom.minidom </A>
49</div>
50<hr /></div>
51</DIV>
52<!--End of Navigation Panel-->
53
54<H3><A NAME="SECTION0015632000000000000000"></A><A NAME="dom-accessor-methods"></A>
55<BR>
5613.6.3.2 Accessor Methods
57</H3>
58
59<P>
60The mapping from OMG IDL to Python defines accessor functions for IDL
61<tt class="keyword">attribute</tt> declarations in much the way the Java mapping
62does. Mapping the IDL declarations
63
64<P>
65<div class="verbatim"><pre>
66readonly attribute string someValue;
67 attribute string anotherValue;
68</pre></div>
69
70<P>
71yields three accessor functions: a ``get'' method for
72<tt class="member">someValue</tt> (<tt class="method">_get_someValue()</tt>), and ``get'' and
73``set'' methods for
74<tt class="member">anotherValue</tt> (<tt class="method">_get_anotherValue()</tt> and
75<tt class="method">_set_anotherValue()</tt>). The mapping, in particular, does not
76require that the IDL attributes are accessible as normal Python
77attributes: <code><var>object</var>.someValue</code> is <em>not</em> required to
78work, and may raise an <tt class="exception">AttributeError</tt>.
79
80<P>
81The Python DOM API, however, <em>does</em> require that normal attribute
82access work. This means that the typical surrogates generated by
83Python IDL compilers are not likely to work, and wrapper objects may
84be needed on the client if the DOM objects are accessed via CORBA.
85While this does require some additional consideration for CORBA DOM
86clients, the implementers with experience using DOM over CORBA from
87Python do not consider this a problem. Attributes that are declared
88<tt class="keyword">readonly</tt> may not restrict write access in all DOM
89implementations.
90
91<P>
92In the Python DOM API, accessor functions are not required. If provided,
93they should take the form defined by the Python IDL mapping, but
94these methods are considered unnecessary since the attributes are
95accessible directly from Python. ``Set'' accessors should never be
96provided for <tt class="keyword">readonly</tt> attributes.
97
98<P>
99The IDL definitions do not fully embody the requirements of the W3C DOM
100API, such as the notion of certain objects, such as the return value of
101<tt class="method">getElementsByTagName()</tt>, being ``live''. The Python DOM API
102does not require implementations to enforce such requirements.
103
104<DIV CLASS="navigation">
105<div class='online-navigation'>
106<p></p><hr />
107<table align="center" width="100%" cellpadding="0" cellspacing="2">
108<tr>
109<td class='online-navigation'><a rel="prev" title="13.6.3.1 Type Mapping"
110 href="dom-type-mapping.html"><img src='../icons/previous.png'
111 border='0' height='32' alt='Previous Page' width='32' /></A></td>
112<td class='online-navigation'><a rel="parent" title="13.6.3 Conformance"
113 href="dom-conformance.html"><img src='../icons/up.png'
114 border='0' height='32' alt='Up One Level' width='32' /></A></td>
115<td class='online-navigation'><a rel="next" title="13.7 xml.dom.minidom "
116 href="module-xml.dom.minidom.html"><img src='../icons/next.png'
117 border='0' height='32' alt='Next Page' width='32' /></A></td>
118<td align="center" width="100%">Python Library Reference</td>
119<td class='online-navigation'><a rel="contents" title="Table of Contents"
120 href="contents.html"><img src='../icons/contents.png'
121 border='0' height='32' alt='Contents' width='32' /></A></td>
122<td class='online-navigation'><a href="modindex.html" title="Module Index"><img src='../icons/modules.png'
123 border='0' height='32' alt='Module Index' width='32' /></a></td>
124<td class='online-navigation'><a rel="index" title="Index"
125 href="genindex.html"><img src='../icons/index.png'
126 border='0' height='32' alt='Index' width='32' /></A></td>
127</tr></table>
128<div class='online-navigation'>
129<b class="navlabel">Previous:</b>
130<a class="sectref" rel="prev" href="dom-type-mapping.html">13.6.3.1 Type Mapping</A>
131<b class="navlabel">Up:</b>
132<a class="sectref" rel="parent" href="dom-conformance.html">13.6.3 Conformance</A>
133<b class="navlabel">Next:</b>
134<a class="sectref" rel="next" href="module-xml.dom.minidom.html">13.7 xml.dom.minidom </A>
135</div>
136</div>
137<hr />
138<span class="release-info">Release 2.4.2, documentation updated on 28 September 2005.</span>
139</DIV>
140<!--End of Navigation Panel-->
141<ADDRESS>
142See <i><a href="about.html">About this document...</a></i> for information on suggesting changes.
143</ADDRESS>
144</BODY>
145</HTML>