<?xml version="1.0" encoding="UTF-8"?> | |
<!--Arbortext, Inc., 1988-2008, v.4002--> | |
<!DOCTYPE task PUBLIC "-//OASIS//DTD DITA Task//EN" | |
"task.dtd"> | |
<?Pub Sty _display FontColor="red"?> | |
<?Pub Inc?> | |
<task id="taddcmxt" xml:lang="en-us"> | |
<title>Adding complex types</title> | |
<titlealts> | |
<searchtitle>Adding complex types</searchtitle> | |
</titlealts> | |
<shortdesc>A complex type allows elements in its content and can carry | |
attributes. Complex types can be used to help determine the appropriate | |
content for any instance documents generated from or associated with | |
your XML schema.</shortdesc> | |
<prolog><metadata> | |
<keywords><indexterm>XML schema editor<indexterm>complex types</indexterm></indexterm> | |
<indexterm>XML schema files<indexterm>complex types</indexterm></indexterm> | |
</keywords> | |
</metadata></prolog> | |
<taskbody> | |
<context><p>You can add as many complex types as you want to an XML | |
schema.</p><p>The following instructions were written for the Resource | |
perspective, but they will also work in many other perspectives.</p><p>To | |
add a complex type to an XML schema, complete the following steps:</p></context> | |
<steps> | |
<step><cmd>Open your XML schema in the XML schema editor.</cmd></step> | |
<step><cmd>Right-click the Types category in the Design view, click <uicontrol>Add | |
Complex Type</uicontrol> and type the name for the complex type. If | |
you need to change the name later, you can edit it in the <uicontrol>General</uicontrol> tab | |
of the Properties view.</cmd></step> | |
<step><cmd>To set a base type for the complex type, right-click the | |
type in the Design view and click <uicontrol>Set Base Type</uicontrol>. </cmd> | |
<info>You can either set a base type for your complex type, or you | |
can add a content model to it (which represents any data that can | |
be contained inside an element), but you cannot do both. For more | |
information about content models, see <xref href="taddcmod.dita" | |
scope="peer">Adding content models</xref>.</info></step> | |
<step><cmd>Your new type can be derived from its base type either | |
by extension or restriction. By default, the derivation is set to | |
extension. To change how the type is derived, click the <uicontrol>General</uicontrol> tab | |
in the Properties view and select <uicontrol>restriction</uicontrol> or <uicontrol>extension</uicontrol> from | |
the <uicontrol>Inherited By</uicontrol> list. </cmd></step> | |
<step><cmd>To add attributes to your complex type, in the Design view, | |
right-click your complex type and select <uicontrol>Add Attribute</uicontrol>. </cmd> | |
<info>An attribute associates an attribute name with a specific type | |
and value. </info><?Pub Caret1?> | |
<substeps> | |
<substep><cmd>To set the name of the attribute, in the Design view, | |
double-click the name of the attribute and type the name.</cmd> | |
</substep> | |
<substep><cmd>To set the type of the attribute, in the Design view, | |
double-click the attribute type and then select the new type from | |
the list.</cmd></substep> | |
</substeps> | |
<info>For information about adding attributes, attribute references, | |
and <userinput>any</userinput> attributes, see <xref href="taddagrp.dita" | |
scope="peer">Adding attribute groups</xref>.</info></step> | |
<step><cmd>You can further define your complex type in the Properties | |
view:</cmd> | |
<substeps> | |
<substep><cmd>Click the <uicontrol>Documentation</uicontrol> tab if | |
you want to provide any information about this complex type. </cmd> | |
<info>The <uicontrol>Documentation</uicontrol> page is used for human | |
readable material, such as a description.</info></substep> | |
<substep><cmd>Click the <uicontrol>Extensions</uicontrol> tab if you | |
want to add application information elements to your annotations of | |
schema components. </cmd><info>The <uicontrol>Extensions</uicontrol> page | |
allows you to specify the schema and add XML content to your annotations.</info> | |
</substep> | |
</substeps> | |
</step> | |
</steps> | |
</taskbody> | |
</task> | |
<?Pub *0000003841?> |