element <link> (global)
Namespace:
Type:
anonymous complexType
Content:
complex, 10 attributes, elem. wildcard
Defined:
globally in cmlreact.xsd; see XML source
Includes:
definition of elem. wildcard
Used:
XML Representation Summary
<link
   
 = 
xsd:string
 = 
xsd:string
 = 
xsd:string
 = 
xsd:anyURI
 = 
xsd:string
 = 
("extended" | "locator" | "arc")
 = 
xsd:string
 = 
xsd:string
 = 
xsd:string
 = 
xsd:string
    >
   
Content: 
{any}*
</link>
Included in content model of elements (1):
map
Known Usage Locations
Annotation
<h:div class="summary">An internal or external link to other objects.</h:div> <h:div class="description"> <h:p> <h:b>Semantics are similar to XLink, but simpler and only a subset is implemented.</h:b> This is intended to make the instances easy to create and read, and software relatively easy to implement. The architecture is:</h:p> <h:ul> <h:li> <h:b>A single element (<h:tt>link</h:tt>) used for all linking purposes.</h:b> </h:li> <h:li> <h:b>The link types are determined by the <h:tt>type</h:tt> attribute and can be:</h:b>. <h:ul> <h:li> <h:b>locator</h:b>. This points to a single target and must carry either a <h:tt>ref</h:tt> or <h:tt>href</h:tt> attribute. <h:tt>locator</h:tt> links are usually children of an extended link. <h:li> <h:b>arc</h:b>. This is a 1:1 link with both ends (<h:tt>from</h:tt> and <h:tt>to</h:tt>) defined.</h:li> <h:li> <h:b>extended</h:b>. This is usually a parent of several locator links and serves to create a grouping of link ends (i.e. a list of references in documents).</h:li> Many-many links can be built up from arcs linking extended elements</h:li> </h:ul> <h:p>All links can have optional <h:tt>role</h:tt> attributes. The semantics of this are not defined; you are encouraged to use a URI as described in the XLink specification.</h:p> <h:p>There are two address spaces: </h:p> <h:ul> <h:li>The <h:tt>href</h:tt> attribute on locators behaves in the same way as <h:tt>href</h:tt> in HTML and is of type <h:tt>xsd:anyURI</h:tt>. Its primary use is to use XPointer to reference elements outside the document.</h:li> <h:li>The <h:tt>ref</h:tt> attribute on locators and the <h:tt>from</h:tt> and <h:tt>to</h:tt> attributes on <h:tt>arc</h:tt>s refer to IDs (<h:em>without</h:em> the '#' syntax).</h:li> </h:ul> <h:p>Note: several other specific linking mechanisms are defined elsewhere in STM. <h:a href="el.relatedEntry">relatedEntry</h:a> should be used in dictionaries, and <h:a href="st.dictRef">dictRef</h:a> should be used to link to dictionaries. There are no required uses of <h:tt>link</h:tt> in STMML but we have used it to map atoms, electrons and bonds in reactions in CML</h:p> </h:li> </h:ul> <h:p> <h:b>Relation to XLink</h:b>. At present (2002) we are not aware of generic XLink processors from which we would benefit, so the complete implementation brings little extra value. Among the simplifications from Xlink are:</h:p> <h:ul> <h:li> <h:tt>type</h:tt> supports only <h:tt>extended</h:tt>, <h:tt>locator</h:tt> and <h:tt>arc</h:tt> </h:li> <h:li> <h:tt>label</h:tt> is not supported and <h:tt>id</h:tt>s are used as targets of links.</h:li> <h:li> <h:tt>show</h:tt> and <h:tt>actuate</h:tt> are not supported.</h:li> <h:li> <h:tt>xlink:title</h:tt> is not supported (all STM elements can have a <h:tt>title</h:tt> attribute).</h:li> <h:li> <h:tt>xlink:role</h:tt> supports any string (i.e. does not have to be a namespaced resource). This mechanism can, of course, still be used and we shall promote it where STM benefits from it</h:li> <h:li>The <h:tt>to</h:tt> and <h:tt>from</h:tt> attributes point to IDs rather than labels</h:li> <h:li>The xlink namespace is not used</h:li> <h:li>It is not intended to create independent linkbases, although some collections of links may have this property and stand outside the documents they link to</h:li> </h:ul> </h:div>
XML Source (see within schema source)
<xsd:element id="el.link" name="link">
<xsd:annotation>
<xsd:documentation>
<h:div class="summary">An internal or external link to other objects.</h:div>
<h:div class="description">
<h:p>
<h:b>
Semantics are similar to XLink, but simpler and only a subset is implemented.
</h:b>
This is intended to make the instances easy to create and read, and software
relatively easy to implement. The architecture is:
</h:p>
<h:ul>
<h:li>
<h:b>
A single element (
<h:tt>link</h:tt>
) used for all linking purposes.
</h:b>
</h:li>
<h:li>
<h:b>
The link types are determined by the
<h:tt>type</h:tt>
attribute and can be:
</h:b>
.
<h:ul>
<h:li>
<h:b>locator</h:b>
. This points to a single target and must carry either a
<h:tt>ref</h:tt>
or
<h:tt>href</h:tt>
attribute.
<h:tt>locator</h:tt>
links are usually children of an extended link.
<h:li>
<h:b>arc</h:b>
. This is a 1:1 link with both ends (
<h:tt>from</h:tt>
and
<h:tt>to</h:tt>
) defined.
</h:li>
<h:li>
<h:b>extended</h:b>
. This is usually a parent of several locator links and serves
to create a grouping of link ends (i.e. a list of references in documents).
</h:li>
Many-many links can be built up from arcs linking extended elements
</h:li>
</h:ul>
<h:p>
All links can have optional
<h:tt>role</h:tt>
attributes. The semantics of this are not defined;
you are encouraged to use a URI as described in the XLink specification.
</h:p>
<h:p>There are two address spaces:</h:p>
<h:ul>
<h:li>
The
<h:tt>href</h:tt>
attribute on locators behaves in the same way as
<h:tt>href</h:tt>
in
HTML and is of type
<h:tt>xsd:anyURI</h:tt>
. Its primary use is to use XPointer to reference
elements outside the document.
</h:li>
<h:li>
The
<h:tt>ref</h:tt>
attribute on locators and the
<h:tt>from</h:tt>
and
<h:tt>to</h:tt>
attributes on
<h:tt>arc</h:tt>
s refer to IDs (
<h:em>without</h:em>
the '#' syntax).
</h:li>
</h:ul>
<h:p>
Note: several other specific linking mechanisms are defined elsewhere in STM.
<h:a href="el.relatedEntry">relatedEntry</h:a>
should be used in dictionaries, and
<h:a href="st.dictRef">dictRef</h:a>
should be used to link to dictionaries. There are no required uses of
<h:tt>link</h:tt>
in STMML
but we have used it to map atoms, electrons and bonds in reactions in CML
</h:p>
</h:li>
</h:ul>
<h:p>
<h:b>Relation to XLink</h:b>
.
At present (2002) we are not aware of generic XLink
processors from which we would benefit, so the complete implementation brings little
extra value.
Among the simplifications from Xlink are:
</h:p>
<h:ul>
<h:li>
<h:tt>type</h:tt>
supports only
<h:tt>extended</h:tt>
,
<h:tt>locator</h:tt>
and
<h:tt>arc</h:tt>
</h:li>
<h:li>
<h:tt>label</h:tt>
is not supported and
<h:tt>id</h:tt>
s are used as targets of links.
</h:li>
<h:li>
<h:tt>show</h:tt>
and
<h:tt>actuate</h:tt>
are not supported.
</h:li>
<h:li>
<h:tt>xlink:title</h:tt>
is not supported (all STM elements can have a
<h:tt>title</h:tt>
attribute).
</h:li>
<h:li>
<h:tt>xlink:role</h:tt>
supports any string (i.e. does not have to be a namespaced resource).
This mechanism can, of course, still be used and we shall promote it where STM
benefits from it
</h:li>
<h:li>
The
<h:tt>to</h:tt>
and
<h:tt>from</h:tt>
attributes point to IDs rather than labels
</h:li>
<h:li>The xlink namespace is not used</h:li>
<h:li>
It is not intended to create independent linkbases, although some collections of
links may have this property and stand outside the documents they link to
</h:li>
</h:ul>
</h:div>
</xsd:documentation>
</xsd:annotation>
<xsd:complexType>
<xsd:sequence>
<xsd:any maxOccurs="unbounded" minOccurs="0"/>
</xsd:sequence>
<xsd:attributeGroup ref="title"/>
<xsd:attributeGroup ref="id"/>
<xsd:attributeGroup ref="convention"/>
<xsd:attributeGroup ref="dictRef"/>
<xsd:attributeGroup ref="from"/>
<xsd:attributeGroup ref="to"/>
<xsd:attributeGroup ref="ref"/>
<xsd:attributeGroup ref="role">
<xsd:annotation>
<xsd:documentation>
<h:div class="specific">
The role of the link. Xlink adds semantics through a
URI; we shall not be this strict. We shall not normally use this mechanism
and use dictionaries instead.
</h:div>
</xsd:documentation>
</xsd:annotation>
</xsd:attributeGroup>
<xsd:attributeGroup ref="href">
<xsd:annotation>
<xsd:documentation>
<h:div class="specific">
The target of the (locator) link, outside the document.
</h:div>
</xsd:documentation>
</xsd:annotation>
</xsd:attributeGroup>
<xsd:attributeGroup ref="linkType"/>
</xsd:complexType>
</xsd:element>
Attribute Detail (all declarations; 10/10)
convention
Type:
Use:
optional
Defined:
locally within convention attributeGroup
<h:div class="summary">A reference to a convention.</h:div> <h:div class="description">There is no controlled vocabulary for conventions, but the author must ensure that the semantics are openly available and that there are mechanisms for implementation. The convention is inherited by all the subelements, so that a convention for <h:tt>molecule</h:tt> would by default extend to its <h:tt>bond</h:tt> and <h:tt>atom</h:tt> children. This can be overwritten if necessary by an explicit <h:tt>convention</h:tt>. <h:p>It may be useful to create conventions with namespaces (e.g. <h:tt>iupac:name</h:tt>). Use of <h:tt>convention</h:tt> will normally require non-STMML semantics, and should be used with caution. We would expect that conventions prefixed with "ISO" would be useful, such as ISO8601 for dateTimes.</h:p> <h:p>There is no default, but the conventions of STMML or the related language (e.g. CML) will be assumed.</h:p> </h:div> <h:div class="example" href="convGroup1.xml" id="ex"/>
XML Source (see within schema source)
<xsd:attribute id="att.convention" name="convention" type="namespaceRefType">
<xsd:annotation>
<xsd:documentation>
<h:div class="summary">A reference to a convention.</h:div>
<h:div class="description">
There is no controlled vocabulary for conventions, but the author must ensure that the semantics are openly available and that there are mechanisms for implementation. The convention is inherited by all the subelements,
so that a convention for
<h:tt>molecule</h:tt>
would by default extend to its
<h:tt>bond</h:tt>
and
<h:tt>atom</h:tt>
children. This can be overwritten
if necessary by an explicit
<h:tt>convention</h:tt>
.
<h:p>
It may be useful to create conventions with namespaces (e.g.
<h:tt>iupac:name</h:tt>
).
Use of
<h:tt>convention</h:tt>
will normally require non-STMML semantics, and should be used with
caution. We would expect that conventions prefixed with "ISO" would be useful,
such as ISO8601 for dateTimes.
</h:p>
<h:p>
There is no default, but the conventions of STMML or the related language (e.g. CML) will be assumed.
</h:p>
</h:div>
<h:div class="example" href="convGroup1.xml" id="ex"/>
</xsd:documentation>
</xsd:annotation>
</xsd:attribute>

