element link

element {http://www.xml-cml.org/schema/stmml}link

Abstractfalse (This can be used in an instance)
Nillablefalse (Instance values cannot use xsi:nil)
Target Namespacehttp://www.xml-cml.org/schema/stmml
Declared Namespacesxmlns:sch=http://www.ascc.net/xml/schematron
xmlns:xsd=http://www.w3.org/2001/XMLSchema
xmlns=http://www.xml-cml.org/schema/stmml


Source

<xsd:element name="link" id="el.link">
    <
xsd:annotation>
        <
xsd:documentation>
            <
div class="summary">An internal or external link to STMML or other object(s)</div>
            <
div class="description">
                <
p>
                    <
b>Semantics are similar to XLink, but simpler and only a subset is implemented.</b>
This is intended to make the instances easy to create and read, and software
relatively easy to implement. The architecture is:
                
</p>
                <
ul>
                    <
li>
                        <
b>A single element (
                            
<tt>link</tt>
) used for all linking purposes
</b>
.
</li>
                    <
li>
                        <
b>The link types are determined by the
                            
<tt>type</tt>
attribute and can be:
</b>
.
                        
<ul>
                            <
li>
                                <
b>locator</b>
. This points to a single target and must carry either a
                                
<tt>ref</tt>
or
                                
<tt>href</tt>
attribute.
                                
<tt>locator</tt>
links are usually children of an extended link.
                                
<li>
                                    <
b>arc</b>
. This is a 1:1 link with both ends (
                                    
<tt>from</tt>
and
                                    
<tt>to</tt>
) defined.
</li>
                                <
li>
                                    <
b>extended</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).
                                
</li>
Many-many links can be built up from arcs linking extended elements
</li>
                        </
ul>
                        <
p>All links can have optional
                            
<tt>role</tt>
attributes. The semantics of this are not defined;
you are encouraged to use a URI as described in the XLink specification.
                        
</p>
                        <
p>There are two address spaces:</p>
                        <
ul>
                            <
li>The
                                
<tt>href</tt>
attribute on locators behaves in the same way as
                                
<tt>href</tt>
in
HTML and is of type
                                
<tt>xsd:anyURI</tt>
. Its primary use is to use XPointer to reference
elements outside the document.
                            
</li>
                            <
li>The
                                
<tt>ref</tt>
attribute on locators and the
                                
<tt>from</tt>
and
                                
<tt>to</tt>
attributes on
                                
<tt>arc</tt>
s refer to IDs (
                                
<em>without</em>
the '#' syntax).
</li>
                        </
ul>
                        <
p>Note: several other specific linking mechanisms are defined elsewhere in STM.
                            
<a href=" el.relatedEntry">relatedEntry</a>
should be used in dictionaries, and
                            
<a href="st.dictRef">dictRef</a>
should be used to link to dictionaries. There are no required uses of
                            
<tt>link</tt>
in STMML
but we have used it to map atoms, electrons and bonds in reactions in CML
                        
</p>
                    </
li>
                </
ul>
                <
p>
                    <
b>Relation to XLink</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:
                
</p>
                <
ul>
                    <
li>
                        <
tt>type</tt>
supports only
                        
<tt>extended</tt>
,
                        
<tt>locator</tt>
and
                        
<tt>arc</tt>
                    </
li>
                    <
li>
                        <
tt>label</tt>
is not supported and
                        
<tt>id</tt>
s are used as targets of links.
</li>
                    <
li>
                        <
tt>show</tt>
and
                        
<tt>actuate</tt>
are not supported.
</li>
                    <
li>
                        <
tt>xlink:title</tt>
is not supported (all STM elements can have a
                        
<tt>title</tt>
attribute).
</li>
                    <
li>
                        <
tt>xlink:role</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
                    
</li>
                    <
li>The
                        
<tt>to</tt>
and
                        
<tt>from</tt>
attributes point to IDs rather than labels
</li>
                    <
li>The xlink namespace is not used</li>
                    <
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
                    
</li>
                </
ul>
            </
div>
        </
xsd:documentation>
    </
xsd:annotation>
    <
xsd:complexType>
        <
xsd:sequence>
            <
xsd:any minOccurs="0" maxOccurs="unbounded"/>
        </
xsd:sequence>
        <
xsd:attributeGroup ref="tit_id_conv_dictGroup"/>
        <
xsd:attribute name="from" type="namespaceRefType" id="att.link.from">
            <
xsd:annotation>
                <
xsd:documentation>
                    <
div class="summary">The starting point of an arc</div>
                </
xsd:documentation>
            </
xsd:annotation>
        </
xsd:attribute>
        <
xsd:attribute name="to" type="namespaceRefType" id="att.link.to">
            <
xsd:annotation>
                <
xsd:documentation>
                    <
div class="summary">The endpoint of an arc</div>
                </
xsd:documentation>
            </
xsd:annotation>
        </
xsd:attribute>
        <
xsd:attribute name="ref" type="namespaceRefType" id="att.link.ref">
            <
xsd:annotation>
                <
xsd:documentation>
                    <
div class="summary">An ID referenced within a locator</div>
                </
xsd:documentation>
            </
xsd:annotation>
        </
xsd:attribute>
        <
xsd:attribute name="role" type="xsd:string" id="att.link.role">
            <
xsd:annotation>
                <
xsd:documentation>
                    <
div class="summary">
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
                    
</div>
                </
xsd:documentation>
            </
xsd:annotation>
        </
xsd:attribute>
        <
xsd:attribute name="href" type="xsd:anyURI" id="att.link.href">
            <
xsd:annotation>
                <
xsd:documentation>
                    <
div class="summary">The target of the (locator) link, outside the document</div>
                </
xsd:documentation>
            </
xsd:annotation>
        </
xsd:attribute>
        <
xsd:attribute name="type" id="att.link.type">
            <
xsd:annotation>
                <
xsd:documentation>
                    <
div class="summary">The type of the link</div>
                </
xsd:documentation>
            </
xsd:annotation>
            <
xsd:simpleType>
                <
xsd:restriction base="xsd:string">
                    <
xsd:enumeration value="extended">
                        <
xsd:annotation>
                            <
xsd:documentation>
                                <
div class="summary">A container for locators</div>
                            </
xsd:documentation>
                        </
xsd:annotation>
                    </
xsd:enumeration>
                    <
xsd:enumeration value="locator">
                        <
xsd:annotation>
                            <
xsd:documentation>
                                <
div class="summary">A link to an element</div>
                            </
xsd:documentation>
                        </
xsd:annotation>
                    </
xsd:enumeration>
                    <
xsd:enumeration value="arc">
                        <
xsd:annotation>
                            <
xsd:documentation>
                                <
div class="summary">A labelled link</div>
                            </
xsd:documentation>
                        </
xsd:annotation>
                    </
xsd:enumeration>
                </
xsd:restriction>
            </
xsd:simpleType>
        </
xsd:attribute>
    </
xsd:complexType>
</
xsd:element>


Documentation

An internal or external link to STMML or other object(s)

Semantics are similar to XLink, but simpler and only a subset is implemented. This is intended to make the instances easy to create and read, and software relatively easy to implement. The architecture is:

Relation to XLink. 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:



element link


Stylus Studio XML Schema Library Home
Site Map | Privacy Policy | Terms of Use | Trademarks
Stylus Scoop XML Newsletter:
W3C Member
Stylus Studio®, a product from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2006 All Rights Reserved.