Timing Diagram Markup Language (TDML), Version 1.1-1-051899
Foreword
The publication of this specification marks yet another step in months
of invention, discussion, argument, and consensus. This document is the product
of the effort of many individuals and the contribution of considerable resources.
To that end, every person who was involved at any point along the way should
take pride in the existence of this Si2 specification. The first ECIX specification to be developed was the Pinnacles Component
Information Standard (PCIS), which was accomplished under the coordination
of the Pinnacles Group, with members from several electronic component manufacturers
who joined together to create a technical information exchange standard for
use by the electronics industry. These original member companies have all
been active members of the Si2 PCIS Working Group (WG), and it was in conjunction
with Si2 (then the CAD Framework Initiative, Inc) activities that the original
concept of the PCIS was developed. The original work of Hitachi America Limited,
Intel, National Semiconductor, Philips Semiconductors, and Texas Instruments
was extended when Hewlett-Packard, IBM Microelectronics, and Lucent Technologies
joined the effort. Representatives of Hewlett-Packard, Hitachi, IBM, Intel,
Lucent, Motorola, Philips, and TI currently serve as members of the Si2 ECIX
Council. The PCIS 1.2 became a part of the CENELEC TC 217 WB 4 and is now a CENELEC
Standard (Nos. ENV 50247-2, ENV 50247-1, R217-015, R217-015). Future ECIX
specifications will be submitted to CENELEC, en route to target IEC standards. Other ECIX specifications have since been developed under the auspices
of the ECIX Project. The Component Information Dictionary Specification (CIDS)
provides the structure for dictionary content, such as the IEC 61360 and the
JEDEC dictionaries. Dictionaries marked up in CIDS format can be used during
interchange to define electronic parameters and terms in a variety of component
information exchange applications (e.g., datasheets, queries, responses). The Timing Diagram Markup Language (TDML) Specification allows the exchange
of interactive timing diagram information in a standard form. This standard
form promotes the sharing and interchange of information between different
organizations and allows interested parties to develop tools for generating,
editing, analyzing, and browsing these diagrams. The publication of the ECIX QuickData Specifications represents another
in a series of milestones in the maturation of the electronic computer-aided
design industry. The Si2 membership and the industry have demonstrated again
that there are areas of common agreement in the architecture, construction,
and delivery of electronic product design systems information. These specifications
will be extended into additional areas as ECIX continues to evolve to meet
industry requirements. Si2 invites interested parties to provide input into the development
of ECIX through active participation in the various ECIX Working Groups, and
in other Si2 projects where appropriate. For membership information, contact
Si2 Member services at http://www.si2.org/ecix. Si2 continues as a leading contributor to standards for the EDA industry
with actively participating companies and many individual contributors. Member
companies continue to work together to solve design system interoperability
problems in areas where a common solution is recognized as being the most
effective approach. Projects such as the ECIX Project are contributing important
open solutions to key industry problems. As we move forward into new releases
of this and other Si2 specifications, the importance will become registered
in larger and larger circles within the industry. XML-PCISTDML.DTD
XML-TDMLBASE.ENT
XML-PCHARSET.ENT
XML-PINNBASE.ENT
XML-PSOURCES.ENT
<?xml version="1.0" standalone="no" ?>
<!-- Formal Public Identifier:
"-//TDML Working Group//DTD XML-PCISTDML.DTD 19990514 Draft 1.1 Timing Diagram
Markup Language DTD//EN"
-->
<!-- ========================================================== -->
<!-- Copyright Notice -->
<!-- ========================================================== -->
<!--
Copyright (c) 1998, 1999 by Silicon Integration
Initiative, Inc. (Si2) (DUNS No. 62-191-1718).
All Rights Reserved Worldwide. Permission to use, copy,
and distribute this DTD for any purpose subject to the
following restrictions:
Permission is granted for verbatim copy and distribution
only, of this material, in any medium, provided that you
publish on each copy this copyright notice and disclaimer
of warranty.
Si2 makes no representation about the suitability of the
DTD for any purpose nor regarding any claims made by
products which use it. It is provided "as is" without
expressed or implied warranty.
Si2 may revise this DTD from time to time without notice.
-->
<!-- ========================================================== -->
<!-- ========================================================== -->
<!-- NAME: Timing Diagram Markup Language DTD -->
<!-- (File = XML-PCISTDML.DTD) -->
<!-- -->
<!-- PART OF: Pinnacles Component Information Standard (PCIS)-->
<!-- PURPOSE: Primary wrapper for a timing diagram -->
<!-- CONTENT: This standalone XML DTD contains the top level -->
<!-- timing diagram elements (most elements are -->
<!-- defined in subsidiary modules) -->
<!-- -->
<!-- NOTE: This is a modular DTD. It references other -->
<!-- DTD modules through the use of Formal Public -->
<!-- Identifiers and/or SYSTEM entity references. -->
<!-- TO USE THIS DTD YOU MUST make the proper -->
<!-- FORMAL or SYSTEM pathname connection. -->
<!-- The top-level element for this DTD is the -->
<!-- Timing Diagram element and is found in the -->
<!-- xml-tdmlbase.ent module. -->
<!-- * * * -->
<!-- SPONSOR: Timing Diagram Markup Language Working Group/ -->
<!-- Silicon Integration Initiative (Si2) -->
<!-- DATE: ORIG: 1998-10 -->
<!-- WRITTEN: Architag International, Inc. (EMB/MRH) -->
<!-- (Information Architects, prior to 10-98) -->
<!-- 6989 South Jordan Road, 2nd Floor -->
<!-- Englewood, Colorado 80112 -->
<!-- PH: 303/766-1336 FAX: 303/699-8331 -->
<!-- info@architag.com -->
<!-- * * * -->
<!-- SPONSOR: Timing Diagram Markup Language Working Group/ -->
<!-- Silicon Integration Initiative (Si2) -->
<!-- DATE: 1999-02 -->
<!-- WRITTEN: Melanie Yunk -->
<!-- 751 Laurel Street, No. 120 -->
<!-- San Carlos, CA 94070 -->
<!-- PH: 650/593-9301 FAX: 650/593-9304 -->
<!-- mel@si2.org -->
<!-- * * * -->
<!-- SPONSOR: Timing Diagram Markup Language Working Group/ -->
<!-- Silicon Integration Initiative (Si2) -->
<!-- DATE: 1999-05-14 -->
<!-- VERSION: Version 1.1 -->
<!-- WRITTEN: Melanie Yunk -->
<!-- 751 Laurel Street, No. 120 -->
<!-- San Carlos, CA 94070 -->
<!-- PH: 650/593-9301 FAX: 650/593-9304 -->
<!-- mel@si2.org -->
<!-- ========================================================== -->
<!-- ========================================================== -->
<!-- Change History -->
<!-- ========================================================== -->
<!--
No. REASON for/DESCRIPTION of CHANGE DATE
Create Version 1.1
3. Update Copyright Notice 1999-05-14
2. Add Copyright Notice 1999-02-22
XML Version Creation 1998-10-10
1. Add SYSTEM identifiers for all entities called in this
module.
-->
<!-- ========================================================== -->
<!-- ========================================================== -->
<!-- MODULARIZATION ENTITIES for DTD MODULES -->
<!-- ========================================================== -->
<!-- PINNACLES BASIC ELEMENTS -->
<!ENTITY % XML-PINNBASE.ENT PUBLIC
"+//ISO/IEC 9070/RA::A00007::US::ECIX::PCIS//DTD XML-PINNBASE.ENT 19990514 Draft
1.4.3 PCIS Basic Elements and Entities//EN" "xml-pinnbase.ent">
<!-- PINNACLES CHARACTERISTICS, CONDITIONS,
CONNECTION POINTS, MODELS, SUPPORT TOOLS,
PRODUCT ID INFORMATION -->
<!ENTITY % XML-PSOURCES.ENT PUBLIC
"+//ISO/IEC 9070/RA::A00007::US::ECIX::PCIS//DTD XML-PSOURCES.ENT 19990514 Draft
1.4.2 PCIS CCs, CNs, Conns, Models, Tools, Product IDs//EN" "xml-psources.ent" >
<!-- PINNACLES ADMINISTRATIVE INFORMATION -->
<!ENTITY % XML-PADMIN.ENT PUBLIC
"+//ISO/IEC 9070/RA::A00007::US::ECIX::PCIS//DTD XML-PADMIN.ENT 19990222 Draft
1.4 PCIS Administrative Information//EN" "xml-padmin.ent" >
<!-- TDML BASIC ELEMENTS -->
<!ENTITY % XML-TDMLBASE.ENT PUBLIC
"-//TDML Working Group//DTD XML-TDMLBASE.ENT 19990514 Draft 1.1 Timing Diagram
Markup Language Basic Elements//EN" "xml-tdmlbase.ent" >
%XML-PINNBASE.ENT; %XML-PSOURCES.ENT; %XML-PADMIN.ENT; %XML-TDMLBASE.ENT;
<!-- ==== End of XML Timing Diagram Markup Language DTD ===== -->
<!-- Formal Public Identifier:
"-//TDML Working Group//DTD XML-TDMLBASE.ENT 19990514 Draft 1.1 Timing Diagram
Markup Language Basic Elements//EN"
-->
<!-- ========================================================== -->
<!-- Copyright Notice -->
<!-- ========================================================== -->
<!--
Copyright (c) 1998, 1999 by Silicon Integration
Initiative, Inc. (Si2) (DUNS No. 62-191-1718).
All Rights Reserved Worldwide. Permission to use, copy,
and distribute this DTD for any purpose subject to the
following restrictions:
Permission is granted for verbatim copy and distribution
only, of this material, in any medium, provided that you
publish on each copy this copyright notice and disclaimer
of warranty.
Si2 makes no representation about the suitability of the
DTD for any purpose nor regarding any claims made by
products which use it. It is provided "as is" without
expressed or implied warranty.
Si2 may revise this DTD from time to time without notice.
-->
<!-- ========================================================== -->
<!-- ========================================================== -->
<!-- NAME: XML Version of the Timing Diagram Markup -->
<!-- Language Basic Elements -->
<!-- (File = XML-TDMLBASE.ENT) -->
<!-- -->
<!-- PART OF: Pinnacles Component Information Standard (PCIS)-->
<!-- PURPOSE: Primary module for Timing Diagram Markup -->
<!-- Language elements -->
<!-- CONTENT: This module contains the elements, attributes, -->
<!-- and entities making up the Timing Diagram -->
<!-- Markup Language (TDML), expressed in XML -->
<!-- syntax. -->
<!-- -->
<!-- * * * -->
<!-- SPONSOR: Timing Diagram Markup Language Working Group/ -->
<!-- Silicon Integration Initiative (Si2) -->
<!-- DATE: BEGUN: 1998-09 -->
<!-- WRITTEN: Architag International, Inc. (EMB/MRH) -->
<!-- (Information Architects, prior to 10-98) -->
<!-- 6989 South Jordan Road, 2nd Floor -->
<!-- Englewood, Colorado 80112 -->
<!-- PH: 303/766-1336 FAX: 303/699-8331 -->
<!-- info@architag.com -->
<!-- * * * -->
<!-- SPONSOR: Timing Diagram Markup Language Working Group/ -->
<!-- Silicon Integration Initiative (Si2) -->
<!-- DATE: 1999-02 -->
<!-- WRITTEN: Melanie Yunk -->
<!-- 751 Laurel Street, No. 120 -->
<!-- San Carlos, CA 94070 -->
<!-- PH: 650/593-9301 FAX: 650/593-9304 -->
<!-- mel@si2.org -->
<!-- * * * -->
<!-- SPONSOR: Timing Diagram Markup Language Working Group/ -->
<!-- Silicon Integration Initiative (Si2) -->
<!-- DATE: 1999-05-14 -->
<!-- WRITTEN: Melanie Yunk -->
<!-- PMB 120 -->
<!-- 751 Laurel Street -->
<!-- San Carlos, CA 94070 -->
<!-- PH: 650/593-9301 FAX: 650/593-9304 -->
<!-- mel@si2.org -->
<!-- ========================================================== -->
<!-- ========================================================== -->
<!-- Design Considerations -->
<!-- ========================================================== -->
<!-- Timing Diagram Markup Language (TDML) was designed to
describe the information traditionally represented by sets
of waveforms and their associated parameter tables.
Though the initial goal of this effort was to provide a
common interchange standard for the major tools in the
industry, it will additionally address the larger issues of
interchange of timing diagram data in PCIS-compliant
datasheets.
Therefore, TDML has been designed using existing PCIS
structures whenever possible, and follows the PCIS naming
and organization conventions whenever TDML-specific
structures are required.
It has been assumed that when and if TDML is subsumed into the
PCIS standard, a specific <avo> type of <timing.diag> will be
added to PCIS, and PCIS will also be amended to recognize the
additional relationships between <connection>s, <conn.group>s,
and <cc>s (characteristics) discovered during analysis of the
timing diagram and waveform data.
Until revisions have been made to PCIS, TDML will use parallel
modules and structures whose names will be prefaced with
"tdml." and whose structures will represent, where possible,
true subsets of their PCIS cousins. This means that data
created independently using TDML will be directly and easily
mapped into existing PCIS structures.
-->
<!-- ========================================================== -->
<!-- ========================================================== -->
<!-- Change History -->
<!-- ========================================================== -->
<!--
No. REASON for/DESCRIPTION of CHANGE DATE
Version 1.1 Creation 1999-05-14
10. Update Copyright Notice.
9. ALIAS - Rename the <alias> element to <alias.name>.
8. CC.LIST.NAME - rename element to <alias.value>. The
IDREF attribute was removed from <alias.value>.
7. FONT.LIST and FONT - The <font.list> and <font>
elements (including new attributes, color, face.name
and point.size) added to contain the storage of all
fonts in one location. FONT.LIST was added to the
<timing.diagram> element.
6. Add font.ptr attribute to %present.atts and
<annotation> element.
5. Remove font.face and font.size from %present.atts.
Face.name and point.size attributes were added to the
New <font> element.
4. VIEW - Change content model for <view> from #PCDATA
to zero or more user.defined elements. Add new
attribute, view.name.
3. Added the locked attribute to the <e> element.
2. Add Coypright Notice 1999-02-22
XML Version Creation 1998-10-10
1. Translation of the SGML version of tdmlbase.ent into
an XML-version.
-->
<!-- ========================================================== -->
<!-- ========================================================== -->
<!-- INTERNAL PARAMETER ENTITIES -->
<!-- ========================================================== -->
<!ENTITY % tdml.value.model
"((number, (order.of.mag, unit)?)
| tdml.expression | null)*" >
<!-- ========================================================== -->
<!-- COMMON ATTRIBUTE LISTS -->
<!-- ========================================================== -->
<!-- PRESENTATION ATTRIBUTES -->
<!ENTITY % present.atts "line.thickness CDATA #IMPLIED
foreground.color CDATA #IMPLIED
tick.marks %yesorno; #IMPLIED
font.ptr IDREF #IMPLIED">
<!-- SHOW-OR-HIDE ATTRIBUTES -->
<!ENTITY % show.atts "show %yesorno; #IMPLIED
show.uncertainty (MIN|MAX|TYP|ALL)
'ALL' " >
<!-- GRID DISPLAY ATTRIBUTES -->
<!ENTITY % grid.atts "show.grid %yesorno; #IMPLIED
grid.color CDATA #IMPLIED
grid.style CDATA #IMPLIED
draw.min %yesorno; #IMPLIED
first.signal IDREF #IMPLIED
last.signal IDREF #IMPLIED
first.edge IDREF #IMPLIED
last.edge IDREF #IMPLIED
edges.per.cycle CDATA #IMPLIED">
<!-- TOOL (SET OR DEFAULTED) ATTRIBUTES -->
<!-- For application and implementation purposes, it would be -->
<!-- wise to agree on a standard for expressing values for -->
<!-- color that can be understood by other users. It has been -->
<!-- suggested that using standard hex values for colors would -->
<!-- serve this purpose well. -->
<!ENTITY % tool.atts "background.color CDATA #IMPLIED
user.time.units CDATA #IMPLIED">
<!-- INFORMATION ATTRIBUTES -->
<!ENTITY % info.atts "delay.rule
(first|last|min.uncertainty|max.uncertainty)
#IMPLIED
rising.slope.degrees
CDATA #IMPLIED
falling.slope.degrees
CDATA #IMPLIED
early.slew.time CDATA #IMPLIED
late.slew.time CDATA #IMPLIED">
<!-- CLOCK ATTRIBUTES -->
<!ENTITY % clock.atts "clock %yesorno; #IMPLIED
inverted %yesorno; #IMPLIED">
<!-- EDGE RELATIONSHIP ATTRIBUTES -->
<!ENTITY % relationship.atts
"id ID #IMPLIED
containing.signal.ptr
IDREF #IMPLIED
type CDATA #REQUIRED
tdml.cc.ptr IDREF #IMPLIED
show %yesorno; #IMPLIED
user.created %yesorno; #IMPLIED
slot NMTOKEN #IMPLIED">
<!-- ========================================================== -->
<!-- COMMON CONTENT MODELS -->
<!-- ========================================================== -->
<!-- ========================================================== -->
<!-- TIMING DIAGRAM ELEMENTS -->
<!-- Timing Diagram contains the administrative information -->
<!-- (what tool was used, what version of tdml, etc), followed -->
<!-- by an optional sources section, which is present primarily-->
<!-- to include content elements that are defined in that -->
<!-- module for version 0.9, one or more signals, 0 or 1 -->
<!-- edge relationship sections, 0 or more annotations, an -->
<!-- optional characteristic list, an optional alias list, an -->
<!-- optional font.list, and an optional repeatable -->
<!-- "user.defined" element. -->
<!-- ========================================================== -->
<!-- TIMING DIAGRAM -->
<!ELEMENT timing.diagram (tdml.admin.info, (sources?,
tdml.conn.group*),
signal*,
edge.relationships?,
annotation*, view.group?, cc.list*,
alias.list?, font.list?,
user.defined*) >
<!ATTLIST timing.diagram
default.time.units CDATA #REQUIRED
show.delays %yesorno; #IMPLIED
show.holds %yesorno; #IMPLIED
show.samples %yesorno; #IMPLIED
show.setups %yesorno; #IMPLIED
%present.atts;
%show.atts;
%tool.atts;
%info.atts; >
<!-- ========================================================== -->
<!-- TDML HEADER ELEMENTS -->
<!-- ========================================================== -->
<!-- TIMING DIAGRAM HEADER INFO -->
<!ELEMENT tdml.admin.info (tool.info) >
<!-- ========================================================== -->
<!-- SIGNAL ELEMENTS -->
<!-- A signal contains either a pointer to a connection or a -->
<!-- pointer to a tdml.conn.group, followed by clock.info, -->
<!-- followed by either a waveform or a pointer to a waveform -->
<!-- elsewhere in the document instance, followed by 0 or more -->
<!-- sets of user defined information, followed by an optional -->
<!-- width. -->
<!-- ========================================================== -->
<!-- SIGNAL -->
<!ELEMENT signal ((conn.ptr | tdml.conn.group.ptr),
clock.info?,
(waveform | waveform.ptr),
user.defined*, width?) >
<!-- The attributes are defined as follows:
id Unique identifying string for the signal
connections IDs of connections or connection groups
in the source that make up the signal -->
<!ATTLIST signal
id ID #IMPLIED
connections IDREFS #IMPLIED
default.time.units
CDATA #IMPLIED
%present.atts;
%show.atts;
%tool.atts;
%info.atts;
%grid.atts;
%clock.atts; >
<!ELEMENT conn.ptr (#PCDATA | %emphs;)* >
<!ATTLIST conn.ptr
conn.id IDREF #IMPLIED >
<!ELEMENT tdml.conn.group.ptr
(#PCDATA | %emphs;)* >
<!ATTLIST tdml.conn.group.ptr
tdml.conn.group.ids IDREFS #IMPLIED >
<!ELEMENT clock.info (period?, duty.cycle?, time.offset?,
jitter.falling?, jitter.rising?,
uncertainty.falling?,
uncertainty.rising?) >
<!ELEMENT period (%tdml.value.model;) >
<!ELEMENT duty.cycle (%tdml.value.model;) >
<!ELEMENT time.offset (%tdml.value.model;) >
<!ELEMENT jitter.falling (%tdml.value.model;) >
<!ELEMENT jitter.rising (%tdml.value.model;) >
<!ELEMENT uncertainty.falling (%tdml.value.model;) >
<!ELEMENT uncertainty.rising (%tdml.value.model;) >
<!-- CONNECTION GROUP MNEMONIC -->
<!-- Connection group mnemonic is defined here, but connection -->
<!-- mnemonic and connection group name are both defined in -->
<!-- the psources module. -->
<!ELEMENT conn.group.mnemonic (#PCDATA | %emphs;)* >
<!ELEMENT tdml.conn.group (conn.group.mnemonic?,
conn.group.name?, conn.group.desc?,
conn.ids?, conn.group.ids?) >
<!ATTLIST tdml.conn.group
%data.atts; >
<!-- WAVEFORM -->
<!-- A waveform has 0 or more edges (e). A waveform can also -->
<!-- be specified as being locked (boolean) or driven (boolean)-->
<!-- In addition, it can point to one or more characteristics, -->
<!-- and can have a default edge.label.type which will apply to-->
<!-- each individual edge inside this waveform unless it's -->
<!-- over-ridden on the edge level. -->
<!ELEMENT waveform (e*) >
<!ATTLIST waveform
id ID #IMPLIED
locked %yesorno; #IMPLIED
tdml.cc.ptr IDREFS #IMPLIED
e.label.type
(blank|default|increment|order|skip|text|time|uncertainty)
"default"
%present.atts;
%show.atts;
%tool.atts;
%info.atts; >
<!-- WAVEFORM REFERENCE -->
<!-- This is a pointer to a waveform that is defined either -->
<!-- elsewhere in the same timing diagram or elsewhere in the -->
<!-- same document. This is because different signals can -->
<!-- share the save waveform. -->
<!ELEMENT waveform.ptr EMPTY >
<!ATTLIST waveform.ptr
pointer IDREF #REQUIRED>
<!-- EDGE (STATE TRANSITION) -->
<!-- An edge, or a state transition, can contain an optional -->
<!-- label. The label type is defaulted from the containing -->
<!-- waveform unless it gets over-ridden using the attribute -->
<!-- on the e.label itself. The "next-state" attribute has a -->
<!-- defined list of 7 valid types that it can take. -->
<!ELEMENT e (e.label?) >
<!-- The attributes are defined as follows:
id Unique identifying string for the edge
s Next state; the values are:
1 High
0 Low
V Valid
Z High Impedance
X Invalid
H Weak High
L Weak Low
te Time earliest
tl Time latest
vs Vector state
locked Locked -->
<!ATTLIST e
id ID #IMPLIED
driven %yesorno; #IMPLIED
s (1|0|V|Z|X|H|L) #IMPLIED
te CDATA #IMPLIED
tl CDATA #IMPLIED
vs CDATA #IMPLIED
locked %yesorno; #IMPLIED
%present.atts;
%show.atts;
%tool.atts;
%info.atts; >
<!-- EDGE INFORMATIONAL LABEL -->
<!ELEMENT e.label (#PCDATA | %emphs;)* >
<!ATTLIST e.label
label.type
(blank|default|increment|order|skip|text|time|uncertainty)
#IMPLIED >
<!-- USER-DEFINED INFORMATION -->
<!ELEMENT user.defined ((key, user.value) | code.listing) >
<!-- USER-DEFINED KEY -->
<!ELEMENT key (#PCDATA) >
<!-- USER-DEFINED VALUE -->
<!-- User-defined value is a text string (#PCDATA). -->
<!ELEMENT user.value (#PCDATA) >
<!ELEMENT tdml.value (%tdml.value.model;) >
<!ATTLIST tdml.value
id ID #IMPLIED
value.type (MIN|MAX|NOM|TYP|PTOL|NTOL|RAW) #IMPLIED >
<!-- TDML EXPRESSION -->
<!-- tdml.expression was created because in a tdml document, -->
<!-- expression can take a non-PCIS attribute that tells -->
<!-- which company's formula is contained in this expression -->
<!-- (using the 'expression.handling' attribute.) -->
<!-- The specific contents of value, number and null, are -->
<!-- defined in the psources module of PCIS. They can be used -->
<!-- to associate a formula with a particular value, by using -->
<!-- the 'evaluated.to' element. -->
<!ELEMENT tdml.expression ((expression, (order.of.mag, unit)?),
evaluated.to?) >
<!ATTLIST tdml.expression
expression.handling
CDATA #IMPLIED >
<!-- CALCULATED VALUE (IF AN EXPRESSION) -->
<!ELEMENT evaluated.to (#PCDATA | %emphs;)* >
<!-- SIGNAL (BUS) WIDTH -->
<!-- Bus width can be expressed either in terms of the most -->
<!-- significant bit and the least significant bit. -->
<!ELEMENT width (msb, lsb) >
<!-- MOST SIGNIFICANT BIT -->
<!ELEMENT msb (%tdml.value.model;) >
<!-- LEAST SIGNIFICANT BIT -->
<!ELEMENT lsb (%tdml.value.model;) >
<!-- ========================================================== -->
<!-- EDGE RELATIONSHIP ELEMENTS -->
<!-- ========================================================== -->
<!-- EDGE RELATIONSHIPS SECTION -->
<!-- The edge relationship section is either present or not; -->
<!-- if it is present, it may contain as many edge -->
<!-- relationships as one wishes to describe. The -->
<!-- 'relationship attributes' contain those kinds of -->
<!-- information which are common about both one.edge and two. -->
<!-- edge relationships; one.edge and two.edge are empty -->
<!-- elements to serve as hooks for the specific attributes -->
<!-- associated with each of those types of relationships. -->
<!ELEMENT edge.relationships (relationship)+ >
<!ELEMENT relationship ((two.edge | one.edge),
relationship.label?, user.defined*)>
<!ATTLIST relationship
%relationship.atts; >
<!-- RELATIONSHIP OF TWO EDGES -->
<!-- Two-edge-relationships have a source edge and a target -->
<!-- edge associated with them. -->
<!ELEMENT two.edge EMPTY >
<!ATTLIST two.edge
source.e IDREF #REQUIRED
target.e IDREF #REQUIRED>
<!-- SINGLE-EDGE RELATIONSHIP -->
<!-- A one-edge-relationship has a pointer to the edge on -->
<!-- which it starts and a pointer to the waveform on which -->
<!-- it ends. -->
<!ELEMENT one.edge EMPTY >
<!ATTLIST one.edge
target.signal.ptr
IDREF #IMPLIED
e.ptr IDREF #IMPLIED >
<!-- RELATIONSHIP INFORMATIONAL LABEL -->
<!-- Each relationship label has a type, which is a selection -->
<!-- from the defined list in the label.type attribute. -->
<!ELEMENT relationship.label (#PCDATA | %emphs;)* >
<!ATTLIST relationship.label
label.type
(default|name|row|formula|minmax|measure|comment|
margin|text|blank) "default">
<!-- TEXT ANNOTATION -->
<!-- A text annotation can contain text; it can indicate hard- -->
<!-- coded offsets (using the x.offset and y.offset attributes)-->
<!-- or can simply be centered (using the segment.centered -->
<!-- attribute). For implementation purposes, any text that is -->
<!-- presented using the "segment.centered" attribute should -->
<!-- FOLLOW the edge it is associated with. -->
<!ELEMENT annotation (#PCDATA | tdml.expression |
%emphs; | code.listing)* >
<!ATTLIST annotation
x.offset CDATA #IMPLIED
y.offset CDATA #IMPLIED
segment.centered
%yesorno; #IMPLIED
e.ptr IDREF #IMPLIED
signal.ptr IDREF #IMPLIED
font.ptr IDREF #IMPLIED >
<!-- VIEW GROUP -->
<!ELEMENT view.group (view+) >
<!-- VIEW -->
<!ELEMENT view (user.defined*) >
<!ATTLIST view
view.name CDATA #IMPLIED
first.signal IDREF #IMPLIED
last.signal IDREF #IMPLIED
begin.time CDATA #REQUIRED
end.time CDATA #REQUIRED>
<!-- CHARACTERISTICS LIST -->
<!-- A characteristics list allows a list of each -->
<!-- characteristic referred to in the timing diagram. The -->
<!-- model in this element primarily mimics the model in the -->
<!-- PCIS sources, so it contains some elements that are not -->
<!-- likely to be used in the creation of timing diagram info. -->
<!-- At the same time, it contains at least two additions that -->
<!-- are not currently part of the PCIS model of characteristic-->
<!-- (the 'connections' attribute, and the 'user.defined' -->
<!-- element), which is why this element has the name tdml.cc. -->
<!ELEMENT cc.list (title?, tdml.cc*) >
<!-- TDML CHARACTERISTIC -->
<!ELEMENT tdml.cc (parm?, cn.ids?, tdml.value*,
conn.ids?, testing.info*, cc.text?,
user.defined*) >
<!ATTLIST tdml.cc
connections IDREFS #IMPLIED
show %yesorno; #IMPLIED
static %yesorno; #REQUIRED
reliability %yesorno; #IMPLIED
pids IDREFS #IMPLIED
acoustic %yesorno; #IMPLIED
chemical %yesorno; #IMPLIED
electric %yesorno; #IMPLIED
info %yesorno; #IMPLIED
magnetic %yesorno; #IMPLIED
mechanical %yesorno; #IMPLIED
optical %yesorno; #IMPLIED
periodic %yesorno; #IMPLIED
radiation %yesorno; #IMPLIED
thermal %yesorno; #IMPLIED
timing %yesorno; #IMPLIED
%data.atts; >
<!--============================================================-->
<!-- ALIAS.LIST and CONTENTS -->
<!-- Alias.list and its contained elements were created to -->
<!-- permit an easy switch between different cc.lists. -->
<!--============================================================-->
<!ELEMENT alias.list (alias.item+) >
<!ELEMENT alias.item (alias.name, alias.value) >
<!ELEMENT alias.name (#PCDATA) >
<!ELEMENT alias.value (#PCDATA) >
<!--============================================================-->
<!-- FONT.LIST and CONTENTS -->
<!-- Font.list and its contained elements were created to -->
<!-- contain all fonts used within a timing diagram. The -->
<!-- individual fonts may be referenced from within each -->
<!-- timing diagram, signal, waveform, edge, or annotation. -->
<!--============================================================-->
<!ELEMENT font.list (font+) >
<!ELEMENT font EMPTY >
<!ATTLIST font
id ID #REQUIRED
face.name CDATA #REQUIRED
point.size CDATA #REQUIRED
color CDATA #IMPLIED >
<!--============================================================-->
<!-- CODE.LISTING and CONTENTS -->
<!-- These elements are defined as part of the xml-pinnbase.ent-->
<!-- and can be used as is. -->
<!--============================================================-->
<!-- =========== End of XML-TDMLBASE.ENT ==================== -->
<!-- Formal Public Identifier:
"+//ISO/IEC 9070/RA::A00007::US::ECIX::PCIS//ENTITIES XML-PCHARSET.ENT 19990416
Draft 1.4.1 PCIS Special Characters//EN"
-->
<!-- ========================================================== -->
<!-- Copyright Notice -->
<!-- ========================================================== -->
<!--
Copyright (c) 1998, 1999 by Silicon Integration
Initiative, Inc. (Si2) (DUNS No. 62-191-1718).
All Rights Reserved Worldwide. Permission to use, copy,
and distribute this DTD for any purpose subject to the
following restrictions:
Permission is granted for verbatim copy and distribution
only, of this material, in any medium, provided that you
publish on each copy this copyright notice and disclaimer
of warranty.
Si2 makes no representation about the suitability of the
DTD for any purpose nor regarding any claims made by
products which use it. It is provided "as is" without
expressed or implied warranty.
Si2 may revise this DTD from time to time without notice.
-->
<!-- ========================================================== -->
<!-- ========================================================== -->
<!-- NAME: PCIS SPECIAL CHARACTERS -->
<!-- (File = XML-PCHARSET.ENT) -->
<!-- -->
<!-- PART OF: Pinnacles Component Information Standard (PCIS)-->
<!-- PURPOSE: Name the PCIS special (non-ISO) characters -->
<!-- that are still part of IS) 10646 -->
<!-- CONTENT: Contains: -->
<!-- 1. PUBLIC entity references for ISO-defined-->
<!-- special character entities -->
<!-- USED BY: PINNBASE.ENT - Basic module for PCIS DTDs -->
<!-- -->
<!-- NOTE: This is a DTD fragment, NOT A STAND-ALONE DTD! -->
<!-- This module is referenced by DTDs and other -->
<!-- modules through the use of Formal Public -->
<!-- Identifiers and/or SYSTEM entity references. -->
<!-- * * * -->
<!-- SPONSOR: Pinnacles Group -->
<!-- DATE: ORIG: 1993-12 LATEST: 1997-12 -->
<!-- WRITTEN: ATLIS Consulting Group (DAL/BTU/MRH/EMB) -->
<!-- 6011 Executive Boulevard -->
<!-- Rockville, Maryland 20852 -->
<!-- PH: 301-816-4307 FAX: 301-468-6758 -->
<!-- acg-sgml@access.digex.com -->
<!-- *** -->
<!-- SPONSOR: Si2/ECIX Project -->
<!-- DATE: 1998-10 -->
<!-- REVISED: Architag International, Inc. (EMB/MRH) -->
<!-- (Information Architects, prior to 10-98) -->
<!-- 6989 South Jordan Road, 2nd Floor -->
<!-- Englewood, Colorado 80112 -->
<!-- PH: 303/766-1336 FAX: 303/699-8331 -->
<!-- info@architag.com -->
<!-- *** -->
<!-- SPONSOR: Si2/ECIX Project -->
<!-- DATE: 1999-02 -->
<!-- WRITTEN: Melanie Yunk -->
<!-- 751 Laurel Street, No. 120 -->
<!-- San Carlos, CA 94070 -->
<!-- PH: 650/593-9301 FAX: 650/593-9304 -->
<!-- mel@si2.org -->
<!-- *** -->
<!-- SPONSOR: Si2/ECIX Project -->
<!-- DATE: 1999-04-16 -->
<!-- WRITTEN: Melanie Yunk -->
<!-- 751 Laurel Street, No. 120 -->
<!-- San Carlos, CA 94070 -->
<!-- PH: 650/593-9301 FAX: 650/593-9304 -->
<!-- mel@si2.org -->
<!-- ========================================================== -->
<!-- ========================================================== -->
<!-- Change History -->
<!-- ========================================================== -->
<!--
No. REASON for/DESCRIPTION of CHANGE DATE
Version 1.4.1 created 199904-16
6. Update FPI to Version 1.4.1
5. Update Copyright Notice
4. Correct system identifiers for special character
Entity sets to reflect file names with *.ent
extensions
3. Add Copyright Notice 199902-22
XML Version 1998-10-10
2. Add SYSTEM identifiers for all character set entities.
1. Removed all SDATA character entities and the character
sets that are not currently being called (all of the
special maths).
-->
<!-- ========================================================== -->
<!-- ========================================================== -->
<!-- SPECIAL CHARACTER ENTITY SETS -->
<!-- ========================================================== -->
<!ENTITY % ISOlat1 PUBLIC
"ISO 8879-1986//ENTITIES Added Latin 1//EN//XML" "isolat1.ent">
<!ENTITY % ISOlat2 PUBLIC
"ISO 8879-1986//ENTITIES Added Latin 2//EN//XML" "isolat2.ent">
<!ENTITY % ISOgrk3 PUBLIC
"ISO 8879-1986//ENTITIES Greek Symbols//EN//XML" "isogrk3.ent">
<!ENTITY % ISOdia PUBLIC
"ISO 8879-1986//ENTITIES Diacritical Marks//EN//XML" "isodia.ent">
<!ENTITY % ISOnum PUBLIC
"ISO 8879-1986//ENTITIES Numeric and Special Graphic//EN//XML" "isonum.ent">
<!ENTITY % ISOpub PUBLIC "ISO 8879-1986//ENTITIES Publishing//EN//XML" "isopub.ent">
<!ENTITY % ISOtech PUBLIC
"ISO 8879-1986//ENTITIES General Technical//EN//XML" "isotech.ent">
%ISOlat1; %ISOlat2; %ISOgrk3;
%ISOdia; %ISOnum; %ISOpub; %ISOtech;
<!-- ============ END OF XML-PCHARSET DTD FRAGMENT =========== -->
<!-- Formal Public Identifier:
"+//ISO/IEC 9070/RA::A00007::US::ECIX::PCIS//DTD XML-PINNBASE.ENT 19990514
Draft 1.4.3 PCIS Basic Elements and Entities//EN"
-->
<!-- ========================================================== -->
<!-- Copyright Notice -->
<!-- ========================================================== -->
<!--
Copyright (c) 1998, 1999 by Silicon Integration
Initiative, Inc. (Si2). All Rights Reserved Worldwide.
Permission to use, copy, and distribute this DTD for any
purpose subject to the following restrictions:
The full text of this copyright notice appears in all
copies.
Si2 makes no representation about the suitability of the
DTD for any purpose nor regarding any claims made by
products which use it. It is provided "as is" without
expressed or implied warranty.
Si2 may revise this DTD from time to time without notice.
No right is granted to modify or publish this DTD without
specific, prior written permission from Si2.
-->
<!-- ========================================================== -->
<!-- ========================================================== -->
<!-- NAME: PINNACLES BASIC ELEMENTS and ENTITIES -->
<!-- (File = XML-PINNBASE.ENT) -->
<!-- -->
<!-- PART OF: Pinnacles Component Information Standard (PCIS)-->
<!-- PURPOSE: Source for the elements and parameter entities -->
<!-- shared by all the Pinnacles DTDs and modules -->
<!-- CONTENT: Contains: -->
<!-- A. Parameter entities -->
<!-- 1. Parameter entities for attr. values -->
<!-- 2. Parm entities for shared attribute lists-->
<!-- 3. Parm entities used in content models -->
<!-- B. Element/attlist declarations -->
<!-- 1. Common structural elements -->
<!-- 2. Document-level elements -->
<!-- 3. Division-level elements -->
<!-- 4. Paragraph-level elements -->
<!-- 5. Intermediate-level elements -->
<!-- 6. Phrase-level elements -->
<!-- 7. Administrative Elements -->
<!-- a. Enterprise elements -->
<!-- b. Author elements -->
<!-- -->
<!-- USED BY: XML-PSHEET.DTD (XML DTD for Datasheets) -->
<!-- XML-PAPPNOTE.DTD (XML DTD for App. Notes -->
<!-- XML-PDBOOK.DTD (XML DTD for Databooks) -->
<!-- XML-PCISDOC.DTD (XML DTD for misc. PCIS -->
<!-- documents) -->
<!-- XML-PCISTDML.DTD (XML DTD for Timing Diagrams) -->
<!-- -->
<!-- USES: XML-EXCHANGE.ENT (XML Adaptation of Oasis- -->
<!-- Open's CALS table model) -->
<!-- XML-PCHARSET.ENT (XML Adaptation of the ISO -->
<!-- special character sets) -->
<!-- -->
<!-- NOTE: This is a DTD fragment, NOT A STAND-ALONE DTD! -->
<!-- This module is referenced by DTDs and other -->
<!-- modules through the use of Formal Public -->
<!-- Identifiers and/or SYSTEM entity references. -->
<!-- * * * -->
<!-- SPONSOR: Pinnacles Group -->
<!-- DATE: ORIG: 1993-12 -->
<!-- WRITTEN: ATLIS Consulting Group (DAL/BTU/EMB/MRH) -->
<!-- 6011 Executive Boulevard -->
<!-- Rockville, Maryland 20852 -->
<!-- PH: 301-816-4307 FAX: 301-468-6758 -->
<!-- acg-sgml@access.digex.com -->
<!-- * * * -->
<!-- SPONSOR: CFI/Pinnacles Group -->
<!-- DATE: 1997-05 -->
<!-- REVISED: Mulberry Technologies, Inc. (BTU/TKG) -->
<!-- 6010 Executive Boulevard, Suite 608 -->
<!-- Rockville, Maryland 20852 -->
<!-- PH: 301/231-6930 FAX: 301/231-6935 -->
<!-- info@mulberrytech.com -->
<!-- *** -->
<!-- SPONSOR: Si2/ECIX Project -->
<!-- DATE: 1997-1998 Latest: 19981010 -->
<!-- REVISED: Information Architects, Inc. (EMB/MRH) -->
<!-- 6989 South Jordan Road, 2nd Floor -->
<!-- Englewood, Colorado 80112 -->
<!-- PH: 303/766-1336 FAX: 303/699-8331 -->
<!-- info@sgml.com -->
<!-- * * * -->
<!-- SPONSOR: Si2/ECIX Project -->
<!-- DATE: 1999-02 Latest: 19990514 -->
<!-- WRITTEN: Melanie Yunk -->
<!-- PMB 120 -->
<!-- 751 Laurel Street -->
<!-- San Carlos, CA 94070 -->
<!-- PH: 650/593-9301 FAX: 650/593-9304 -->
<!-- mel@si2.org -->
<!-- ========================================================== -->
<!-- ========================================================== -->
<!-- Change History -->
<!-- ========================================================== -->
<!--
No. REASON for/DESCRIPTION of CHANGE DATE
Version 1.4.3 Created 1999-05-14
12. Update FPI.
11. Remove <verbatim> from %tbl.entry.mdl. See No. 1
in this Change History.
Version 1.4.2 Created 1999-04-16
9. Update FPI for XML-PCHARSET.ENT.
8. Update Copyright Notice.
7. Add Copyright Notice 1999-02-22
XML Version Changes 1998-10-10
6. The content model for <contact.info> has been revised
to satisfy XML rules for mixed content models.
5. The content model for <display.math> has been
re-arranged to satisfy XML mixed content model rules.
4. The content models for <patent.statement>,
<def.heading>, <def.term>, <term.heading> have all
been given an optional rather than a required content
model, to satisfy XML rules for the use of #PCDATA
mixed content models.
3. The attribute "indent.level" has been given a type of
"NMTOKEN" since "NUMBER" is not a valid attribute type
in XML. The default value remains "0".
2. The declared value type for the attribute "HyTime" has
been changed from "NAME" (illegal under XML) to
"NMTOKEN". This is technically a problem, since moving
from "NAME" to "NMTOKEN" is a move from more
restrictive to less restrictive, and therefore a
violation of the principles of architectural forms.
In addition, the XML Declaration does not support
"AppInfo", so HyTime support can not be mandated. We
have left the HyTime structures in this model with the
less restrictive content model on the assumption that
HyTime support under XLL (Xlink and Xpointer) will be
forthcoming and that these models will be replaced
when the standard is finalized and tool support is
available. In addition, this module does not correct
any of the original mis-interpretations of HyTime, but
includes all of the original elements from PCIS.
1. The element "verbatim" has been deleted, since its
content model of "RCDATA" would be illegal in XML
syntax. Content that would, in an SGML application,
have been tagged with <verbatim> can be tagged using
<code.listing> and <line> elements to force line
breaks and presentation.
-->
<!-- ========================================================== -->
<!-- ========================================================== -->
<!-- NOTATION DECLARATIONS -->
<!-- ========================================================== -->
<!-- EPS (ENCAPSULATED POSTSCRIPT) -->
<!NOTATION EPSI PUBLIC
"+//ISBN 0-201-18127-4::Adobe//NOTATION PostScript Language Ref. Manual//EN"
>
<!-- TEX -->
<!NOTATION TEX PUBLIC
"+//ISBN 0-201-13448-9::Knuth//NOTATION The TeXbook//EN"
>
<!-- TIFF (UNCOMPRESSED) -->
<!NOTATION TIFF.UNCOMP PUBLIC
"-//ISBN 0-7923-9432-1::Graphic Notation//NOTATION Aldus/Microsoft Tagged
Interchange File Format//EN"
>
<!-- GIF (GRAPHIC INTERCHANGE FORMAT) -->
<!NOTATION GIF PUBLIC
"-//ISBN 0-7923-9432-1::Graphic Notation//NOTATION CompuServe Graphic
Interchange Format//EN"
>
<!-- CGM (COMPUTER GRAPHICS METAFILE) -->
<!NOTATION CGM-BINARY PUBLIC
"ISO 8632/3//NOTATION Binary encoding//EN"
>
<!-- TDML (TIMING DIAGRAM MARKUP LANGUAGE) -->
<!NOTATION TDML PUBLIC
"-//TDML Working Group//NOTATION TDML: Timing Diagram Markup Language//EN"
>
<!-- ========================================================== -->
<!-- ENTITIES for CHANGEABLE ATTRIBUTE VALUES -->
<!-- ========================================================== -->
<!-- THE CLASSES OF COMPONENT INFORMATION -->
<!ENTITY % classes "prod.summary | detail.spec |
application.info | safety.envir.info |
support.tools | reliability.info" >
<!-- NOTATION TYPE of AUDIO/VISUAL OBJECT -->
<!-- These are the notations in which graphics are stored -->
<!-- which are recognized for interchange under PCIS. -->
<!-- Individual organizations may add additional notations to -->
<!-- this list for authoring and display within their own -->
<!-- organizations. -->
<!ENTITY % notations "CGM-BINARY | EPSI | GIF | TeX |
TIFF.UNCOMP | TDML" >
<!-- STYLES of RENDERING PERMITTED -->
<!-- Such as bold, italic, underline, reverse video, circled -->
<!-- or boxed characters, overbar, etc. -->
<!ENTITY % rend.type "CDATA" >
<!-- STATUS OF THE DATASHEET OR DOCUMENT -->
<!ENTITY % status.type "advanced | preliminary | available |
nomar | obsolete" >
<!-- THE CATEGORIES OF CAUTIONS AND WARNINGS -->
<!ENTITY % warn.type "acoustic | chemical | electric |
magnetic | mechanical | optical |
radiation | thermal" >
<!-- ========================================================== -->
<!-- ENTITIES for SHARED ATTRIBUTE LISTS -->
<!-- ========================================================== -->
<!-- HYPERLINK ATTRIBUTES
(SOURCE IBM InfoMaster) -->
<!ENTITY % clink.atts
"HyTime NMTOKEN #FIXED 'clink'" >
<!-- GLOBAL ATTRIBUTES for SOURCES and
PHRASE LEVEL ELEMENTS -->
<!ENTITY % data.atts
"id ID #REQUIRED" >
<!-- GLOBAL ATTRIBUTES for GENERIC
NON-TECHNICAL PARAGRAPHS -->
<!ENTITY % gen.atts
"id ID #REQUIRED
label CDATA #IMPLIED" >
<!-- GLOBAL ATTRIBUTES for PHRASE-LEVEL
TECHNICAL ELEMENTS -->
<!ENTITY % tech.atts
"id ID #REQUIRED
pids IDREFS #IMPLIED" >
<!-- PARAGRAPH-LEVEL GLOBAL ATTRIBUTES -->
<!ENTITY % common.atts
"id ID #REQUIRED
label CDATA #IMPLIED
div.class (%classes;) #IMPLIED
pids IDREFS #IMPLIED
lang.id CDATA #IMPLIED" >
<!-- DIVISION-LEVEL GLOBAL ATTRIBUTES -->
<!-- (Each named division carries the attribute
div.class explicitly so it can default)
-->
<!ENTITY % div.atts
"id ID #REQUIRED
label CDATA #IMPLIED
pids IDREFS #IMPLIED
lang.id CDATA #IMPLIED" >
<!-- ATTRIBUTE VALUE OF YES (1) OR NO (0) -->
<!-- Some systems name this %boolean; -->
<!ENTITY % yesorno "NMTOKEN" >
<!-- AVO ATTRIBUTES -->
<!-- (Attributes on an audio-visual object) -->
<!ENTITY % avo.atts
"nota (%notations;) #IMPLIED
profile.ptr CDATA #IMPLIED
inline %yesorno; 'no'
avo.ent ENTITY #REQUIRED
%clink.atts;
%common.atts;" >
<!-- DOCUMENT-LEVEL GLOBAL ATTRIBUTES -->
<!-- (Attributes for the Datasheet level) -->
<!ENTITY % doc.atts
"id ID #REQUIRED
status.type (%status.type;) 'advanced'
lang.id CDATA #IMPLIED
HyTime NMTOKEN #FIXED 'HyDoc'
confidential %yesorno; 'yes'
disclosed.to CDATA #IMPLIED
nda.info CDATA #IMPLIED" >
<!-- ========================================================== -->
<!-- PARAMETER ENTITIES to be used in CONTENT MODELS -->
<!-- ========================================================== -->
<!-- ========================================================== -->
<!-- INTERMEDIATE ELEMS (within/between paragraphs)-->
<!-- These elements may occur either inside a -->
<!-- paragraph or at the same level as a paragraph.-->
<!-- ========================================================== -->
<!-- ALL TYPES OF LISTS -->
<!ENTITY % lists "def.list | ordered.list | unordered.list" >
<!-- DISPLAY or GRAPHIC ELEMENTS (para-level)-->
<!ENTITY % display "avo | avo.group | display.math | fig |
table" >
<!-- DISPLAY or GRAPHIC ELEMENTS (para-level)
(Minus the figure element) -->
<!ENTITY % display.nofig
"avo | avo.group | display.math |
table" >
<!-- ========================================================== -->
<!-- PHRASE-LEVEL ELEMENTS(smaller than a paragraph)-->
<!-- Elements that can be used within text (such as -->
<!-- inside a title) or inside a paragraph -->
<!-- ========================================================== -->
<!-- HIGHLIGHT OR EMPHASIS TAGS -->
<!ENTITY % emphs "highlight | not | super | sub |
together" >
<!-- MISC ELEMENTS THAT FLOAT WITHIN TEXT -->
<!ENTITY % float "index.entry | pid.reflection |
reflection" >
<!-- LINKS AND CROSS REFERENCE ELEMENTS -->
<!ENTITY % links "clink | external.xref | footnote.ref |
ilink | xref | nameloc" >
<!-- GENERIC PHRASE-LEVEL ELEMENTS
(Used anywhere inside text) -->
<!ENTITY % gen.phrase "%emphs; | %float; | %links;" >
<!-- PHRASE-LEVEL TECHNICAL CONTENT ELEMENTS
(Used inside text, such as in a title) -->
<!ENTITY % tech.phrase "copyrighted | inline.math |
package.designator | package.name |
stds.body | trademarked" >
<!-- ALL PHRASE-LEVEL ELEMENTS
(Used anywhere inside text) -->
<!ENTITY % all.phrase "%gen.phrase; | %tech.phrase;" >
<!-- ========================================================== -->
<!-- INSIDE a PARAGRAPH ELEMENTS -->
<!-- Elements that are smaller than a paragraph and -->
<!-- can only be used inside a paragraph but that -->
<!-- are too large or too detailed to be used just -->
<!-- anywhere inside text, such as within a title -->
<!-- ========================================================== -->
<!-- INSIDE A PARAGRAPH CONTENT ELEMENTS -->
<!ENTITY % tech.in.para "compatible.prod | platforms.supported |
memory.capacity" >
<!-- INSIDE A PARAGRAPH ADMIN ELEMENTS -->
<!ENTITY % admin.in.para "address | contact.info |
disclaimer | enterprise |
license.statement | testhouse.approval |
trademark.statement" >
<!-- ========================================================== -->
<!-- PARAGRAPH-LEVEL (paragraph-like) ELEMENTS -->
<!-- Elements that can be used where a paragraph -->
<!-- could be used (such as a caution or warning) -->
<!-- ========================================================== -->
<!-- SPECIAL TYPES of PARAGRAPHS (para-level)-->
<!ENTITY % spec.para "caution | note.in.text | warning" >
<!-- GENERIC STRUCTURES SAME LEVEL as PARAGRAPH
(such as lists, warnings, paragraphs,
figures, tables, avos, etc.) -->
<!ENTITY % gen.para "p | note.block | %display; | %lists; |
%spec.para;" >
<!-- GENERIC STRUCTURES SAME LEVEL as PARAGRAPH
(EXCEPT for Figure)(used inside Figures)-->
<!ENTITY % gen.para.nofig
"p | note.block | %display.nofig; |
%lists; | %spec.para;" >
<!-- GENERIC STRUCTURES SAME LEVEL as PARAGRAPH
(EXCEPT for Caution, Note in Text, Warning)
(Used inside special paras like Caution)-->
<!ENTITY % gen.para.nospec
"p | note.block | %lists; | %display;" >
<!-- PARA-LEVEL TECHNICAL CONTENT ELEMENTS -->
<!ENTITY % tech.para "code.listing | function.table" >
<!-- PARA-LEVEL ADMINISTRATIVE CONTENT ELEMS -->
<!ENTITY % admin.para "acknowledge | copyright | order.template
| patents.list | status.def |
trademarks.list" >
<!-- ALL THAT CAN BE at SAME LEVEL as PARA -->
<!ENTITY % all.para "%admin.para; | %tech.para; |
%gen.para;" >
<!-- ALL THAT CAN BE at SAME LEVEL as PARA
(EXCEPT Caution, Noteintext, & Warning) -->
<!ENTITY % all.para.nospec
"%admin.para; | %tech.para; |
%gen.para.nospec;" >
<!-- ========================================================== -->
<!-- PARA-LEVEL ELEMENTS INSIDE A TABLE CELL -->
<!-- ========================================================== -->
<!ENTITY % tbl.entry.mdl
"(#PCDATA | %all.phrase; | line | avo |
display.math | p | %lists; |
%spec.para; | code.listing | copyright |
patents.list | trademarks.list)*" >
<!-- ========================================================== -->
<!-- STRUCTURAL TABLE ELEMENTS -->
<!-- ========================================================== -->
<!-- OVERRIDES TO DEFAULTS IN EXCHANGE TABLE MODEL -->
<!-- Tables can be either SGML Tables or AVOs -->
<!ENTITY % tbl.table-main.mdl "(avo+|tgroup+)" >
<!-- Table Structures should have Common Attributes -->
<!ENTITY % bodyatt "%common.atts;" >
<!ENTITY % tbl.row.att "%common.atts;" >
<!ENTITY % tbl.entry.att "%common.atts;" >
<!-- EXCHANGE TABLE MODEL -->
<!ENTITY % xml-calstbls PUBLIC "-//Oasis Open//DTD XML Exchange Table
Model 19960430//EN//XML" "xml-exchange.ent" >
%xml-calstbls;
<!-- ========================================================== -->
<!-- DIVISION-LEVEL ELEMENTS (div.elems) -->
<!-- All elements that can be used where a titled text -->
<!-- division can be used. These divisions are named for -->
<!-- purposes of access and retrieval (such as Architectural/ -->
<!-- Functional Description, Characteristic Group & Product -->
<!-- Mechanical Info). -->
<!-- These named divisions can also be used in an individual -->
<!-- organization's authoring models to restrict where in a -->
<!-- particular document certain kinds of information can -->
<!-- occur. -->
<!-- ========================================================== -->
<!-- DIVISIONS in the PRODUCT SUMMARY -->
<!ENTITY % prod.summary "general.desc | features.summary |
available.options | application.summary |
family.summary" >
<!-- DIVISIONS ASSOCIATED WITH THE
ARCHITECTURAL/FUNCTIONAL DESCRIPTION -->
<!ENTITY % arch.func "arch.func.desc | device.programming |
instruction.set.info | memory.map |
state.info" >
<!-- DIVISIONS ASSOCIATED WITH THE
PRODUCT MECHANICAL INFORMATION -->
<!ENTITY % prod.mech "prod.mechanical.info | package.group |
shipping.container | soldering.mounting |
storage.requirements | transport.media" >
<!-- DIVISIONS-DETAILED SPECIFICATION -->
<!ENTITY % detail.spec "%arch.func; | abs.max | prod.char.info |
%prod.mech; | prod.operating.cn |
pin.out.info" >
<!-- DIVISIONS ASSOCIATED WITH SAFETY and
ENVIRONMENTAL COMPATIBILITY INFO -->
<!ENTITY % safety.envir.info
"safety | compatibility.info |
environment.impact" >
<!-- DIVISIONS ASSOCIATED WITH
SUPPORT TOOLS and ACCESSORIES -->
<!ENTITY % support.tools
"software | hardware" >
<!-- ALL DIVISION-LEVEL ELEMENTS -->
<!ENTITY % div.elems "division | application.division |
address.modes | bus.modes | %detail.spec; |
performance.info | %prod.summary; |
register.set | %safety.envir.info; |
%support.tools;" >
<!-- ========================================================== -->
<!-- GENERAL DIVISION-LEVEL CONTENT MODELS -->
<!-- (Some divisions have unique models) -->
<!-- ========================================================== -->
<!-- TECHNICAL DIVISION -->
<!-- This model is used for most of the divisions in the -->
<!-- product info part of a document. This model was designed -->
<!-- very loosely to facilitate interchange; for authoring -->
<!-- purposes, individual organizations may wish to tighten -->
<!-- the model to better meet their needs. -->
<!ENTITY % tech.div.model
"(title?, gen.note*, toc?, author.info?,
abstract?, (%gen.para; | %tech.para; |
%admin.para;)*, (%div.elems;)*)" >
<!-- GENERIC & ADMIN DIVISION -->
<!-- Model for generic sections such as table of contents or -->
<!-- back matter. As with the tech.div.model, this model was -->
<!-- designed very loosely to facilitate interchange; for -->
<!-- authoring purposes, individual organizations may wish to -->
<!-- tighten the model to better meet their particular needs. -->
<!ENTITY % gen.div.model
"(title?, gen.note*, toc?, author.info?,
abstract?, (%gen.para; | %admin.para;)*,
gen.division*)" >
<!-- ========================================================== -->
<!-- AVO CONTENT MODEL -->
<!-- ========================================================== -->
<!ENTITY % avo.model "title?, gen.note*, caption?, desc?,
avo.cc.info?" >
<!-- ========================================================== -->
<!-- SPECIAL CHARACTER SETS -->
<!-- ========================================================== -->
<!ENTITY % XML-PCHARSET PUBLIC
"+//ISO/IEC 9070/RA::A00007::US::ECIX::PCIS//ENTITIES XML-PCHARSET.ENT 19990416
Draft 1.4.1 PCIS Special Characters for XML//EN" "xml-pcharset.ent" >
%XML-PCHARSET;
<!-- ========================================================== -->
<!-- TEXT ELEMENTS -->
<!-- 1. Common Structural Elements -->
<!-- 2. Document-level Elements -->
<!-- 3. Division-level elements (div.elems) -->
<!-- 4. Generic paragraph-level elements (gen.para)-->
<!-- 5. Intermediate Elems -->
<!-- 6. Phrase- (inside text) level elements -->
<!-- (gen.phrase) -->
<!-- ADMINISTRATIVE ELEMENTS (METADATA) -->
<!-- 7. Enterprise (company) Info -->
<!-- (used in admin.info) -->
<!-- 8. Author Info (used for app notes -->
<!-- and divisions) -->
<!-- ========================================================== -->
<!-- ========================================================== -->
<!-- 1. COMMON STRUCTURAL ELEMENTS -->
<!-- ========================================================== -->
<!-- ABSTRACT -->
<!ELEMENT abstract (title?,p+) >
<!ATTLIST abstract %common.atts; >
<!-- GENERAL NOTE -->
<!-- Always associated with a title, gen.notes apply to -->
<!-- everything in the division or object the title is -->
<!-- associated with until the next titled object. If a div -->
<!-- with a gen.note on its title then contains a nested div, -->
<!-- the gen.note only applies to the container div. Not used -->
<!-- with generated titles. -->
<!ELEMENT gen.note (%gen.para.nospec; |
function.table)+ >
<!ATTLIST gen.note %data.atts; >
<!-- PARAGRAPH -->
<!ELEMENT p (#PCDATA | %display; | %lists; |
%all.phrase; | %admin.in.para; |
%tech.in.para;)* >
<!ATTLIST p %common.atts; >
<!-- TITLE -->
<!ELEMENT title (#PCDATA | %all.phrase;)* >
<!ATTLIST title %gen.atts; >
<!-- TABLE of CONTENTS -->
<!ELEMENT toc (%gen.div.model;) >
<!ATTLIST toc %gen.atts; >
<!-- A SINGLE "LINE" OF TEXT -->
<!-- (rarely used, except, for example, in e.g., code listing) -->
<!-- The attribute "indent.level" is used to indicate the -->
<!-- relative indent level when printed or displayed (this is -->
<!-- a simple number arrangement where 0 means flush with -->
<!-- current left margin, 1 means one level of indent, etc.). -->
<!-- When creating authoring or display DTDs, companies are -->
<!-- encouraged to map each number to an appropriate real -->
<!-- indentation amount, such as 1=2 cm, 2=4cm, etc. -->
<!ELEMENT line (#PCDATA | %all.phrase;)* >
<!ATTLIST line
indent.level NMTOKEN "0" >
<!-- ========================================================== -->
<!-- 2. DOCUMENT-LEVEL ELEMENTS -->
<!-- SUPPLEMENTARY INFORMATION (Backmatter) -->
<!-- ========================================================== -->
<!ELEMENT supplementary.info (%gen.div.model;)+ >
<!ATTLIST supplementary.info
%data.atts; >
<!-- ========================================================== -->
<!-- 3. DIVISION LEVEL ELEMENTS -->
<!-- ========================================================== -->
<!-- PRODUCT TECHNICAL DIVISION -->
<!-- Heads and Text in technical info, includes all named -->
<!-- sections like abs.max and application.summary -->
<!ELEMENT division (%tech.div.model;) >
<!ATTLIST division %common.atts; >
<!-- GENERAL (NON-TECHNICAL) DIVISION -->
<!-- Heads and Text -->
<!ELEMENT gen.division (%gen.div.model;) >
<!ATTLIST gen.division %common.atts; >
<!-- ========================================================== -->
<!-- DIVISIONS: PRODUCT SUMMARY -->
<!-- For all named division level elements, the "div.class" -->
<!-- attribute is used to supply information on the class or -->
<!-- type of data in the division; the "div.atts" include a -->
<!-- required id, and implied label, product ids (pids), and -->
<!-- lang.id attributes. -->
<!-- ========================================================== -->
<!-- GENERAL DESCRIPTION -->
<!ELEMENT general.desc (%tech.div.model;) >
<!ATTLIST general.desc
div.class (%classes;) "prod.summary"
%div.atts; >
<!-- FEATURES SUMMARY -->
<!ELEMENT features.summary (%tech.div.model;) >
<!ATTLIST features.summary
div.class (%classes;) "prod.summary"
%div.atts; >
<!-- AVAILABLE OPTIONS -->
<!ELEMENT available.options (%tech.div.model;) >
<!ATTLIST available.options
div.class (%classes;) "prod.summary"
%div.atts; >
<!-- APPLICATIONS SUMMARY -->
<!ELEMENT application.summary (%tech.div.model;) >
<!ATTLIST application.summary
div.class (%classes;) "prod.summary"
%div.atts; >
<!-- PRODUCT FAMILY SUMMARY/OVERVIEW -->
<!ELEMENT family.summary
(%tech.div.model;) >
<!ATTLIST family.summary
div.class (%classes;) "prod.summary"
%div.atts; >
<!-- ========================================================== -->
<!-- DIVISIONS: DETAILED SPECIFICATIONS -->
<!-- ARCHITECTURAL/FUNCTIONAL DESCRIPTION -->
<!-- ========================================================== -->
<!ELEMENT arch.func.desc (%tech.div.model;) >
<!ATTLIST arch.func.desc
div.class (%classes;) "detail.spec"
%div.atts; >
<!-- INSTRUCTION SET INFORMATION -->
<!ELEMENT instruction.set.info (%tech.div.model;) >
<!ATTLIST instruction.set.info
div.class (%classes;) "detail.spec"
%div.atts; >
<!-- DEVICE PROGRAMMING -->
<!ELEMENT device.programming (%tech.div.model;) >
<!ATTLIST device.programming
div.class (%classes;) "detail.spec"
%div.atts; >
<!-- MEMORY MAP -->
<!ELEMENT memory.map (%tech.div.model;) >
<!ATTLIST memory.map
div.class (%classes;) "detail.spec"
%div.atts; >
<!-- STATE INFORMATION -->
<!ELEMENT state.info (%tech.div.model;) >
<!ATTLIST state.info
div.class (%classes;) "detail.spec"
%div.atts; >
<!-- ========================================================== -->
<!-- DIVISIONS: DETAILED SPECIFICATIONS -->
<!-- PRODUCT MECHANICAL INFORMATION -->
<!-- ========================================================== -->
<!ELEMENT prod.mechanical.info (%tech.div.model;) >
<!ATTLIST prod.mechanical.info
div.class (%classes;) "detail.spec"
%div.atts; >
<!-- PACKAGE GROUP -->
<!ELEMENT package.group (title?, (package.draw |
product.order.info)*) >
<!ATTLIST package.group
div.class (%classes;) "detail.spec"
%div.atts; >
<!-- PACKAGE DRAWING -->
<!ELEMENT package.draw (%avo.model;) >
<!ATTLIST package.draw %avo.atts; >
<!-- PRODUCT ORDER INFORMATION -->
<!ELEMENT product.order.info (#PCDATA | break | pid.reflection)* >
<!ATTLIST product.order.info
%data.atts; >
<!-- SHIPPING CONTAINER -->
<!ELEMENT shipping.container (%tech.div.model;) >
<!ATTLIST shipping.container
div.class (%classes;) "detail.spec"
%div.atts; >
<!-- SOLDERING AND MOUNTING -->
<!ELEMENT soldering.mounting (%tech.div.model;) >
<!ATTLIST soldering.mounting
div.class (%classes;) "detail.spec"
%div.atts; >
<!-- STORAGE REQUIREMENTS -->
<!ELEMENT storage.requirements (%tech.div.model;) >
<!ATTLIST storage.requirements
div.class (%classes;) "detail.spec"
%div.atts; >
<!-- TRANSPORT MEDIA -->
<!ELEMENT transport.media (%tech.div.model;) >
<!ATTLIST transport.media
div.class (%classes;) "detail.spec"
%div.atts; >
<!-- ========================================================== -->
<!-- DIVISIONS: DETAILED SPECIFICATIONS -->
<!-- ========================================================== -->
<!-- ABSOLUTE MAXIMUM -->
<!ELEMENT abs.max (%tech.div.model;) >
<!ATTLIST abs.max
div.class (%classes;) "detail.spec"
%div.atts; >
<!-- ADDRESS MODES -->
<!ELEMENT address.modes (%tech.div.model;) >
<!ATTLIST address.modes
div.class (%classes;) "detail.spec"
%div.atts; >
<!-- PRODUCT CHARACTERIZATION INFO -->
<!ELEMENT prod.char.info (%tech.div.model;) >
<!ATTLIST prod.char.info
div.class (%classes;) "detail.spec"
%div.atts; >
<!-- PRODUCT OPERATING CONDITIONS -->
<!ELEMENT prod.operating.cn (%tech.div.model;) >
<!ATTLIST prod.operating.cn
div.class (%classes;) "detail.spec"
%div.atts; >
<!-- ========================================================== -->
<!-- DIVISIONS: APPLICATION INFORMATION -->
<!-- ========================================================== -->
<!-- APPLICATION DIVISION -->
<!-- For info on how to use the product - as opposed to how -->
<!-- the product performs -->
<!ELEMENT application.division (%tech.div.model;) >
<!ATTLIST application.division
div.class (%classes;) "application.info"
%div.atts; >
<!-- ========================================================== -->
<!-- DIVISIONS: -->
<!-- SAFETY AND ENVIRONMENTAL COMPATIBILITY -->
<!-- ========================================================== -->
<!-- SAFETY INFORMATION -->
<!ELEMENT safety (%tech.div.model;) >
<!ATTLIST safety
div.class (%classes;) "safety.envir.info"
%div.atts; >
<!-- COMPATIBILITY INFORMATION -->
<!-- The attribute "compat.type" is used to specify the type -->
<!-- of compatibility information, such as EMC, ECP, etc. -->
<!ELEMENT compatibility.info (%tech.div.model;) >
<!ATTLIST compatibility.info
compat.type CDATA #IMPLIED
div.class (%classes;) "safety.envir.info"
%div.atts; >
<!-- ENVIRONMENTAL IMPACT INFORMATION -->
<!-- The attribute "when.impact" is used to specify the timing -->
<!-- of one or more environmental impact events, such as -->
<!-- manufacturing, transport, storage, operation, disposal, -->
<!-- etc. -->
<!ELEMENT environment.impact (%tech.div.model;) >
<!ATTLIST environment.impact
when.impact NMTOKENS #IMPLIED
div.class (%classes;) "safety.envir.info"
%div.atts; >
<!-- ========================================================== -->
<!-- DIVISIONS: SUPPORT TOOLS & ACCESSORIES -->
<!-- ========================================================== -->
<!-- SOFTWARE TOOLS & ACCESSORIES -->
<!ELEMENT software (%tech.div.model;) >
<!ATTLIST software
div.class (%classes;) "support.tools"
%div.atts; >
<!-- HARDWARE TOOLS & ACCESSORIES -->
<!ELEMENT hardware (%tech.div.model;) >
<!ATTLIST hardware
div.class (%classes;) "support.tools"
%div.atts; >
<!-- ========================================================== -->
<!-- DIVISIONS: FLOATING CONTENT-BASED -->
<!-- ========================================================== -->
<!-- BUS MODES -->
<!ELEMENT bus.modes (%tech.div.model;) >
<!ATTLIST bus.modes %common.atts; >
<!-- PERFORMANCE INFORMATION -->
<!ELEMENT performance.info (%tech.div.model;) >
<!ATTLIST performance.info
%common.atts; >
<!-- REGISTER SETS -->
<!ELEMENT register.set (%tech.div.model;) >
<!ATTLIST register.set %common.atts; >
<!-- ========================================================== -->
<!-- 4. PARAGRAPH-LEVEL ELEMENTS -->
<!-- a. Technical -->
<!-- b. Administrative -->
<!-- c. Special Paras (caution, note, warn) -->
<!-- ========================================================== -->
<!-- ========================================================== -->
<!-- PARAGRAPH-LEVEL ELEMENTS (TECHNICAL) -->
<!-- ========================================================== -->
<!-- CODE LISTING -->
<!-- Assumed to be source; executable listings would be -->
<!-- exchanged as models and referenced by an <xref> -->
<!-- The "code.language" attribute is used to specify the -->
<!-- computer language or code fragment used. -->
<!ELEMENT code.listing (title?,line+) >
<!ATTLIST code.listing
code.language CDATA #IMPLIED
%common.atts; >
<!-- FUNCTION TABLE -->
<!ELEMENT function.table (title?, (%gen.para;)*) >
<!ATTLIST function.table
%common.atts; >
<!-- PIN OUT INFORMATION -->
<!ELEMENT pin.out.info (%tech.div.model;) >
<!ATTLIST pin.out.info %common.atts; >
<!-- ========================================================== -->
<!-- PARAGRAPH-LEVEL ELEMENTS(ADMINISTRATIVE)-->
<!-- ========================================================== -->
<!-- ACKNOWLEDGEMENTS -->
<!ELEMENT acknowledge (title?,(%gen.para;)*) >
<!ATTLIST acknowledge %common.atts; >
<!-- COPYRIGHT NOTICE -->
<!ELEMENT copyright (title?,(%gen.para;)*) >
<!ATTLIST copyright %common.atts; >
<!-- ORDERING INFORMATION TEMPLATE -->
<!ELEMENT order.template (title?,(%gen.para;)*) >
<!ATTLIST order.template
%common.atts; >
<!-- PATENTS INFORMATION -->
<!ELEMENT patents.list (title?,(patent.statement)+) >
<!ATTLIST patents.list %common.atts; >
<!-- PATENT STATEMENT -->
<!ELEMENT patent.statement (#PCDATA | patent.owner |
patent.authority)* >
<!ATTLIST patent.statement
%data.atts; >
<!-- PATENT OWNER -->
<!ELEMENT patent.owner (#PCDATA | %emphs;)* >
<!ATTLIST patent.owner %data.atts; >
<!-- PATENT AUTHORITY -->
<!ELEMENT patent.authority (#PCDATA | %emphs;)* >
<!ATTLIST patent.authority
%data.atts; >
<!-- STATUS DEFINITIONS -->
<!ELEMENT status.def (title?,(%gen.para;)*) >
<!ATTLIST status.def %common.atts; >
<!-- TRADEMARKS LIST -->
<!-- Usually a collection of Trademark Statements -->
<!-- The element <trademarks.list> is paragraph-level; -->
<!-- The element <trademark.statement> is inside-paragraph- -->
<!-- level, and the element <trademarked> is tech-phrase- -->
<!-- level. -->
<!ELEMENT trademarks.list (title?, (%gen.para; |
trademark.statement)+) >
<!ATTLIST trademarks.list
%common.atts; >
<!-- ========================================================== -->
<!-- SPECIAL PARAGRAPH-LIKE ELEMENTS -->
<!-- (the entity spec.para) -->
<!-- ========================================================== -->
<!-- NOTE in TEXT -->
<!-- An ordinary paragraph in a flow of text that usually -->
<!-- begins with the characters "NOTE:". This is NOT a -->
<!-- footnote or note on a table. -->
<!ELEMENT note.in.text (title?,(%all.para.nospec;)+ ) >
<!ATTLIST note.in.text %common.atts; >
<!-- CAUTION -->
<!-- The attribute "warning.type" is used to specify the type -->
<!-- of warning or hazard. -->
<!ELEMENT caution (title?,(%all.para.nospec;)+ ) >
<!ATTLIST caution
warn.type (%warn.type;) #IMPLIED
%common.atts; >
<!-- WARNING -->
<!-- The attribute "warning.type" is used to specify the type -->
<!-- of warning or hazard. -->
<!ELEMENT warning (title?,(%all.para.nospec;)+ ) >
<!ATTLIST warning
warn.type (%warn.type;) #IMPLIED
%common.atts; >
<!-- ========================================================== -->
<!-- OTHER PARAGRAPH-LIKE ELEMENTS -->
<!-- (part of the entity gen.para) -->
<!-- ========================================================== -->
<!-- NOTE BLOCK -->
<!ELEMENT note.block (title?, footnote+) >
<!ATTLIST note.block %data.atts; >
<!-- FOOTNOTE -->
<!ELEMENT footnote (title?,(%all.para;)*) >
<!ATTLIST footnote %common.atts; >
<!-- ========================================================== -->
<!-- 5. INTERMEDIATE ELEMENTS -->
<!-- May be used inside a paragraph or at the same level as -->
<!-- a paragraph (gen.para) in certain models -->
<!-- a. Lists -->
<!-- b. Display objects -->
<!-- ========================================================== -->
<!-- ========================================================== -->
<!-- LISTS (Intermediate level elements) -->
<!-- (Part of gen.para) -->
<!-- ========================================================== -->
<!-- ========================================================== -->
<!-- LISTS: DEFINITION LIST -->
<!-- ========================================================== -->
<!-- DEFINITION LIST -->
<!ELEMENT def.list (title?,
(term.heading, def.heading?)?,
((def.item+, def.block*) |
def.block+)) >
<!ATTLIST def.list %common.atts; >
<!-- DEFINITION LIST TERM HEADING -->
<!ELEMENT term.heading (#PCDATA | %all.phrase;)* >
<!ATTLIST term.heading %data.atts; >
<!-- DEFINITION LIST DEFINITION HEADING-->
<!ELEMENT def.heading (#PCDATA | %all.phrase;)* >
<!ATTLIST def.heading %data.atts; >
<!-- DEFINITION LIST ITEM -->
<!ELEMENT def.item (def.term, def) >
<!ATTLIST def.item %data.atts; >
<!-- DEFINITION LIST TERM -->
<!ELEMENT def.term (#PCDATA | %all.phrase;)* >
<!ATTLIST def.term %data.atts; >
<!-- DEFINITION -->
<!ELEMENT def (%all.para;)+ >
<!ATTLIST def %data.atts; >
<!-- DEFINITION LIST BLOCK OF ITEMS -->
<!ELEMENT def.block (title?, def.item+) >
<!ATTLIST def.block %data.atts; >
<!-- ========================================================== -->
<!-- LISTS: ORDERED AND UNORDERED -->
<!-- ========================================================== -->
<!-- ORDERED LIST -->
<!-- (Numbered or sequential list) -->
<!ELEMENT ordered.list (title?,
((li+, li.block*) | li.block+)) >
<!ATTLIST ordered.list %common.atts; >
<!-- LIST ITEM -->
<!ELEMENT li (%all.para;)+ >
<!ATTLIST li %common.atts; >
<!-- LIST ITEM BLOCK -->
<!ELEMENT li.block (title?,li+) >
<!ATTLIST li.block %data.atts; >
<!-- UNORDERED LIST -->
<!-- Bulleted or simple (plain) list -->
<!-- The "list.style" attribute is used to indicate whether -->
<!-- the list is simple or bulleted. -->
<!ELEMENT unordered.list (title?, ((li+,li.block*) |
li.block+)) >
<!ATTLIST unordered.list
list.style (simple|bulleted) "bulleted"
%common.atts; >
<!-- ========================================================== -->
<!-- DISPLAY ELEMENT: AVO (Intermediate) -->
<!-- ========================================================== -->
<!-- AUDIO/VISUAL OBJECT (AVO) -->
<!ELEMENT avo (%avo.model;) >
<!ATTLIST avo %avo.atts; >
<!-- AUDIO/VISUAL OBJECT CHARACTERISTICS
INFORMATION -->
<!-- Used to associate groups of characteristics that are -->
<!-- presented as an Avo, for example Typical Performance -->
<!-- Characteristics Curves, with that avo. -->
<!-- The "cc.group.ids" attribute is used to list the IDs of -->
<!-- the applicable Characteristic Groups, and the -->
<!-- "cn.group.ids is used to list the IDs of the applicable -->
<!-- Condition Groups. -->
<!-- The "x.begin" and "x.end" attributes apply to graphic -->
<!-- depictions of groups of characteristics, such as Typical -->
<!-- Performance Characteristics curves. "X.begin" holds the -->
<!-- independent variable start value and gives the start -->
<!-- value of the scale for searching, while "x.end" holds the -->
<!-- independent variable ending value and gives the end value -->
<!-- of the scale for searching. -->
<!ELEMENT avo.cc.info EMPTY >
<!ATTLIST avo.cc.info
cc.group.ids IDREFS #IMPLIED
cn.group.ids IDREFS #IMPLIED
x.begin CDATA #IMPLIED
x.end CDATA #IMPLIED >
<!-- ========================================================== -->
<!-- DISPLAY ELEMENTS: AVO GROUP(Intermediate)-->
<!-- ========================================================== -->
<!-- AVO GROUP -->
<!-- The element <desc> in an avo.group is used to provide a -->
<!-- prose description of the avos in the group and their -->
<!-- relationships for anyone who is unable to view the avos -->
<!-- directly. -->
<!ELEMENT avo.group (title?, gen.note*, caption?, desc?,
avo+) >
<!ATTLIST avo.group %common.atts; >
<!-- ========================================================== -->
<!-- DISPLAY ELEMENTS: FIGURE (Intermediate) -->
<!-- ========================================================== -->
<!-- FIGURE -->
<!ELEMENT fig (title?, caption?, desc?,
(%gen.para.nofig; | %admin.para; |
%tech.para;)+ ) >
<!ATTLIST fig %common.atts; >
<!-- FIGURE CAPTION -->
<!ELEMENT caption (#PCDATA | %all.phrase;)* >
<!ATTLIST caption %data.atts; >
<!-- DESCRIPTION -->
<!-- When used as part of the content model for an <avo.group> -->
<!-- or a <figure>, <desc> is used to hold a prose description -->
<!-- of the contents and any relationships among them, based -->
<!-- on an assumption that the receiver of the document either -->
<!-- can not see or will not understand the actual image(s). -->
<!ELEMENT desc (p+) >
<!ATTLIST desc %data.atts; >
<!-- ========================================================== -->
<!-- OTHER DISPLAY ELEMENTS (Intermediate) -->
<!-- ========================================================== -->
<!-- CALLED-OUT MATH OR EQUATIONS -->
<!ELEMENT display.math (#PCDATA | avo | %gen.phrase; |
break)* >
<!ATTLIST display.math %common.atts; >
<!-- BREAK -->
<!-- Used to force a line break in content for more readable -->
<!-- or understandable presentation. -->
<!ELEMENT break EMPTY >
<!-- ========================================================== -->
<!-- 6. PHRASE-LEVEL ELEMENTS -->
<!-- (occur inside text or inside paragraphs)-->
<!-- ========================================================== -->
<!-- ========================================================== -->
<!-- INDEX ELEMENTS (gen.phrase) -->
<!-- (Index entry attributes from TEI P2 1992) -->
<!-- ========================================================== -->
<!-- INDEX ENTRY -->
<!-- The attribute "index" identifies which index an entry -->
<!-- belongs to; the attribute "level1" indicates a first-level-->
<!-- index entry (or the only level, if there are no others; -->
<!-- the attribute "level2" indicates a second-level index -->
<!-- entry, if any; the attribute "level3" indicates a third- -->
<!-- level index entry, if any; and the attribute "level4" -->
<!-- indicates a fourth-level index entry, if any. -->
<!-- The attributes "level1" through "level4" are used to -->
<!-- identify words from which an index can be generated -->
<!-- automatically. The element <index.entry> itself is EMPTY.-->
<!-- It does NOT surround text. -->
<!ELEMENT index.entry EMPTY >
<!ATTLIST index.entry
index NMTOKENS #IMPLIED
level1 CDATA #REQUIRED
level2 CDATA #IMPLIED
level3 CDATA #IMPLIED
level4 CDATA #IMPLIED >
<!-- ========================================================== -->
<!-- INTERNAL LINKS & CROSS-REFERENCES -->
<!-- (in gen.phrase) -->
<!-- ========================================================== -->
<!-- FOOTNOTE REFERENCE -->
<!-- The "IDREF" attribute supplies the ID of the associated -->
<!-- footnote. -->
<!ELEMENT footnote.ref (#PCDATA | %emphs;)* >
<!ATTLIST footnote.ref
IDREF IDREF #REQUIRED
HyNames CDATA #FIXED "linkend IDREF"
%clink.atts; >
<!-- CROSS-REFERENCE -->
<!-- The "IDREF" attribute contains the ID of the referenced -->
<!-- item; the "elem.type" attribute tells what kind of -->
<!-- element is being referenced (figure, table, division, -->
<!-- display math, step item, or bibliography); the attribute -->
<!-- "show.page.no" tells an application whether to include a -->
<!-- page number in the cross-reference. -->
<!ELEMENT xref (#PCDATA | %emphs;)* >
<!ATTLIST xref
IDREF IDREF #IMPLIED
elem.type (fig | table | div | display.math |
step | biblio) #IMPLIED
show.page.no
%yesorno; #IMPLIED
HyNames CDATA #FIXED "linkend IDREF"
%clink.atts;
ID ID #IMPLIED >
<!-- HYTIME CLINK (Contextual Link) -->
<!ELEMENT clink EMPTY >
<!ATTLIST clink
%clink.atts;
linkend IDREF #REQUIRED
ID ID #IMPLIED >
<!-- ========================================================== -->
<!-- EXTERNAL LINKS & CROSS REFERENCES -->
<!-- (in gen.phrase) -->
<!-- ========================================================== -->
<!-- EXTERNAL CROSS-REFERENCE -->
<!-- The attribute "linkend" is used as a pointer to the -->
<!-- referenced item. -->
<!ELEMENT external.xref (#PCDATA | %emphs;)* >
<!ATTLIST external.xref
linkend NMTOKEN #REQUIRED
%clink.atts;
ID ID #IMPLIED >
<!-- NAME LOCATION ADDRESS
(for external link) -->
<!ELEMENT nameloc (nmlist)+ >
<!ATTLIST nameloc
HyTime NMTOKEN #FIXED "nameloc"
ID ID #REQUIRED >
<!-- NAME LIST SPEC (for external link)-->
<!-- The "nametype" attribute is used to specify what type of -->
<!-- item is being referenced - an element, an entity, or -->
<!-- unified. -->
<!ELEMENT nmlist (#PCDATA) >
<!ATTLIST nmlist
HyTime NMTOKEN #FIXED "nmlist"
nametype (element | entity | unified) "element"
docorsub ENTITY #IMPLIED
ID ID #IMPLIED >
<!-- HYTIME ILINK (Independent Link) -->
<!-- The "HyTime" attribute is used to tell a HyTime engine -->
<!-- the type of link; the "linkends" attribute is used to -->
<!-- name the place(s) to which the link points; the -->
<!-- "anchrole" attribute is used to describe the HyTime anchor-->
<!-- roles; the "extra" attribute is used to contain the -->
<!-- external access traversal rule(s); the "intra" attribute -->
<!-- is used to contain the internal access traversal rule(s); -->
<!-- the "endterm" attribute is used to contain information -->
<!-- about the linkends; and the "aggtrav" attribute is used -->
<!-- to contain information about the traversal of agglink -->
<!-- anchors. -->
<!ELEMENT ilink EMPTY >
<!ATTLIST ilink
HyTime NMTOKEN #FIXED "ilink"
linkends NMTOKENS #REQUIRED
anchrole NMTOKENS #IMPLIED
extra NMTOKENS #IMPLIED
intra NMTOKENS #IMPLIED
endterms NMTOKENS #IMPLIED
aggtrav NMTOKENS #IMPLIED
ID ID #IMPLIED >
<!-- ========================================================== -->
<!-- FLOATING ELEMENTS (in gen.phrase) -->
<!-- ========================================================== -->
<!-- PRODUCT ID REFLECTION -->
<!-- Created to permit the reflection of product id -->
<!-- information throughout a document, including within the -->
<!-- <source.p> element. This element will be TRANSFORMED BY -->
<!-- AN APPLICATION (upon export) into the appropriate -->
<!-- character string (as defined in the original pid element).-->
<!-- NOTE: any of the three types of pids may be reflected. -->
<!-- The content of pid.reflection on export is defined as -->
<!-- #PCDATA and not as pid.seg+ (the content models for pids) -->
<!-- so that the pid.reflection is shown as a unit, not as a -->
<!-- series of segment reflections. -->
<!ELEMENT pid.reflection (#PCDATA) >
<!ATTLIST pid.reflection
prod.ref IDREF #REQUIRED >
<!-- REFLECTION -->
<!-- CONNECTING SOURCES WITH RENDERINGS -->
<!-- The place where something (a value, a comment, or some -->
<!-- other ID'd structure from a "source" such as Char Source -->
<!-- or Cond Source) is used. The "reflection" is logically -->
<!-- "replaced" with the contents of the element it reflects, -->
<!-- as indicated by the "source.ref" attribute. -->
<!ELEMENT reflection (#PCDATA | %all.phrase; |
%all.para;)* >
<!ATTLIST reflection
source.ref IDREF #REQUIRED >
<!-- ========================================================== -->
<!-- EMPHASIS ELEMENTS (gen.phrase) -->
<!-- ========================================================== -->
<!-- HIGHLIGHT (OR EMPHASIS) -->
<!-- The "highlight.pref" attribute is used to specify the -->
<!-- preferred rendering for this element. -->
<!ELEMENT highlight (#PCDATA | %gen.phrase;)* >
<!ATTLIST highlight
highlight.pref %rend.type; #IMPLIED >
<!-- NEGATION INDICATION -->
<!-- Frequently displayed as an overbar or pound sign -->
<!-- following the negated text. This element indicates the -->
<!-- logical negation, and can be associated with an -->
<!-- appropriate presentation style through a style sheet or -->
<!-- other means. -->
<!ELEMENT not (#PCDATA | %gen.phrase;)* >
<!-- SUPERSCRIPT -->
<!ELEMENT super (#PCDATA | %gen.phrase;)* >
<!-- SUBSCRIPT -->
<!ELEMENT sub (#PCDATA | %gen.phrase;)* >
<!-- TOGETHER -->
<!-- This element is used to mark text that must be split -->
<!-- across a display boundary such as a line, column, page, -->
<!-- or screen and is not otherwise named or defined. -->
<!ELEMENT together (#PCDATA | %gen.phrase;)* >
<!-- ========================================================== -->
<!-- ADMINISTRATIVE CONTENT ELEMENTS -->
<!-- (the entity admin.in.para) -->
<!-- ========================================================== -->
<!-- ADDRESS -->
<!ELEMENT address (#PCDATA | line | %gen.phrase;)* >
<!ATTLIST address %tech.atts; >
<!-- CONTACT INFORMATION -->
<!ELEMENT contact.info (#PCDATA | title | %gen.phrase; |
line | enterprise | person)* >
<!ATTLIST contact.info %tech.atts; >
<!-- DISCLAIMER -->
<!ELEMENT disclaimer (#PCDATA | %all.phrase;)* >
<!ATTLIST disclaimer %tech.atts; >
<!-- LICENSE STATEMENT -->
<!ELEMENT license.statement (#PCDATA | %all.phrase;)* >
<!ATTLIST license.statement
%tech.atts; >
<!-- TEST HOUSE APPROVAL -->
<!ELEMENT testhouse.approval (#PCDATA | %all.phrase;)* >
<!ATTLIST testhouse.approval
%tech.atts; >
<!-- TRADEMARK STATEMENT -->
<!-- This statement, usually one line, says that something, -->
<!-- for example a product name, is a trademark or registered -->
<!-- trademark of an enterprise. -->
<!-- The element <trademarks.list> is para-level and can -->
<!-- contain one or more <trademark.statement>s; -->
<!-- The element <trademark.statement> is inside-para-level; -->
<!-- and the element <trademarked> is tech-phrase-level. -->
<!ELEMENT trademark.statement (#PCDATA | %all.phrase;)* >
<!ATTLIST trademark.statement
%tech.atts; >
<!-- ========================================================== -->
<!-- TECHNICAL INSIDE A PARAGRAPH -->
<!-- (the entity tech.in.para) -->
<!-- ========================================================== -->
<!-- COMPATIBLE or RELATED PRODUCTS -->
<!ELEMENT compatible.prod (#PCDATA | %all.phrase;)* >
<!ATTLIST compatible.prod
%tech.atts; >
<!-- PLATFORMS SUPPORTED -->
<!ELEMENT platforms.supported (#PCDATA | %all.phrase;)* >
<!ATTLIST platforms.supported
%tech.atts; >
<!-- MEMORY CAPACITY -->
<!-- The attribute "memory.type" is used to specify the type -->
<!-- of memory (such as RAM, ROM, EPROM, CACHE, etc.). -->
<!ELEMENT memory.capacity (#PCDATA | %all.phrase;)* >
<!ATTLIST memory.capacity
memory.type CDATA #IMPLIED
%tech.atts; >
<!-- ========================================================== -->
<!-- TECHNICAL CONTENT RELATED FLOATERS -->
<!-- (the entity tech.phrase) -->
<!-- ========================================================== -->
<!-- COPYRIGHTED -->
<!-- This element surrounds a name that is under copyright to -->
<!-- an enterprise. The attribute "copyright.owner" is used -->
<!-- to specify the holder of the copyright. -->
<!ELEMENT copyrighted (#PCDATA | %all.phrase;)* >
<!ATTLIST copyrighted
copyright.owner CDATA #IMPLIED >
<!-- INLINE MATH OR EQUATIONS -->
<!ELEMENT inline.math (#PCDATA | %gen.phrase; | avo)* >
<!-- PACKAGE DESIGNATOR -->
<!ELEMENT package.designator (#PCDATA | %gen.phrase;)* >
<!-- PACKAGE NAME -->
<!-- The attribute "std" is used to specify the name of the -->
<!-- standard(s) if this is a standard package; the attribute -->
<!-- "stds.body" is used to specify the name of standards body,-->
<!-- such as JEDEC, IEEE, etc., which defines the standard. -->
<!ELEMENT package.name (#PCDATA | %gen.phrase;)* >
<!ATTLIST package.name
std NMTOKENS #IMPLIED
stds.body CDATA #IMPLIED >
<!-- STANDARDS BODY -->
<!-- This element is used to surround the name of a standards -->
<!-- body used in the text of a document; the attribute -->
<!-- "package.std" is used to indicate if the name of the -->
<!-- standards body is being used in reference to a package -->
<!-- standard; the attribute "std" is used to contain the -->
<!-- name or designator of a standard. -->
<!ELEMENT stds.body (#PCDATA | %gen.phrase;)* >
<!ATTLIST stds.body
package.std %yesorno; #IMPLIED
std CDATA #IMPLIED >
<!-- TRADEMARKED -->
<!-- This element surrounds the name of a product (service, -->
<!-- etc.) that is a trademark of a particular enterprise. -->
<!-- The element <trademarks.list> is para-level; the element -->
<!-- <trademark.statement> is inside-paras-level, and this -->
<!-- element, <trademarked>, is tech-phrase-level. -->
<!-- The attribute "tm.owner" is used to specify the name of -->
<!-- the company which holds the trademark. -->
<!ELEMENT trademarked (#PCDATA | %gen.phrase;)* >
<!ATTLIST trademarked
tm.owner CDATA #IMPLIED >
<!-- ========================================================== -->
<!-- 7. ADMINISTRATIVE INFORMATION -->
<!-- ========================================================== -->
<!-- ========================================================== -->
<!-- ENTERPRISE (COMPANY) IDENTIFICATION INFORMATION -->
<!-- (This metadata is gathered for convenience at start of doc -->
<!-- ========================================================== -->
<!-- ENTERPRISE INFORMATION -->
<!ELEMENT enterprise.info (enterprise, enterprise.isbn,
(%gen.para;)*) >
<!ATTLIST enterprise.info
%data.atts; >
<!-- ENTERPRISE -->
<!ELEMENT enterprise (name, address?) >
<!ATTLIST enterprise %data.atts; >
<!-- NAME -->
<!ELEMENT name (#PCDATA | %gen.phrase;)* >
<!ATTLIST name %data.atts; >
<!-- ENTERPRISE ISBN PREFIX -->
<!ELEMENT enterprise.isbn (#PCDATA) >
<!ATTLIST enterprise.isbn
%data.atts; >
<!-- ========================================================== -->
<!-- AUTHOR INFORMATION -->
<!-- The attribute "display" is used to indicate if the -->
<!-- author(s') name(s) print or display with the document. -->
<!-- ========================================================== -->
<!ELEMENT author.info (author)+ >
<!ATTLIST author.info
display %yesorno; #IMPLIED
%data.atts; >
<!-- AUTHOR -->
<!ELEMENT author (enterprise | person)+ >
<!ATTLIST author %data.atts; >
<!-- PERSON IDENTIFIER -->
<!ELEMENT person (name, address?) >
<!ATTLIST person %data.atts; >
<!-- ========== END OF XML-PCIS BASIC DTD FRAGMENT ========= -->
<!-- Formal Public Identifier:
"+//ISO/IEC 9070/RA::A00007::US::ECIX::PCIS//DTD XML-PSOURCES.ENT 19990514
Draft 1.4.2 PCIS CCs, CNs, Conns, Models, Tools, Product IDs//EN"
-->
<!-- ========================================================== -->
<!-- Copyright Notice -->
<!-- ========================================================== -->
<!--
Copyright (c) 1998, 1999 by Silicon Integration
Initiative, Inc. (Si2) (DUNS No. 62-191-1718).
All Rights Reserved Worldwide. Permission to use, copy,
and distribute this DTD for any purpose subject to the
following restrictions:
Permission is granted for verbatim copy and distribution
only, of this material, in any medium, provided that you
publish on each copy this copyright notice and disclaimer
of warranty.
Si2 makes no representation about the suitability of the
DTD for any purpose nor regarding any claims made by
products which use it. It is provided "as is" without
expressed or implied warranty.
Si2 may revise this DTD from time to time without notice.
-->
<!-- ========================================================== -->
<!-- ========================================================== -->
<!-- NAME: XML Version of PCIS SOURCES MODULE -->
<!-- (File = XML-PSOURCES.ENT) -->
<!-- -->
<!-- PART OF: Pinnacles Component Information Standard (PCIS)-->
<!-- PURPOSE: Define elements for exchange of source data, -->
<!-- such as models and parametric information, for -->
<!-- example Electrical Characteristics -->
<!-- CONTENT: Contains all elements for: -->
<!-- Text to be reflected or interpreted -->
<!-- 1. Characteristics Source -->
<!-- 2. Conditions Source -->
<!-- 3. Characteristic & Condition Group Sources -->
<!-- 4. Connection Source -->
<!-- 5. Models Source (VHDL, SPICE, etc.) -->
<!-- 6. Support Tools Information Source -->
<!-- 7. Product ID Information -->
<!-- -->
<!-- NOTE: This is a DTD fragment, NOT A STAND-ALONE DTD! -->
<!-- This module is referenced by DTDs and other -->
<!-- modules through the use of Formal Public -->
<!-- identifiers and/or SYSTEM entity references. -->
<!-- * * * -->
<!-- SPONSOR: Pinnacles Group -->
<!-- DATE: ORIG: 1993-12 -->
<!-- WRITTEN: ATLIS Consulting Group (DAL/BTU/MRH/EMB) -->
<!-- 6011 Executive Boulevard -->
<!-- Rockville, Maryland 20852 -->
<!-- PH: 301-816-4307 FAX: 301-468-6758 -->
<!-- acg-sgml@access.digex.com -->
<!-- * * * -->
<!-- SPONSOR: CFI/Pinnacles Group -->
<!-- DATE: 1997-05 -->
<!-- REVISED: Mulberry Technologies, Inc. (DAL/BTU/TKG/MRH) -->
<!-- 6010 Executive Boulevard, Suite 608 -->
<!-- Rockville, Maryland 20852 -->
<!-- PH: 301/231-6930 FAX: 301/231-6935 -->
<!-- info@mulberrytech.com -->
<!-- *** -->
<!-- SPONSOR: Si2/ECIX Project -->
<!-- DATE: 1997-1998 Latest: 19981010 -->
<!-- REVISED: Architag International, Inc. (EMB/MRH) -->
<!-- (Information Architects, prior to 10-98) -->
<!-- 6989 South Jordan Road, 2nd Floor -->
<!-- Englewood, Colorado 80112 -->
<!-- PH: 303/766-1336 FAX: 303/699-8331 -->
<!-- info@architag.com -->
<!-- * * * -->
<!-- SPONSOR: Si2/ECIX Project -->
<!-- DATE: 1999-02 LATEST: 1999-05-14 -->
<!-- WRITTEN: Melanie Yunk -->
<!-- PMB 120 -->
<!-- 751 Laurel Street -->
<!-- San Carlos, CA 94070 -->
<!-- PH: 650/593-9301 FAX: 650/593-9304 -->
<!-- mel@si2.org -->
<!-- ========================================================== -->
<!-- ========================================================== -->
<!-- Change History -->
<!-- ========================================================== -->
<!--
No. REASON for/DESCRIPTION of CHANGE DATE
Version 1.4.2 Created 1999-05-14
5. Update FPI
4. Remove <verbatim> from the content model for
<source.p> because the element definition was
removed from the DTD in an earlier version to
allow conversion to XML.
3. Remove <transition.info> from cc.group because the
<transition.info> element definition was removed from
the DTD in an earlier version to allow conversion to
XML.
2. Add Copyright Notice 1999-02-22
1. XML Version 1998-10-10 -->
<!-- ========================================================== -->
<!-- ========================================================== -->
<!-- SOURCES (A DOCUMENT LEVEL ELEMENT) -->
<!-- Info on characteristics, conditions, connections, -->
<!-- machine-sensible models & support tools, and product ids -->
<!-- ========================================================== -->
<!ELEMENT sources (cn.source?,cc.source?,conn.source?,
cc.group.source?,cn.group.source?,
model.source?,tool.source?,
pid.info?) >
<!-- ========================================================== -->
<!-- BASIC STRUCTURAL ELEMENTS for the SOURCES -->
<!-- Like a paragraph, but lacks some attributes, reflection -->
<!-- and footnotes, etc) -->
<!-- ========================================================== -->
<!ELEMENT source.p (#PCDATA | avo | avo.group |
display.math | fig | memory.capacity
| pid.reflection | inline.math |
package.designator |
package.name | stds.body |
trademarked | %lists; | %emphs; |
%links;)* >
<!ATTLIST source.p
%data.atts; >
<!-- ========================================================== -->
<!-- 1. CHARACTERISTIC SOURCE -->
<!-- (Holds all the characteristics) -->
<!-- Attributes on <cc> are designed to give information about -->
<!-- the type of information it represents and the type of -->
<!-- characteristic it is: -->
<!-- "static": is this characteristic static or dynamic? -->
<!-- "reliability": is this a reliability characteristic? -->
<!-- "pids": the part number(s) of the components involved -->
<!-- ASPECTS (TYPES) OF CHARACTERISTICS (Read "is this -->
<!-- characteristic xxx in nature. (Not mutually exclusive, -->
<!-- use none, one, or as many as are applicable). No value -->
<!-- means not provided) -->
<!-- ========================================================== -->
<!-- CHARACTERISTIC SOURCE -->
<!ELEMENT cc.source (cc+) >
<!ATTLIST cc.source
%data.atts; >
<!-- CHARACTERISTIC -->
<!-- Characteristic has a basic model which contains -->
<!-- many of the same kinds of elements as those which make -->
<!-- up the Condition element, but the two models differ on -->
<!-- the number of Values which can be part of the content -->
<!-- model and on their attribute specifications. -->
<!ELEMENT cc (parm?,cn.ids?,cc.value*,conn.ids?,
testing.info*,cc.text?) >
<!ATTLIST cc
static %yesorno; #REQUIRED
reliability %yesorno; #IMPLIED
pids IDREFS #IMPLIED
acoustic %yesorno; #IMPLIED
chemical %yesorno; #IMPLIED
electric %yesorno; #IMPLIED
info %yesorno; #IMPLIED
magnetic %yesorno; #IMPLIED
mechanical %yesorno; #IMPLIED
optical %yesorno; #IMPLIED
periodic %yesorno; #IMPLIED
radiation %yesorno; #IMPLIED
thermal %yesorno; #IMPLIED
timing %yesorno; #IMPLIED
%data.atts; >
<!-- ========================================================== -->
<!-- PARAMETER -->
<!-- (Used in characteristic and condition) -->
<!-- ========================================================== -->
<!-- PARAMETER -->
<!ELEMENT parm ((parm.symbol+, parm.desc?,
parm.def?, parm.dict.id*) |
(parm.desc, parm.def?,
parm.dict.id*) |
(parm.def, parm.dict.id*)) >
<!ATTLIST parm %data.atts; >
<!-- PARAMETER SYMBOL (e.g. Vih or Vcc)-->
<!-- The "std" attribute allows an author or organization to -->
<!-- specify a standard which defines this symbol. -->
<!ELEMENT parm.symbol (#PCDATA | %emphs;)* >
<!ATTLIST parm.symbol
std NMTOKENS #IMPLIED
%data.atts; >
<!-- PARAMETER DESCRIPTION -->
<!-- (The parameter name or a short description or mnemonic -->
<!-- phrase such as "Input High Voltage") -->
<!ELEMENT parm.desc (#PCDATA | %emphs;)* >
<!ATTLIST parm.desc %data.atts; >
<!-- PARAMETER DEFINITION -->
<!-- (A narrative explanation) -->
<!ELEMENT parm.def (source.p*) >
<!ATTLIST parm.def %data.atts; >
<!-- PARAMETER DICTIONARY ID -->
<!-- (For example the CFI Dictionary element identifier) -->
<!-- The "dictionary" attribute can be used to specify the name-->
<!-- of the dictionary. -->
<!ELEMENT parm.dict.id (#PCDATA) >
<!ATTLIST parm.dict.id
dictionary CDATA #REQUIRED >
<!-- ========================================================== -->
<!-- CONDITION IDENTIFIERS -->
<!-- (The IDs of all of the Conditions, as defined in the -->
<!-- Condition Source, that apply to this Characteristic) -->
<!-- ========================================================== -->
<!ELEMENT cn.ids EMPTY >
<!ATTLIST cn.ids
conditions IDREFS #REQUIRED >
<!-- ========================================================== -->
<!-- CONNECTION IDENTIFIERS -->
<!-- (The IDs of all of the Connections, as defined in the -->
<!-- Connection Source, that apply to this Characteristic) -->
<!-- ========================================================== -->
<!ELEMENT conn.ids EMPTY >
<!ATTLIST conn.ids
connections IDREFS #REQUIRED >
<!-- ========================================================== -->
<!-- VALUE FOR A CHARACTERISTIC or CONDITION -->
<!-- ========================================================== -->
<!-- -->
<!-- Characteristic and Condition Values can contain many of -->
<!-- the same pieces of information (null, source.p, etc.) -->
<!-- but they have significantly different sets of attributes -->
<!-- In addition, a given Condition may have only one value, -->
<!-- while a given Characteristic may have as many as six -->
<!-- values as part of its structure. -->
<!-- Both characteristic and condition values can have one of -->
<!-- three separately defined content models: -->
<!-- - Null -->
<!-- - a textual description -->
<!-- - A number/expression/or range -->
<!-- followed by the unit of measure and -->
<!-- order of magnitude -->
<!-- For <cc.value>: -->
<!-- The "test.level" attribute is designed to hold such -->
<!-- values as 100% tested, guaranteed by design, statistically-->
<!-- tested, derived, simulated, etc. -->
<!-- The "value.type" attribute is designed to hold such -->
<!-- values as minimum, maximum, typical, ntol, ptol, and raw. -->
<!-- ========================================================== -->
<!-- CONDITION VALUE -->
<!ELEMENT cn.value ((null | source.p |
number | expression | range),
(order.of.mag, unit)?) >
<!ATTLIST cn.value
value.type CDATA #FIXED "spec"
%data.atts; >
<!-- CHARACTERISTIC VALUE -->
<!ELEMENT cc.value ((null | source.p |
number | expression | range),
(order.of.mag, unit)?) >
<!ATTLIST cc.value
test.level CDATA #IMPLIED
value.type (MIN|MAX|NOM|TYP|PTOL|NTOL|RAW)
#REQUIRED
%data.atts; >
<!-- NUMBER -->
<!ELEMENT number (#PCDATA) >
<!ATTLIST number %data.atts; >
<!-- EXPRESSION -->
<!ELEMENT expression (#PCDATA | %emphs;)* >
<!ATTLIST expression %data.atts; >
<!-- RANGE -->
<!ELEMENT range (#PCDATA | %emphs;)* >
<!ATTLIST range %data.atts; >
<!-- UNIT OF MEASURE -->
<!-- The "std" attribute will hold the name of a standard which-->
<!-- has defined this unit. -->
<!ELEMENT unit (#PCDATA | %emphs;)* >
<!ATTLIST unit
std NMTOKENS #IMPLIED
%data.atts; >
<!-- ORDER OF MAGNITUDE -->
<!ELEMENT order.of.mag (#PCDATA | %emphs;)* >
<!ATTLIST order.of.mag %data.atts; >
<!-- NULL -->
<!-- The "null.type" attribute allows a specification of the -->
<!-- reason for the null value. -->
<!ELEMENT null (#PCDATA | %emphs;)* >
<!ATTLIST null
null.type (not.available | not.applicable |
measured | not.printed) #IMPLIED
%data.atts; >
<!-- ========================================================== -->
<!-- CHARACTERISTIC or CONDITION TEXTUAL INFORMATION -->
<!-- A grouping element, used within the Characteristics Source-->
<!-- and Condition Source to hold and identify paragraph-like -->
<!-- objects (such as paragraphs and tables) -->
<!-- ========================================================== -->
<!ELEMENT cc.text (source.p)+ >
<!ATTLIST cc.text
%data.atts; >
<!-- ========================================================== -->
<!-- TESTING INFORMATION -->
<!-- (OFTEN A TEST CIRCUIT or EXPLICIT PROCEDURES) -->
<!-- ========================================================== -->
<!-- TEST CIRCUIT or PROCEDURE -->
<!ELEMENT testing.info (source.p)+ >
<!ATTLIST testing.info
%data.atts; >
<!-- ========================================================== -->
<!-- 2. CONDITION SOURCE -->
<!-- (Holds all the conditions) -->
<!-- Attributes on <cn> are designed to give information about -->
<!-- the type of information it represents and the type of -->
<!-- condition it is: -->
<!-- "static": is this condition static or dynamic? -->
<!-- ASPECTS (TYPES) OF CONDITIONS (Read "is this condition -->
<!-- xxx in nature. (Not mutually exclusive; use none, one, or -->
<!-- as many as are applicable). No value means not provided) -->
<!-- ========================================================== -->
<!ELEMENT cn.source (cn+) >
<!ATTLIST cn.source %data.atts; >
<!-- ========================================================== -->
<!-- CONDITION (CN) -->
<!-- ========================================================== -->
<!-- Condition has a basic model which contains -->
<!-- many of the same kinds of elements as those which make -->
<!-- up the Characteristic element, but the two models differ -->
<!-- on the number of Values which can be part of the content -->
<!-- model and on their attribute specifications. -->
<!ELEMENT cn (parm,cn.ids?,cn.value,conn.ids?,
testing.info*,cc.text?) >
<!ATTLIST cn
static %yesorno; #REQUIRED
acoustic %yesorno; #IMPLIED
chemical %yesorno; #IMPLIED
electric %yesorno; #IMPLIED
info %yesorno; #IMPLIED
magnetic %yesorno; #IMPLIED
mechanical %yesorno; #IMPLIED
optical %yesorno; #IMPLIED
periodic %yesorno; #IMPLIED
radiation %yesorno; #IMPLIED
thermal %yesorno; #IMPLIED
timing %yesorno; #IMPLIED
%data.atts; >
<!-- ========================================================== -->
<!-- 3. CHARACTERISTIC & CONDITION GROUPS SOURCE-->
<!-- ========================================================== -->
<!-- CHARACTERISTIC GROUP SOURCE -->
<!ELEMENT cc.group.source (cc.group+) >
<!ATTLIST cc.group.source
%data.atts; >
<!-- CHARACTERISTIC GROUP -->
<!ELEMENT cc.group (title, cn.ids?, cc.ids*,
testing.info?) >
<!ATTLIST cc.group %data.atts; >
<!-- CHARACTERISTIC IDENTIFIERS -->
<!-- (The IDs of all the characteristics in the Characteristic -->
<!-- Group) -->
<!ELEMENT cc.ids EMPTY >
<!ATTLIST cc.ids
characteristics
IDREFS #REQUIRED >
<!-- CONDITION GROUP SOURCE -->
<!ELEMENT cn.group.source (cn.group+) >
<!ATTLIST cn.group.source
%data.atts; >
<!-- CONDITION GROUP -->
<!ELEMENT cn.group (title,cn.ids?,testing.info?) >
<!ATTLIST cn.group %data.atts; >
<!-- ========================================================== -->
<!-- 4. CONNECTION SOURCE -->
<!-- ========================================================== -->
<!-- CONNECTION SOURCE -->
<!ELEMENT conn.source (connection*, conn.group*,
terminus.group*) >
<!ATTLIST conn.source
%data.atts; >
<!-- ========================================================== -->
<!-- CONNECTION -->
<!-- Information about the logical connections between this -->
<!-- device and other devices. This information includes -->
<!-- information that is independent of a particular physical -->
<!-- location on a device. -->
<!-- The attribute "conn.type" is designed to hold information -->
<!-- about the type of connection this is. Legal values are: -->
<!-- - I = Input -->
<!-- - IO = Input/Output -->
<!-- - O = Output -->
<!-- - NC = No Connection -->
<!-- - PWR = Power -->
<!-- ========================================================== -->
<!-- CONNECTION -->
<!ELEMENT connection (conn.name?,
conn.mnemonic?, conn.desc?) >
<!ATTLIST connection
conn.type (I | IO | O | NC | PWR) #IMPLIED
%tech.atts; >
<!-- CONNECTION NAME -->
<!ELEMENT conn.name (#PCDATA | %emphs;)* >
<!ATTLIST conn.name %data.atts; >
<!-- CONNECTION MNEMONIC -->
<!ELEMENT conn.mnemonic (#PCDATA | %emphs;)* >
<!ATTLIST conn.mnemonic
%data.atts; >
<!-- CONNECTION DESCRIPTION -->
<!ELEMENT conn.desc (#PCDATA | %emphs;)* >
<!ATTLIST conn.desc %data.atts; >
<!-- ========================================================== -->
<!-- CONNECTION GROUP -->
<!-- ========================================================== -->
<!-- CONNECTION GROUP -->
<!ELEMENT conn.group (conn.group.name?, conn.group.desc?,
conn.ids?, conn.group.ids?) >
<!ATTLIST conn.group %tech.atts; >
<!-- CONNECTION GROUP NAME -->
<!ELEMENT conn.group.name (#PCDATA | %emphs;)* >
<!ATTLIST conn.group.name
%data.atts; >
<!-- CONNECTION GROUP DESCRIPTION -->
<!ELEMENT conn.group.desc (#PCDATA | %emphs;)* >
<!ATTLIST conn.group.desc
%data.atts; >
<!-- ========================================================== -->
<!-- CONNECTION GROUP IDENTIFIERS -->
<!-- The IDs of all the Connection Groups, as defined in the -->
<!-- Connection Source, that are members of another -->
<!-- Connection Group -->
<!-- ========================================================== -->
<!ELEMENT conn.group.ids EMPTY >
<!ATTLIST conn.group.ids
conn.groups IDREFS #REQUIRED >
<!-- ========================================================== -->
<!-- TERMINUS GROUP -->
<!-- A terminus is a physical place where information is -->
<!-- transferred from one device to another. Most Terminus -->
<!-- Groups are packages, while a Terminus may be a pin, -->
<!-- pad, or other physical object. -->
<!-- ========================================================== -->
<!-- TERMINUS GROUP -->
<!ELEMENT terminus.group (terminus.group.name?,
terminus.group.desc?,
device.marking?, terminus*) >
<!ATTLIST terminus.group
pids IDREFS #IMPLIED
%data.atts; >
<!-- TERMINUS GROUP NAME -->
<!ELEMENT terminus.group.name (#PCDATA | %emphs;)* >
<!ATTLIST terminus.group.name
%data.atts; >
<!-- TERMINUS GROUP DESCRIPTION -->
<!ELEMENT terminus.group.desc (#PCDATA | %emphs;)* >
<!ATTLIST terminus.group.desc
%data.atts; >
<!-- DEVICE MARKING -->
<!-- Contains the top mark, face package, or standard device -->
<!-- marking for the product. -->
<!ELEMENT device.marking (#PCDATA) >
<!ATTLIST device.marking
%data.atts; >
<!-- TERMINUS -->
<!ELEMENT terminus (terminus.name, conn.ids?) >
<!ATTLIST terminus %data.atts; >
<!-- TERMINUS NAME -->
<!ELEMENT terminus.name (#PCDATA | %emphs;)* >
<!ATTLIST terminus.name %data.atts; >
<!-- ========================================================== -->
<!-- 5. MODEL SOURCE -->
<!-- Models are NOT reflected in a printed or displayed -->
<!-- document. Models are merely exchanged information to be -->
<!-- used as the receiver may or can. -->
<!-- On <model>, the attribute "package" is used to answer the -->
<!-- question: "Is this a package model?" -->
<!-- ========================================================== -->
<!-- MODEL SOURCE -->
<!-- (ALL ASSOC. with DOCUMENT) -->
<!ELEMENT model.source (model+) >
<!ATTLIST model.source %data.atts; >
<!-- MODEL (ONE MODEL of a PRODUCT) -->
<!ELEMENT model (model.info,
(division | use.info | vendor.info |
intended.application)* ) >
<!ATTLIST model
pids IDREFS #IMPLIED
package %yesorno; "0"
%data.atts; >
<!-- ========================================================== -->
<!-- MODELS: MODEL.INFO (ABOUT the MODEL) -->
<!-- ========================================================== -->
<!-- INFORMATION ABOUT THE MODEL -->
<!ELEMENT model.info (model.format,file.format,
publication.date?,associated.model*,
author.info?,revision.history?) >
<!ATTLIST model.info %data.atts; >
<!--elem publication.date defined in PADMIN.ENT -->
<!--elem auth.info (author info) defined in PADMIN.ENT -->
<!--elem revision history defined in PADMIN.ENT -->
<!-- MODEL FORMAT(SPICE, VHOL, HDL,etc)-->
<!ELEMENT model.format (#PCDATA | %emphs;)* >
<!ATTLIST model.format %data.atts; >
<!-- FILE FORMAT for the MODEL -->
<!-- The attribute "version" is used to hold information on -->
<!-- the Model or SW version number -->
<!-- The attribute "file.ptr" is used to hold a pointer to -->
<!-- a file (model or data) -->
<!-- The attribute "Hynames" is used to tell HyTime the name -->
<!-- of a pointer -->
<!ELEMENT file.format (#PCDATA | %emphs;)* >
<!ATTLIST file.format
version CDATA #IMPLIED
file.ptr NMTOKEN #IMPLIED
HyNames CDATA #FIXED "linkend file.ptr"
%clink.atts; >
<!-- ASSOCIATED MODELS OR FILES -->
<!-- The attribute "model.ptr" is used to hold a pointer to -->
<!-- a model or file -->
<!-- The attribute "Hynames" is used to tell HyTime the name -->
<!-- of a pointer -->
<!ELEMENT associated.model (#PCDATA | %emphs;)* >
<!ATTLIST associated.model
model.ptr NMTOKEN #IMPLIED
HyNames CDATA #FIXED "linkend model.ptr"
%clink.atts; >
<!-- ========================================================== -->
<!-- MODELS & SUPPORTING TOOLS INFORMATION -->
<!-- ========================================================== -->
<!-- DIRECTIONS FOR INSTALLATION -->
<!-- AND USE -->
<!-- The attribute "use.ptr" is a pointer to associated info, -->
<!-- such as a user manual or instruction video -->
<!-- The attribute "Hynames" is used to tell HyTime the name -->
<!-- of a pointer -->
<!ELEMENT use.info (%gen.div.model;)+ >
<!ATTLIST use.info
use.ptr NMTOKEN #IMPLIED
HyNames CDATA #FIXED "linkend use.ptr"
%clink.atts; >
<!-- VENDOR INFORMATION -->
<!-- The attribute "vendor.ptr" is a pointer to associated -->
<!-- info, such as a vendor file -->
<!-- The attribute "Hynames" is used to tell HyTime the name -->
<!-- of a pointer -->
<!ELEMENT vendor.info (%gen.div.model;)+ >
<!ATTLIST vendor.info
vendor.ptr NMTOKEN #IMPLIED
HyNames CDATA #FIXED "linkend vendor.ptr"
%clink.atts; >
<!-- INTENDED APPLICATION of a
MODEL or SUPPORT TOOL -->
<!-- How to use the model or support tool NOT how to use the -->
<!-- Product -->
<!-- The attribute "intended.app.ptr" is a pointer to -->
<!-- associated information -->
<!ELEMENT intended.application
(%gen.div.model;)+ >
<!ATTLIST intended.application
intended.app.ptr
NMTOKEN #IMPLIED
HyNames CDATA #FIXED
"linkend intended.app.ptr"
%clink.atts; >
<!-- ========================================================== -->
<!-- 6. SUPPORT TOOLS SOURCE INFORMATION -->
<!-- Support Tools are NOT reflected in the printed or -->
<!-- displayed document. Tools are merely exchanged -->
<!-- information to be used as the receiver may or can) -->
<!-- Attributes about a tool: -->
<!-- The attribute "sw.hw" indicates if the tool is a hardware -->
<!-- tool or a software tool; -->
<!-- The attribute "tool.ptr" is a pointer to the tool file -->
<!-- (if applicable). -->
<!-- ========================================================== -->
<!ELEMENT tool.source (tool+) >
<!ATTLIST tool.source %data.atts; >
<!-- ONE SUPPORT TOOL for a PRODUCT -->
<!ELEMENT tool (tool.info,(use.info | vendor.info |
intended.application | division)* ) >
<!ATTLIST tool
sw.hw (hw|sw) #IMPLIED
tool.ptr NMTOKEN #IMPLIED
pids IDREFS #IMPLIED
HyNames CDATA #FIXED "linkend tool.ptr"
%clink.atts;
%data.atts; >
<!-- ========================================================== -->
<!-- SUPPORT TOOLS: (meta-information) -->
<!-- ========================================================== -->
<!-- INFORMATION ABOUT A SUPPORT TOOL -->
<!ELEMENT tool.info (tool.name,tool.type,file.format?,
publication.date?,
revision.history?) >
<!ATTLIST tool.info
%data.atts; >
<!-- NAME of the HW or SW SUPPORT TOOL -->
<!ELEMENT tool.name (#PCDATA | %emphs;)* >
<!ATTLIST tool.name
%data.atts; >
<!-- TYPE of SUPPORT TOOL -->
<!-- for example, for a software tool: SGML parser, -->
<!-- compiler, etc. -->
<!ELEMENT tool.type (#PCDATA | %emphs;)* >
<!ATTLIST tool.type %data.atts; >
<!-- ========================================================== -->
<!-- PRODUCT ID INFORMATION -->
<!-- (What products are described in document) -->
<!-- ========================================================== -->
<!-- PRODUCT ID INFORMATION -->
<!-- (All the collected part num info) -->
<!ELEMENT pid.info (pid.generic.info+,
pid.fragment.info*,
pid.specific.info*,pid.alt*,vers?) >
<!ATTLIST pid.info %data.atts; >
<!-- ========================================================== -->
<!-- GENERIC PRODUCT ID INFORMATION -->
<!-- (What products are described in document) -->
<!-- ========================================================== -->
<!-- GENERIC PRODUCT INFORMATION -->
<!-- (Generic Product info. collected) -->
<!ELEMENT pid.generic.info (pid.generic,prod.desc,process*,
revision.history?) >
<!ATTLIST pid.generic.info
%data.atts; >
<!-- GENERIC PRODUCT ID -->
<!-- Part number of the product that datasheet discusses -->
<!ELEMENT pid.generic (pid.seg+) >
<!ATTLIST pid.generic
prod.status
(advanced|preliminary|available|nomar|obsolete)
"available"
%data.atts; >
<!-- PRODUCT DESCRIPTION -->
<!-- Name or description of the product that the datasheet -->
<!-- discusses. -->
<!ELEMENT prod.desc (#PCDATA | %all.phrase;)* >
<!ATTLIST prod.desc %data.atts; >
<!-- PROCESS -->
<!ELEMENT process (#PCDATA | %all.phrase;)* >
<!ATTLIST process %data.atts; >
<!-- ========================================================== -->
<!-- PRODUCT ID FRAGMENT INFORMATION -->
<!-- A useful set of products for discussion, such as a set of -->
<!-- products with similar options -->
<!-- The attribute "prod.status" is used to specify the status -->
<!-- of the product (this is NOT the document status) -->
<!-- The attribute "pid.generics" is used to contain references-->
<!-- to generic product ids. -->
<!-- The attribute "pid.specifics" is used to contain -->
<!-- references to specific product ids. -->
<!-- The attribute "bare" is used to specify if the product is -->
<!-- available without a package. -->
<!-- ========================================================== -->
<!ELEMENT pid.fragment.info (pid.fragment,prod.desc?,process?,
revision.history?) >
<!ATTLIST pid.fragment.info
prod.status (advanced|preliminary|available|nomar|
obsolete) "available"
pid.generics
IDREFS #IMPLIED
pid.specifics
IDREFS #IMPLIED
bare %yesorno; #IMPLIED
%data.atts; >
<!-- PRODUCT ID FRAGMENT -->
<!ELEMENT pid.fragment (pid.seg+) >
<!ATTLIST pid.fragment %data.atts; >
<!-- ========================================================== -->
<!-- SPECIFIC PRODUCT ID INFORMATION -->
<!-- A product that can be ordered -->
<!-- SPECIFIC PRODUCT INFORMATION -->
<!-- Specific Product info. collected -->
<!-- The attribute "pid.generic" is used to contain a reference-->
<!-- to a generic product id. -->
<!-- The attribute "bare" is used to specify if the product is -->
<!-- available without a package. -->
<!-- ========================================================== -->
<!ELEMENT pid.specific.info (pid.specific,prod.desc?,process?,
revision.history?) >
<!ATTLIST pid.specific.info
pid.generic IDREF #IMPLIED
bare %yesorno; #IMPLIED
%data.atts; >
<!-- SPECIFIC PRODUCT ID -->
<!ELEMENT pid.specific (pid.seg+) >
<!ATTLIST pid.specific
prod.status
(advanced|preliminary|available|nomar|obsolete)
"available"
%data.atts; >
<!-- ========================================================== -->
<!-- REST OF THE PRODUCT ID ELEMENTS -->
<!-- The attribute "pid.alt.use" is designed to hold the -->
<!-- reason for the alias. -->
<!-- ========================================================== -->
<!-- ALTERNATIVE PRODUCT ID -->
<!-- (alias for the Specific Prod ID) -->
<!ELEMENT pid.alt (pid.seg+) >
<!ATTLIST pid.alt
pid.alt.use CDATA #IMPLIED
pid.specific
IDREF #IMPLIED
%data.atts; >
<!-- PRODUCT ID SEGMENT -->
<!-- Meaningful piece of a part number, for instance base or -->
<!-- speed code -->
<!-- The attribute "segment.base" is used to indicate if this -->
<!-- segment is a base segment. -->
<!-- The attribute "segment.connect" is used to indicate if -->
<!-- this segment is a connector (such as hyphen, period, other-->
<!-- punctuation. -->
<!-- The attribute "segment.type" is used to indicate the type -->
<!-- of information this segment represents (e.g.,speed, -->
<!-- quality, test level, manufacturer, etc). -->
<!ELEMENT pid.seg (#PCDATA | %gen.phrase;)* >
<!ATTLIST pid.seg
segment.base %yesorno; #IMPLIED
segment.connect
%yesorno; #IMPLIED
segment.meaning
CDATA #IMPLIED
segment.type CDATA #IMPLIED
%data.atts; >
<!-- ======== END OF XML PCIS SOURCES DTD FRAGMENT ======== -->