dictRef
Type:
Use:
optional
Defined:
locally within dictRef attributeGroup
<h:div class="summary">A reference to a dictionary entry.</h:div> <h:div class="description">Elements in data instances such as _scalar_ may have a <h:tt>dictRef</h:tt> attribute to point to an entry in a dictionary. To avoid excessive use of (mutable) filenames and URIs we recommend a namespace prefix, mapped to a namespace URI in the normal manner. In this case, of course, the namespace URI must point to a real XML document containing _entry_ elements and validated against STMML Schema. <h:p>Where there is concern about the dictionary becoming separated from the document the dictionary entries can be physically included as part of the data instance and the normal XPointer addressing mechanism can be used.</h:p> <h:p>This attribute can also be used on _dictionary_ elements to define the namespace prefix</h:p> </h:div> <h:div class="example" href="dictRefGroup1.xml"/>
XML Source (see within schema source)
<xsd:attribute id="att.dictRef" name="dictRef" type="namespaceRefType">
<xsd:annotation>
<xsd:documentation>
<h:div class="summary">A reference to a dictionary entry.</h:div>
<h:div class="description">
Elements in data instances such as _scalar_ may have a
<h:tt>dictRef</h:tt>
attribute to point to an entry in a dictionary. To avoid excessive use of (mutable) filenames and URIs we recommend a namespace prefix, mapped to a namespace URI in the normal manner. In this case, of course, the namespace URI must point to a real XML document containing _entry_ elements and validated against STMML Schema.
<h:p>
Where there is concern about the dictionary becoming separated from the document the dictionary entries can be physically included as part of the data instance and the normal XPointer addressing mechanism can be used.
</h:p>
<h:p>
This attribute can also be used on _dictionary_ elements to define the namespace prefix
</h:p>
</h:div>
<h:div class="example" href="dictRefGroup1.xml"/>
</xsd:documentation>
</xsd:annotation>
</xsd:attribute>

