xml.schema/javahelp/org/netbeans/modules/xml/schema/tasks/addingcompositors.html
author Milutin Kristofic <mkristofic@netbeans.org>
Tue, 31 Jan 2017 14:20:36 +0100
changeset 1584 ddcac47bfed1
parent 1241 f7c3471c4a3f
permissions -rw-r--r--
Added Missing license terms
samaresh@338
     1
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
samaresh@338
     2
<!--
mkristofic@1584
     3
DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
mkristofic@1584
     4
mkristofic@1584
     5
Copyright 2009-2017 Oracle and/or its affiliates. All rights reserved.
mkristofic@1584
     6
mkristofic@1584
     7
Oracle and Java are registered trademarks of Oracle and/or its affiliates.
mkristofic@1584
     8
Other names may be trademarks of their respective owners.
mkristofic@1584
     9
mkristofic@1584
    10
The contents of this file are subject to the terms of either the GNU
mkristofic@1584
    11
General Public License Version 2 only ("GPL") or the Common
mkristofic@1584
    12
Development and Distribution License("CDDL") (collectively, the
mkristofic@1584
    13
"License"). You may not use this file except in compliance with the
mkristofic@1584
    14
License. You can obtain a copy of the License at
mkristofic@1584
    15
http://www.netbeans.org/cddl-gplv2.html
mkristofic@1584
    16
or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
mkristofic@1584
    17
specific language governing permissions and limitations under the
mkristofic@1584
    18
License.  When distributing the software, include this License Header
mkristofic@1584
    19
Notice in each file and include the License file at
mkristofic@1584
    20
nbbuild/licenses/CDDL-GPL-2-CP.  Oracle designates this
mkristofic@1584
    21
particular file as subject to the "Classpath" exception as provided
mkristofic@1584
    22
by Oracle in the GPL Version 2 section of the License file that
mkristofic@1584
    23
accompanied this code. If applicable, add the following below the
mkristofic@1584
    24
License Header, with the fields enclosed by brackets [] replaced by
mkristofic@1584
    25
your own identifying information:
mkristofic@1584
    26
"Portions Copyrighted [year] [name of copyright owner]"
mkristofic@1584
    27
mkristofic@1584
    28
Contributor(s):
mkristofic@1584
    29
mkristofic@1584
    30
The Original Software is NetBeans. The Initial Developer of the Original
mkristofic@1584
    31
Software is Sun Microsystems, Inc. Portions Copyright 2009-2010 Sun
mkristofic@1584
    32
Microsystems, Inc. All Rights Reserved.
mkristofic@1584
    33
mkristofic@1584
    34
If you wish your version of this file to be governed by only the CDDL
mkristofic@1584
    35
or only the GPL Version 2, indicate your decision by adding
mkristofic@1584
    36
"[Contributor] elects to include this software in this distribution
mkristofic@1584
    37
under the [CDDL or GPL Version 2] license." If you do not indicate a
mkristofic@1584
    38
single choice of license, a recipient has the option to distribute
mkristofic@1584
    39
your version of this file under either the CDDL, the GPL Version 2 or
mkristofic@1584
    40
to extend the choice of license to its licensees as provided above.
mkristofic@1584
    41
However, if you add GPL Version 2 code and therefore, elected the GPL
mkristofic@1584
    42
Version 2 license, then the option applies only if the new code is
mkristofic@1584
    43
made subject to such option by the copyright holder.
samaresh@338
    44
-->
samaresh@338
    45
<html>
samaresh@338
    46
<head>
psmejkal@1107
    47
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
samaresh@338
    48
<link rel="stylesheet" href="nbdocs://org.netbeans.modules.usersguide/org/netbeans/modules/usersguide/ide.css" type="text/css">
samaresh@338
    49
<title>Adding a Compositor to an XML Schema File</title>
samaresh@338
    50
</head>
samaresh@338
    51
<body>
samaresh@338
    52
<h2>Adding a Compositor to an XML Schema File</h2>
samaresh@338
    53
<p><small><a href="#seealso">See Also</a></small></p>
samaresh@338
    54
<p>A compositor defines how a list of child elements within an element in an instance document should be treated. There are three types of compositors: <tt>sequence</tt>, <tt>choice</tt>, and <tt>all</tt>.</p>
samaresh@338
    55
