Timing Diagram Markup Language (TDML), Version 1.1-1-051899

Electronic Component Information eXchange (ECIX)

Timing Diagram Markup Language (TDML)

Document Type Definitions

TDML Version 1.0-1-051899
May 18, 1999
Copyright © 1998, 1999 by Silicon Integration Initiative, Inc. All rights reserved worldwide.

 

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 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  ===== -->

 

XML-TDMLBASE.ENT

<!-- 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  ==================== -->

 

XML-PCHARSET.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 =========== -->

 

XML-PINNBASE.ENT

<!-- 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  ========= -->

 

XML-PSOURCES.ENT

<!-- 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   ======== -->

 

XML-PADMIN.ENT

<!-- Formal Public Identifier:
"+//ISO/IEC 9070/RA::A00007::US::ECIX::PCIS//DTD XML-PADMIN.ENT 19990222 
Draft 1.4 PCIS Administrative Information//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:      PCIS ADMINISTRATIVE INFORMATION                -->
<!--                                    (File = XML-PADMIN.ENT) -->
<!--                                    (XML-PCIS Draft 1.4)    -->
<!--                                                            -->
<!--  PART OF:   Pinnacles Component Information Standard (PCIS)-->
<!--  PURPOSE:   This is the metadata that describes a document -->
<!--             such as a Databook, Application Note, or       -->
<!--             Datasheet. Metadata is information about the   -->
<!--             document such as the title, publication date,  -->
<!--             etc.                                           -->
<!--  CONTENT:   Contains the declaration for admin.info,       -->
<!--             which contains:                                -->
<!--                1.  doc.info - metadata about the document, -->
<!--                    such as title, subtitle, lit order no.  -->
<!--                2.  enterprise.info - metadata about the    -->
<!--                    company or organization, such as company-->
<!--                    name, ISBN prefix, CAGE code, & address -->
<!--  USED BY:   XML-PCISTDML.DTD (DTD for Timing Diagrams)     -->
<!--  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. (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:      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                                   -->
<!--             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

     2.   Add Copyright Notice                       1999-02-22

     1.   XML Version                                1998-10-10
-->
<!-- ========================================================== -->

<!-- ========================================================== -->
<!--                    ADMINISTRATIVE INFORMATION              -->
<!-- ========================================================== -->

<!ELEMENT admin.info        (doc.info, enterprise.info+,
                             author.info?)                        >
<!ATTLIST admin.info    %data.atts;                               >

<!-- ========================================================== -->
<!--                    DOCUMENT INFORMATION                    -->
<!-- ========================================================== -->

<!--                          DOCUMENT INFORMATION              -->
<!ELEMENT doc.info             ((title | doc.title), title.alt*,
                               subtitle*,literature.order.number*,
                               publication.date?,marketing.date?,
                               vers?,revision.history?)           >
<!ATTLIST doc.info      %data.atts;                               >

<!-- ========================================================== -->
<!--                    DOCUMENT INFO: DOCUMENT TITLE           -->
<!--  Datasheets frequently use compound titles called          -->
<!--  <doc.title> that are composed of two parts: a part number -->
<!--  (called the Product Name Title <prod.name.title>) and a   -->
<!--  part description (called the Descriptive Title            -->
<!--  <title.descriptive>). If a document has a simple title    -->
<!--  (one that is NOT divided in to parts), then the Title     -->
<!--  <title> element is used.                                  -->
<!-- ========================================================== -->

<!ELEMENT doc.title           (prod.name.title?,title.descriptive?,
                               alt.descriptive.title*)            >
<!ATTLIST doc.title     %data.atts;                               >

<!--                          PRODUCT NAME TITLE                -->
<!ELEMENT prod.name.title     (#PCDATA | %all.phrase;)*           >
<!ATTLIST prod.name.title
                        %data.atts;                               >

<!--                          DESCRIPTIVE TITLE                 -->
<!ELEMENT title.descriptive   (#PCDATA | %all.phrase;)*           >
<!ATTLIST title.descriptive
                        %data.atts;                               >

<!--                          ALTERNATIVE DESCRIPTIVE TITLE     -->
<!--  The "alt.use" attribute on <alt.descriptive.title> and on -->
<!--  <alternative.title> allows an author or organization to   -->
<!--  specify the reason for having an alternative title.       -->

<!ELEMENT alt.descriptive.title 
                              (#PCDATA | %all.phrase;)*           >
<!ATTLIST alt.descriptive.title
           alt.use      CDATA                           #IMPLIED
                        %data.atts;                               >

<!-- ========================================================== -->
<!--                    THE REST OF DOCUMENT INFORMATION        -->
<!-- ========================================================== -->

<!--                          SUBTITLE                          -->
<!ELEMENT subtitle            (#PCDATA | %all.phrase;)*           >
<!ATTLIST subtitle      %data.atts;                               >

<!--                          ALTERNATIVE TITLE                 -->
<!ELEMENT title.alt           (#PCDATA | %all.phrase;)*           >
<!ATTLIST title.alt 
           alt.use     CDATA                           #IMPLIED
                       %data.atts;                                >

<!--                          LITERATURE ORDER NUMBER           -->
<!ELEMENT literature.order.number 
                              (#PCDATA)                           >
<!ATTLIST literature.order.number 
                        %data.atts;                               >

<!--                          PUBLICATION DATE (real pub date)  -->
<!ELEMENT publication.date    (#PCDATA)                           >
<!ATTLIST publication.date
                        %data.atts;                               >

<!--                          MARKETING DATE(like auto model yr)-->
<!ELEMENT marketing.date      (#PCDATA)                           >
<!ATTLIST marketing.date 
                        %data.atts;                               >

<!-- ========================================================== -->
<!--                    DOCUMENT INFO: REVISION HISTORY         -->
<!--                                                            -->
<!--  The attributes on <revision> are used as follows:         -->
<!--  "rev.date": to express a system date                      -->
<!--  "tracking.id":  to hold a tracking number, such as a      -->
<!--  change request number;                                    -->
<!--  "republished": to indicate if the change named in this    -->
<!--  revision caused a republication of the document;          -->
<!--  "prod.doc.change": to indicate the Product/Document change-->
<!--  trigger for this document; For Document revision: was     -->
<!--  change caused by a change in the product? For Product     -->
<!--  revision: did this change cause a change in the doc?      -->
<!-- ========================================================== -->

<!ELEMENT revision.history    (revision+)                         >
<!ATTLIST revision.history
                        %data.atts;                               >

<!--                          REVISION INFORMATION              -->
<!ELEMENT revision            (desc,revised.ids*,deleted.ids*)    >
<!ATTLIST revision
            rev.date    CDATA                       #REQUIRED
            tracking.id CDATA                       #IMPLIED 
            republished %yesorno;                   #IMPLIED
            prod.doc.chng
                        %yesorno;                   #REQUIRED
                        %data.atts;                               >

<!--  elem    desc (description) is defined in PINNBASE.ENT     -->
<!--  Holds such information as the reason for the change and/or-->
<!--  a brief discussion of the nature of the change            -->

<!--                          REVISED IDS(IDs of changed items) -->
<!ELEMENT revised.ids         (#PCDATA)                           >
<!ATTLIST revised.ids   %data.atts;                               >

<!--                          DELETED IDS(IDs of removed items) -->
<!ELEMENT deleted.ids         (#PCDATA)                           >
<!ATTLIST deleted.ids   %data.atts;                               >

<!-- ========================================================== -->
<!--                    VERSION INFORMATION                     -->
<!--                    (a placeholder for PCIS Phase II)       -->
<!-- ========================================================== -->

<!--                          VERSION                           -->
<!ELEMENT vers                (vers.desig?,vers.date?,vers.desc?) >
<!ATTLIST vers          %data.atts;                               >

<!--                          VERSION DESIGNATOR                -->
<!--  Enterprise-specific version number or identifier.  May    -->
<!--  include both version and revision pieces                  -->
<!ELEMENT vers.desig          (#PCDATA | %emphs;)*                >

<!--                          VERSION DATE                      -->
<!ELEMENT vers.date           (#PCDATA)                           >

<!--                          VERSION DESCRIPTION               -->
<!ELEMENT vers.desc           (p+)                                >

<!-- ============ End of XML-PADMIN DTD Fragment ============== -->

 

XML-EXCHANGE.ENT

<!-- XML-IZED EXCHANGE TABLE MODEL DECLARATION MODULE         -->

<!-- This set of declarations re-defines the Exchange Table   -->
<!-- Model created by SGML Open (now Oasis Open) and dated    -->
<!-- 19960430. This new XML-Exchange Table Model has been     -->
<!-- modeled based on the W3C Recommendation dated 19980210   -->
<!-- (http://www.w3.org/TR/REC-xml), and may be refered to    -->
<!-- using a public external entity declaration and reference -->
<!-- as shown in the following two lines:                     -->

<!-- 
<!ENTITY % xml-calstbls PUBLIC "-//Oasis Open//DTD XML Exchange Table Model 
19960430//EN">
%xml-calstbls;
-->
 
<!-- This DTD fragment has been written making extensive use  -->
<!-- of parameter entities. If you wish to redefine any of    -->
<!-- those parameter entities to make their values use your   -->
<!-- element or attribute names, those declarations should be -->
<!-- made in your DTD before calling in this package (i.e.,   -->
<!-- before you insert the entity declaration and call to     -->
<!-- "xml-%calstbls;").                                       -->

<!-- This entity includes a set of element and attribute      -->
<!-- declarations that were originally documented as part of  -->
<!-- the SGML Open Exchange Table Model.  That documentation  -->
<!-- was described as "the accompanying natural language      -->
<!-- description of the semantics (meanings) of these various -->
<!-- elements, attributes, and attribute values."  Unless     -->
<!-- otherwise indicated in this document, those semantic     -->
<!-- meanings have remained the same. The original semantic   -->
<!-- writeup, was also available from SGML Open, and should   -->
<!-- be used in conjunction with this entity.                 -->

<!-- This section includes brief definitions of the various   -->
<!-- parameter entities declared in this entity, and indicates-->
<!-- the context in which each is used.                       -->

<!--
     ENTITY NAME      WHERE USED              WHAT IT CONTAINS

     %bodyatt         In ATTLIST of:          Additional (non-
                      table element(s)        table related)
                                              attributes on the 
                                              overall (wrapper) 
                                              table element(s)

     %yesorno         In ATTLIST of:          A declared value 
                      almost all elements     type of NMTOKEN 
                                              for a "boolean" 
                                              attribute (0 is 
                                              usually assumed to
                                              mean no and 1 or 
                                              any other digit to
                                              mean yes).

     %titles          In content model of:    The "title" part of
                      table element(s)        the content model
                                              defined for table 
                                              element(s)

     %paracon         In content model of:    The "text" (logical 
                      <entry>                 content) or 
                                              elements that can 
                                              be part of <entry>

     %tbl.table.name  In declaration of:      The name(s) of the 
                      table element(s)        actual "table"
                                              element(s)

     %tbl.table-titles.mdl 
                     In content model of:     The model defined 
                     table elements(s)        for the title part 
                                              of table element(s)

     %tbl.table-main.mdl 
                      In content model of:    The model defined
                      table elements(s)       for the body part
                                              (excluding titles)
                                              of table element(s)

     %tbl.table.mdl   In content model of:    The model defined 
                      table elements(s)       for the contents
                                              of a table,
                                              often (and by 
                                              default) defined
                                              in terms of 
                                              %tbl.table-titles.mdl
                                              and %tbl.table-
                                              main.mdl

     %tbl.table.att   In ATTLIST of:          Additional 
                      table element(s)        attributes on the
                                              table element(s)

     %tbl.tgroup.mdl  In content model of:    The model defined 
                      <tgroup>                for the contents
                                              of a <tgroup>

     %tbl.tgroup.att  In ATTLIST of:          Additional 
                       <tgroup>               attributes on the
                                              <tgroup> element

     %tbl.tbody.att   In ATTLIST of:          Additional 
                      <tbody>                 attributes on the
                                              <tbody> element

     %tbl.colspec.att In ATTLIST of:          Additional 
                       <colspec>              attributes on the
                                              <colspec> element

     %tbl.hdft.name   In declaration of:      The name(s) of the 
                      head/foot element(s)    table head and foot 
                                              element(s)

     %tbl.hdft.mdl    In content model of:    The model defined 
                      head/foot element(s)    for the contents
                                              of the head/foot 
                                              element(s) (usually
                                              just the thead)

     %tbl.hdft.att    In ATTLIST of:          Additional 
                      head/foot element(s)    attributes on the
                                              head/foot element 

     %tbl.row.mdl     In content model of:    The model defined
                      <row>                   for the contents
                                              of <row>

     %tbl.row.att     In ATTLIST of:          Additional 
                      <row>                   attributes on the
                                              <row> element

     %tbl.entry.mdl   In content model of:    The model defined 
                      <entry>                 for the contents
                                              of <entry>

     %tbl.entry.att   In ATTLIST of:          Additional 
                      <entry>                 attributes on the
                                              <entry> element
-->

<!-- These definitions are not directly related to the table  -->
<!-- model, but are used in the default CALS table model and  -->
<!-- may be defined elsewhere (and prior to the inclusion of  -->
<!-- this table module) in the referencing DTD.               -->

<!ENTITY % bodyatt ""                                           >
<!ENTITY % yesorno 'NMTOKEN'                                    >
<!ENTITY % titles  'title?'                                     >
<!ENTITY % paracon '#PCDATA'                                    >

<!-- The models defined below change and simplify the CALS    -->
<!-- table model as published (as part of the Example DTD) in -->
<!-- MIL-HDBK-28001.  Except for the changes in syntax and    -->
<!-- the removal of the exclusions mandated by XML, these     -->
<!-- models are the same as those in the original SGML Open   -->
<!-- Exchange Table Model and thus should have the same       -->
<!-- support from the SGML Open vendors and interoperability  -->
<!-- usage as defined therein.                                -->

<!-- As noted above, any of the following entities can be     -->
<!-- redefined (by re-declaring the appropriate parameter     -->
<!-- entity prior to the reference calling this Table Model   -->
<!-- entity) to fit the needs of the current application.     -->

<!-- Implementors should note, however, that changes may have -->
<!-- significant effect on the ability to interchange table   -->
<!-- information.  These changes may manifest themselves in   -->
<!-- useability, presentation, and possible structural        -->
<!-- information degradation.                                 -->

<!-- Entities defining general models for table name, table   -->
<!-- title, table body, and table attributes.                 -->
<!-- This model does not include the "," connector following  -->
<!-- %titles; in the model for tbl.table-titles.mdl.          -->
<!ENTITY % tbl.table.name       "table"                         >
<!ENTITY % tbl.table-titles.mdl "%titles;,"                     >
<!ENTITY % tbl.table-main.mdl   "tgroup+"                       >
<!ENTITY % tbl.table.mdl        "%tbl.table-titles.mdl; %tbl.table-main.mdl;"          >
<!ENTITY % tbl.table.att 
               "pgwide      %yesorno;       #IMPLIED "          >

<!--  Entities defining models for tgroup and tgroup          -->
<!--  attributes.                                             -->
<!ENTITY % tbl.tgroup.mdl       "colspec*, thead?, tbody"       >

<!ENTITY % tbl.tgroup.att       ""                              >

<!--  Entities defining models for tbody attributes and       -->
<!--  colspe attributes.                                      -->
<!ENTITY % tbl.tbody.att        ""                              >
<!ENTITY % tbl.colspec.att      ""                              >

<!--  Entities defining models for table head/foot contents   -->
<!-- and table head/foot attributes                           -->
<!ENTITY % tbl.hdft.name        "thead"                         >
<!ENTITY % tbl.hdft.mdl         "row+"                          >
<!ENTITY % tbl.hdft.att         ""                              >

<!--  Entities defining models for row and for row attributes -->
<!ENTITY % tbl.row.mdl          "entry+"                        >
<!ENTITY % tbl.row.att          ""                              >

<!--  Entities defining models for entry and for entry        -->
<!--  attributes.                                             -->
<!ENTITY % tbl.entry.mdl        "(%paracon;)*"                  >
<!ENTITY % tbl.entry.att        ""                              >

<!-- =====  Element and attribute declarations follow. =====  -->

<!ELEMENT %tbl.table.name;           (%tbl.table.mdl;)            >
<!ATTLIST %tbl.table.name;
           frame         (top|bottom|topbot|all
                         |sides|none)                #IMPLIED
           colsep        %yesorno;                   #IMPLIED
           rowsep        %yesorno;                   #IMPLIED
                         %tbl.table.att;
                         %bodyatt;                            >

<!ELEMENT tgroup                    (%tbl.tgroup.mdl;)          >
<!ATTLIST tgroup
          cols           NMTOKEN                     #REQUIRED
          colsep         %yesorno;                   #IMPLIED
          rowsep         %yesorno;                   #IMPLIED
          align          (left|right|center|
                         justify|char)               #IMPLIED
                         %tbl.tgroup.att;                       >

<!ELEMENT colspec                   EMPTY                       >
<!ATTLIST colspec
          colnum         NMTOKEN                     #IMPLIED
          colname        NMTOKEN                     #IMPLIED
          colwidth       CDATA                       #IMPLIED
          colsep         %yesorno;                   #IMPLIED
          rowsep         %yesorno;                   #IMPLIED
          align          (left|right|center|
                         justify|char)               #IMPLIED

          char           CDATA                       #IMPLIED
          charoff        NMTOKEN                     #IMPLIED
                         %tbl.colspec.att;                      >

<!ELEMENT %tbl.hdft.name;           (%tbl.hdft.mdl;)            >
<!ATTLIST %tbl.hdft.name;
           valign        (top|middle|bottom)         #IMPLIED
                         %tbl.hdft.att;                         >

<!ELEMENT tbody                     (row+)                      >
<!ATTLIST tbody
          valign        (top|middle|bottom)          #IMPLIED
                         %tbl.tbody.att;                        >

<!ELEMENT row                       (%tbl.row.mdl;)             >
<!ATTLIST row
          rowsep        %yesorno;                   #IMPLIED
          valign        (top|middle|bottom)         #IMPLIED
                        %tbl.row.att;                           >

<!ELEMENT entry                     %tbl.entry.mdl;             >
<!ATTLIST entry
          colname       NMTOKEN                     #IMPLIED
          namest        NMTOKEN                     #IMPLIED
          nameend       NMTOKEN                     #IMPLIED
          morerows      NMTOKEN                     #IMPLIED
          colsep        %yesorno;                   #IMPLIED
          rowsep        %yesorno;                   #IMPLIED
          align         (left|right|center|
                        justify|char)               #IMPLIED
          char          CDATA                       #IMPLIED
          charoff       NMTOKEN                     #IMPLIED
          valign       (top|middle|bottom)          #IMPLIED
                       %tbl.entry.att;                          >


Timing Diagram Markup Language (TDML), Version 1.1-1-051899
Copyright © 1998, 1999 by Silicon Integration Initiative, Inc. All rights reserved worldwide.