from
Type:
Use:
optional
Defined:
locally within from attributeGroup
<h:div class="summary">The base of a link.</h:div>
XML Source (see within schema source)
<xsd:attribute id="att.from" name="from" type="idType">
<xsd:annotation>
<xsd:documentation>
<h:div class="summary">The base of a link.</h:div>
</xsd:documentation>
</xsd:annotation>
</xsd:attribute>

href
Type:
xsd:anyURI, predefined
Use:
optional
Defined:
locally within href attributeGroup
<h:div class="summary">address of a resource.</h:div> <h:div class="description">Links to another element in the same or other file. For dictionary/@dictRef requires the prefix and the physical URI address to be contained within the same file. We can anticipate that better mechanisms will arise - perhaps through XMLCatalogs. At least it works at present.</h:div>
XML Source (see within schema source)
<xsd:attribute id="att.href" name="href" type="xsd:anyURI">
<xsd:annotation>
<xsd:documentation>
<h:div class="summary">address of a resource.</h:div>
<h:div class="description">
Links to another element in the same or other file. For dictionary/@dictRef requires the prefix and the physical URI
address to be contained within the same file. We can anticipate that
better mechanisms will arise - perhaps through XMLCatalogs.
At least it works at present.
</h:div>
</xsd:documentation>
</xsd:annotation>
</xsd:attribute>