<ul>
samaresh@338
    56
<li><b>sequence compositor.</b> This compositor specifies that the child elements must appear in a specific order. The <tt>minOccurs</tt> attribute defines how many times a child element can occur.  An instance document that displays the child elements in a different order from the one defined in the sequence would be invalid. If the <tt>minOccurs</tt> attribute of the sequence compositor is 0 (zero), and an instance document displays child elements in the same order but does not display all the child elements defined in the sequence, it would still be valid.<br>
samaresh@338
    57
You can add a <tt>sequence</tt> compositor to the following schema components: <tt>group</tt>, <tt>choice</tt>, <tt>sequence</tt>, <tt>complexType</tt>, <tt>restriction</tt>, and <tt>extension</tt>.</li>
samaresh@338
    58
<li><b>choice compositor.</b> This compositor allows any <i>one</i> of the child elements contained in the compositor declaration to be present within the containing element in the instance document.<br>
samaresh@338
    59
You can add a <tt>choice</tt> compositor to the following schema components: <tt>group</tt>, <tt>choice</tt>, <tt>sequence</tt>, <tt>complexType</tt>, <tt>restriction</tt>, and <tt>extension</tt>.</li>
samaresh@338
    60
<li><b>all compositor.</b> This compositor specifies that any of the child elements can appear in any order in the instance document.<br>
samaresh@338
    61
You can add an <tt>all</tt> compositor to the following schema components: <tt>group</tt>, <tt>complexType</tt>, <tt>restriction</tt>, and <tt>extension</tt>.</li>
samaresh@338
    62
</ul>
samaresh@338
    63
samaresh@338
    64
<p><b>To add a compositor:</b></p>
samaresh@338
    65
<ol>
samaresh@338
    66
<li>In the IDE, open the schema file where you want to add the compositor.</li>
samaresh@338
    67
<li>In the Schema view, right-click the node of the schema component where you want to add the compositor component and choose Add&nbsp;&gt;&nbsp;<i>compositor</i> from the pop-up menu.<br>
samaresh@338
    68
<ul class="note">
samaresh@338
    69
<li>If the <i>compositor</i> you want to add does not appear in the pop-up menu, it means that you cannot add a compositor to the schema component you selected.</li>
samaresh@338
    70
</ul>
samaresh@338
    71
The IDE adds a <i>compositor</i> node to the Schema view.</li>
samaresh@338
    72
</ol>
samaresh@338
    73
samaresh@338
    74
<ul class="note">
samaresh@338
    75
<li>You can change a compositor in the Design view by double-clicking the compositor (Sequence, Choice, or All) and selecting a different value from the drop-down list that opens.</li>
samaresh@338
    76
</ul>
samaresh@338
    77
<dl>
samaresh@338
    78
<dt><a name="seealso">See Also</a></dt>
samaresh@338
    79
<dd><a href="addinggroup.html" title="Adding a group Component to an XML Schema File">Adding a <tt>group</tt> Component to an XML Schema File</a></dd>
samaresh@338
    80
<dd><a href="addingglobalcomplextype.html" title="Adding a Global complexType Component to an XML Schema File">Adding a Global <tt>complexType</tt> Component to an XML Schema File</a></dd>
samaresh@338
    81
<dd><a href="addinglocalcomplextype.html" title="Adding a Local complexType Component to an XML Schema File">Adding a Local <tt>complexType</tt> Component to an XML Schema File</a></dd>
samaresh@338
    82
<dd><a href="../about.html" title="About XML Schema Tools">About XML Schema Tools</a></dd>
samaresh@338
    83
</dl>
samaresh@338
    84
<hr>
samaresh@338
    85
<small><a href="../credits.html">Legal Notices</a></small>
samaresh@338
    86
<table cellpadding="150" border="0"> 
samaresh@338
    87
<tr><td>&nbsp;</td></tr> 
samaresh@338
    88
<tr><td>&nbsp;</td></tr> 
samaresh@338
    89
<tr><td>&nbsp;</td></tr> 
samaresh@338
    90
</table> 
samaresh@338
    91
</body>
samaresh@338
    92
</html>