blob: 57d608ce880ed6ef72257dc6a2bb49266fb04572 [file] [log] [blame]
<?xml version="1.0" encoding="utf-8"?>
<!--Arbortext, Inc., 1988-2005, v.4002-->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<!-- /*******************************************************************************
* Copyright (c) 2000, 2005 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* IBM Corporation - initial API and implementation
*******************************************************************************/ -->
<link href="../../org.eclipse.wst.doc.user/common.css" rel="stylesheet" type="text/css"/>
<title>Adding an element reference</title>
</head>
<body id="taddelmr"><a name="taddelmr"><!-- --></a> <h1 class="topictitle1">Adding
element references</h1> <div><p>An element reference provides a reference
to a global element. A declaration that references a global element enables
the referenced global element to appear in the instance document in the context
of the referencing declaration.</p> <div class="section"><p>You can modify
the contents of your global element directly via an element reference. For
example, you can add attributes and attribute reference to an element reference,
but they are actually being added to your global element.</p> The menu option
to add an element reference only appears if there are global elements defined
elsewhere in the document.<p>The following instructions were written for the
Resource perspective, but they will also work in many other perspectives.</p> <p>To
add an element reference, follow these steps:</p> </div> <ol>
<li class="skipspace"><span>In the Outline view, right-click the content model
you want to work with and click <b> <span class="uicontrol">Add Element Ref</span>.</b></span></li>
<li class="skipspace"><span>Select the element reference.</span></li>
<li class="skipspace"><span>In the Properties view, select the global element
you want to reference in the <span class="uicontrol">ref</span> list.</span></li>
<li class="skipspace"><span>(Optional) Select the appropriate value in the <b> <span
class="uicontrol">MinOccurs</span></b> field.</span> This is the number of
times the global element referenced may appear. If you want the element to
be optional, select <span class="uicontrol">0</span>. Otherwise, select <span
class="uicontrol">1</span>. </li>
<li class="skipspace"><span>(Optional) Select the appropriate value in the <b> <span
class="uicontrol">MaxOccurs</span></b> field.</span> This is the maximum number
of times the global element referenced may appear. You can select <span class="uicontrol">unbounded</span> to
indicate there is no maximum number of occurrences.</li>
<li class="stepexpand"><span>(Optional) Click the <b> <span class="uicontrol">Other</span></b> tab.</span> In
this page, you can specify the following various values for the global element
you are referencing: <ul>
<li><b><span class="uicontrol">abstract</span></b>. Click <strong>true </strong>if
you want the global element to be abstract. When a global element is declared
to be abstract, it cannot be used in an instance document. Instead, a member
of that global element's substitution group must appear in the instance document.</li>
<li><b><span class="uicontrol">block</span></b>. This field determines whether
the global element may be replaced by an element derived from it.</li>
<li><b><span class="uicontrol">final</span></b>. This field determines whether
this global element may be derived from.</li>
<li><b><span class="uicontrol">fixed/default</span>.</b> Click the <b> <span
class="uicontrol">Browse</span></b> button and select the <b> <span class="uicontrol">Fixed</span></b> or <b> <span
class="uicontrol">Default</span></b> radio button and specify an appropriate
value. If you select <strong>Fixed</strong>, the global element has a fixed
value, which cannot be changed. If you select <strong>Default</strong>, the
element has a default value.</li>
<li><b><span class="uicontrol">form</span></b>. Use this field to indicate
if the appearance of this global element in an instance of the XML schema
(that is, an XML file associated with the XML schema) must be qualified by
a namespace.</li>
<li><b><span class="uicontrol">nillable</span></b>. Select <strong>true</strong> if
you do not want the global element to be able to have any child elements,
only attributes. </li>
<li><b><span class="uicontrol">substitutionGroup</span></b>. A substitution
group allows elements to be substituted for other elements.</li>
</ul> </li>
<li class="skipspace"><span>Click the <b> <span class="uicontrol">Attributes</span></b> tab.</span> You
can use this page to add attributes, attribute references, attributes group
references, and <samp class="codeph">any</samp> attributes to your element
reference.</li>
<li class="skipspace"><span>An attribute associates an attribute name with
a specific type and value. To add an attribute, right-click in the Attributes
page, and click <b> <span class="uicontrol">Add Attribute</span></b>.</span> You
can specify the following values for an attribute<ul>
<li><b><span class="uicontrol">fixed/default</span>.</b> Click the <b> <span
class="uicontrol">Browse</span></b> button <img border="0" height="18" src="../images/Browse.gif"
width="22"/> and select the <b> <span class="uicontrol">Fixed</span></b> or <b> <span
class="uicontrol">Default</span></b> radio button and specify an appropriate
value. If you select <b>Fixed</b>, the attribute has a fixed value, which
cannot be changed. If you select <b>Default</b>, the attribute has a default
value.</li>
<li><b><span class="uicontrol">form</span></b>. Use this field to indicate
if the appearance of this attribute in an instance of the XML schema must
be qualified by a namespace.</li>
<li><b><span class="uicontrol">name</span></b>. Enter the name of the attribute.</li>
<li><b><span class="uicontrol">type</span></b>. Click the <span class="uicontrol">Browse</span> button
and select the type of the attribute. </li>
<li><b><span class="uicontrol">use</span></b>. This field indicates how an
attribute may be used in an instance document. If you select <b>optional</b>,
the attribute may appear once, but it does not have to. If you select <b>required</b>,
the attribute must appear once. If you select <b>prohibited</b>, the attribute
must not appear. <b>Note</b>: If you selected the <b> <span class="uicontrol">Default</span></b> radio
button, you must select <b>optional</b> in this field, otherwise the default
value will not be valid.</li>
</ul> </li>
<li class="skipspace"><span>An attribute reference provides a reference to
a global attribute. To add an attribute reference, right-click in the Attributes
page, and click <b> <span class="uicontrol">Add Attribute Ref</span>.</b></span> A
declaration that references a global attribute enables the referenced attribute
to appear in the instance document in the context of the referencing declaration.
The menu option to add an attribute reference only appears if there are global
attributes defined elsewhere in the document.<ol type="a">
<li><span>Select the reference, then select the global attribute you want
it to reference from the <b> <span class="uicontrol">ref</span> </b>drop down
list.</span></li>
</ol> </li>
<li class="skipspace"><span>An attribute group reference provides a reference
to an attribute group. To add an attribute group reference, right-click in
the Attributes page, and click <b> <span class="uicontrol">Add Attribute Group
Ref</span></b>.</span> A declaration that references an attribute group enables
the referenced attribute group to appear in the instance document in the context
of the referencing declaration. The menu option to add an attribute group
reference only appears if there are attribute groups defined elsewhere in
the document.<ol type="a">
<li><span>Select the reference, then select the attribute group you want it
to reference from the <b> <span class="uicontrol">ref</span></b> drop down
list.</span></li>
</ol> </li>
<li class="stepexpand"><span>An <samp class="codeph">any</samp> element enables
element content according to namespaces, and the corresponding <samp class="codeph">any</samp> attribute
element enables attributes to appear in elements. To add an <samp class="codeph">any</samp> attribute,
right-click in the Attributes page and click<b> <span class="uicontrol">Add
Any Attribute</span>.</b></span> You can specify the following values for
an <samp class="codeph">any</samp> attribute:<ul>
<li>For a <strong>namespace</strong> value, you can select <strong>##any</strong> (this
allows any well-formed XML from any namespace), <b>##local </b> (this allows
any well-formed XML that is not declared to be in a namespace, <b>##other </b> (this
allows any well-formed XML that is not from the target namespace of the type
being defined) or <b>##targetNamespace </b> (which is shorthand for the target
namespace of the type being defined). </li>
<li>For a <b> <span class="uicontrol">processContents</span></b> value, you
can select <b>skip</b> (the XML processor will not validate the attribute
content at all), <b>lax </b>(the XML processor will validate the attribute
content as much as it can), or <b>strict </b> (the XML processor will validate
all the attribute content).</li>
</ul> </li>
<li class="skipspace"><span>Click the <b> <span class="uicontrol">Documentation</span></b> tab
if you want to provide any information about this element reference.</span> The <span
class="uicontrol">Documentation</span> page is used for human readable material,
such as a description, and the <span class="uicontrol">App Info</span> page
can be used to provide information for applications.</li>
</ol> </div> <div><p><b class="reltaskshd">Related tasks</b><br/> <a href="../topics/taddglem.html"
title="A global element is an element with a global scope. It is one that has been declared as part of the main schema rather than as part of a complex type definition."
>Adding a global element</a><br/> </p> </div> </body>
</html>