id
Type:
Use:
optional
Defined:
locally within id attributeGroup
<h:div class="summary">An attribute providing a unique ID for an element.</h:div> <h:div class="description"/>
XML Source (see within schema source)
<xsd:attribute id="att.id" name="id" type="idType">
<xsd:annotation>
<xsd:documentation>
<h:div class="summary">
An attribute providing a unique ID for an element.
</h:div>
<h:div class="description"/>
</xsd:documentation>
</xsd:annotation>
</xsd:attribute>

linkType
Type:
anonymous simpleType (restriction of xsd:string)
Use:
optional
Defined:
locally within linkType attributeGroup
<h:div class="summary">The type of the link.</h:div>
Anonymous simpleType
Derivation:
restriction of xsd:string
XML Source (see within schema source)
<xsd:attribute id="att.linkType" name="linkType">
<xsd:annotation>
<xsd:documentation>
<h:div class="summary">The type of the link.</h:div>
</xsd:documentation>
</xsd:annotation>
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:enumeration value="extended">
<xsd:annotation>
<xsd:documentation>
<h:div class="summary">A container for locators.</h:div>
</xsd:documentation>
</xsd:annotation>
</xsd:enumeration>
<xsd:enumeration value="locator">
<xsd:annotation>
<xsd:documentation>
<h:div class="summary">A link to an element.</h:div>
</xsd:documentation>
</xsd:annotation>
</xsd:enumeration>
<xsd:enumeration value="arc">
<xsd:annotation>
<xsd:documentation>
<h:div class="summary">A labelled link.</h:div>
</xsd:documentation>
</xsd:annotation>
</xsd:enumeration>
</xsd:restriction>
</xsd:simpleType>
</xsd:attribute>

ref
Type:
Use:
optional
Defined:
locally within ref attributeGroup
<h:div class="summary">A reference to an element of given type.</h:div> <h:div class="description"> <h:tt>ref</h:tt> modifies an element into a reference to an existing element of that type within the document. This is similar to a pointer and it can be thought of a strongly typed hyperlink. It may also be used for "subclassing" or "overriding" elements.<br/> When referring to an element most of the "data" such as attribute values and element content will be on the full instantiated element. Therefore ref (and possibly id) will normally be the only attributes on the pointing element. However there may be some attributes (title, count, etc.) which have useful semantics, but these are element-specific</h:div> <h:div class="example" href="refGroup1.xml"/>
XML Source (see within schema source)
<xsd:attribute id="att.ref" name="ref" type="refType">
<xsd:annotation>
<xsd:documentation>
<h:div class="summary">A reference to an element of given type.</h:div>
<h:div class="description">
<h:tt>ref</h:tt>
modifies an element into a reference to an existing element of that type within the document. This is similar to a pointer and it can be thought of a strongly typed hyperlink. It may also be used for "subclassing" or "overriding" elements.
<br xmlns=""/>
When referring to an element most of the "data" such as attribute values and element content will be on the full instantiated element. Therefore ref (and possibly id) will normally be the only attributes on the pointing element. However there may be some attributes (title, count, etc.) which have useful semantics, but these are element-specific
</h:div>
<h:div class="example" href="refGroup1.xml"/>
</xsd:documentation>
</xsd:annotation>
</xsd:attribute>

role
Type:
xsd:string, predefined
Use:
optional
Defined:
locally within role attributeGroup
<h:div class="summary">Role of the object.</h:div> <h:div class="description">How the object functions or its position in the architecture. No controlled vocabulary.</h:div>
XML Source (see within schema source)
<xsd:attribute id="att.role" name="role" type="xsd:string">
<xsd:annotation>
<xsd:documentation>
<h:div class="summary">Role of the object.</h:div>
<h:div class="description">
How the object functions or its position in the architecture. No controlled vocabulary.
</h:div>
</xsd:documentation>
</xsd:annotation>
</xsd:attribute>

title
Type:
xsd:string, predefined
Use:
optional
Defined:
locally within title attributeGroup
<h:div class="summary">A title on an element.</h:div> <h:div class="description">No controlled value.</h:div> <h:div class="example" href="title1.xml"/>
XML Source (see within schema source)
<xsd:attribute id="att.title" name="title" type="xsd:string">
<xsd:annotation>
<xsd:documentation>
<h:div class="summary">A title on an element.</h:div>
<h:div class="description">No controlled value.</h:div>
<h:div class="example" href="title1.xml"/>
</xsd:documentation>
</xsd:annotation>
</xsd:attribute>

to
Type:
Use:
optional
Defined:
locally within to attributeGroup
<h:div class="summary">The target of a link.</h:div>
XML Source (see within schema source)
<xsd:attribute id="att.to" name="to" type="idType">
<xsd:annotation>
<xsd:documentation>
<h:div class="summary">The target of a link.</h:div>
</xsd:documentation>
</xsd:annotation>
</xsd:attribute>
Content Element Detail (all declarations; 1/1)
{any element with any namespace}
Defined:
within (this) link element
XML Source (see within schema source)
<xsd:any maxOccurs="unbounded" minOccurs="0"/>

This XML schema documentation has been generated with DocFlex/XML RE 1.8.5 using DocFlex/XML XSDDoc 2.5.0 template set.
DocFlex/XML RE is a reduced edition of DocFlex/XML, which is a tool for programming and running highly sophisticated documentation and reports generators by the data obtained from any kind of XML files. The actual doc-generators are implemented in the form of special templates that are designed visually using a high-quality Template Designer GUI basing on the XML schema (or DTD) files describing the data source XML.
DocFlex/XML XSDDoc is a commercial template application of DocFlex/XML that implements a high-quality XML Schema documentation generator with simultaneous support of framed multi-file HTML, single-file HTML and RTF output formats. (More formats are planned in the future).
A commercial license for "DocFlex/XML XSDDoc" will allow you:
  • To configure the generated documentation so much as you want. Thanks to our template technology, it was possible to support > 400 template parameters, which work the same as "options" of ordinary doc-generators. The parameters are organized in nested groups, which form a parameter tree. Most of them have their default values calculated dynamically from a few primary parameters. So, you'll never need to specify all of them. That will give you swift and effective control over the generated content!
  • To use certain features disabled in the free mode (such as the full documenting of substitution groups).
  • To select only the initial, imported, included, redefined XML schemas to be documented or only those directly specified by name.
  • To include only XML schema components specified by name.
  • To document local element components both globally and locally (similar to attributes).
  • To allow/suppress unification of local elements by type.
  • To enable/disable reproducing of namespace prefixes.
  • To use PlainDoc.tpl main template to generate all the XML schema documentation in a signle-file form as both HTML and incredible quality RTF output.
  • To format your annotations with XHTML tags and reproduce that formatting both in HTML and RTF output.
  • To insert images in your annotations using XHTML <img> tags (supported both in HTML and RTF output).
  • To remove this very advertisement text!
Once having only such a license, you will be able to run the fully-featured XML schema documentation generator both with DocFlex/XML (Full Edition) and with DocFlex/XML RE, which is a reduced free edition containing only the template interpretor / output generator. No other licenses will be required!
But this is not all. In addition to it, a commercial license for "DocFlex/XML SDK" will allow you to modify the XSDDoc templates themselves as much as you want. You will be able to achieve whatever was impossible to do with the template parameters only. And, of course, you could develop any template applications by your own!
Please note that by purchasing a license for this software, you not only acquire a useful tool, you will also make an important investment in its future development, the results of which you could enjoy later by yourself. Every single your purchase matters and makes a difference for us!
To purchase a license, please follow this link: http://www.filigris.com/shop/