<?xml version='1.0' encoding='UTF-8'?>
<!--
DOCUMENTATION
*******************************************************************************
**       F O R M A L   P U B L I C   I D E N T I F I E R   ( F P I )
**
** <!DOCTYPE production PUBLIC "-//USA-DOD//DTD -1/2C TM 
**   Assembly REV C 6.3 20190614//EN" SYSTEM "production.dtd">
*******************************************************************************
-->
<!--  P A R S E   C E R T I F I C A T I O N
*******************************************************************************
** This DTD was sucessfully parsed with the following parsers
** Oxygen 17.0
** XMLSpy 2015 
** ARBORText version 7.0
** ARBORText version 6.1
*******************************************************************************
-->
<!--CHANGE HISTORY 
*******************************************************************************
** Version 6.0 of this DTD coincides with Revision C to -1C and
** -2C dated 15 December 2015   This is DTD incorporates all changes made in the version 
** 5.0 DTD.  All comments of prior changes have been deleted.
*******************************************************************************
-->
<!--
CHANGE C.00
 
** 001. Per LOGSA direction and MIL STD 40051-1C/2C, added ELEMENTs <configure>, <debug>, <installperdev>, <prepship>, <prepstore>,   <transport>, <uninstallperdev>, <upgrade> all added for maintsk types.  Also removed element <pss>

** 002. Per LOGSA direction, ELEMENT <genmaintman> added

** 003. Per LOGSA direction, ELEMENT <genmaint_ginfowp> added

** 004. Per LOGSA direction, ELEMENT <genmaint_ginfowp> added for general maintenance type

** 005.  Per LOGSA direction, ELEMENT <sam> added

** 006. Per LOGSA direction, ELEMENT <softaccesswp> added

** 007. Per LOGSA direction, ELEMENT <softbiiwp> added

** 008. Per LOGSA direction, ELEMENT <softbiiwp> added

** 009.  Per LOGSA direction, ELEMENT <softbii> added

** 010. Per LOGSA direction, ELEMENT <softginfowp> added

** 011.  Per LOGSA direction, ELEMENT <softsumwp> added

** 012. Per LOGSA direction, ELEMENT <softeffectwp> added

** 013. Per LOGSA direction, ELEMENT <softdiffversionwp> added

** 014. Per LOGSA direction, ELEMENT <softdescdata> added

** 015 Per LOGSA direction, ELEMENT <softerrorswp> added

** 016. Per LOGSA direction, ELEMENT <softgenwp> added

** 017. Per LOGSA direction, ELEMENT <softguiwp> added

** 018. Per LOGSA direction, ELEMENT <softfeaturescapwp> added

** 019. Per LOGSA direction, ELEMENT <softmessageswp> added

** 020. Per LOGSA direction, ELEMENT <softproccmdwp> added

** 021. Per LOGSA direction, ELEMENT <softscreendisplaywp> added

** 022. Per LOGSA direction, ELEMENT <softsecprivwp> added

** 023. Per LOGSA direction, ELEMENT <softmenuwp> added

** 024. Per LOGSA direction, ELEMENT <softpowerupwp> added

** 025. Per LOGSA direction, ELEMENT <softpowerdownwp> added

** 026. Per LOGSA direction, ELEMENT <softsuperctrlswp> added

** 027. Per LOGSA direction, ELEMENT <softtoolswp> added

** 028. Per LOGSA direction, ELEMENT <sopim> added

** 029. Per LOGSA direction, ELEMENT <degree_of_destruct> added to  <destruct-introwp> 

** 030. Per LOGSA direction, ELEMENT <data_install> added to  <framed.frnt>

** 031. Per LOGSA direction, ELEMENT <disc_content> added to  <framed.frnt>

** 032. Per DODD 5230.24 update for distribution statements for use on technical manuals. Added export controlled, Operations Security and 
   Vulnerability Informaiton to dist B and dist E. Added Export Controlled, Vulnerability Informaiton to dist C and dist D. Updated statements   
   for all 12 notices as per 23 August 2012 release date of 5230.24

** 033. Per request by AMCOM and LOGSA to add attributes "idref" and "assocfig"
** to element "key" in control and indicators tables. Provides links from key to the graphics callout.

** 034. Per request from TACOM and LOGSA added attribute to graphic element "boardfile" CDATA   #IMPLIED

** 035. Per MIL STD 40051-2 added DMWR/NMWR Tool Identification List Introduction to simboil boiler plate to accomadate for DMWR/NMWR 
** only paragraph.  new boiler plate is labeled toolidwp.intro.dmwr-nmwr

** 036. Per MIL STD 40051-1 and 2 added intro.uoc-list.explain bolier plate for AAL intro

** 037. Per MIL STD 40051-2 added navy_air | navy_sea as attributes to <servbranch>

** 038. Per MIL STD 40051-2, ELEMENT <softmaintcategory> added

** 039. Per MIL STD 40051-2, ELEMENT <genmaintcategory> added

** 040. Per MIL STD 40051-2, ELEMENT <softmaintcategory> and <genmaintcategory> added to <mim>

** 041. Per MIL STD 40051-1 and 2 updated bolier plates to match text changes in the standard.

** 042. Per LOGSA direction and 40051-1C/2C, added ELEMENTs <lubricantsymbolwp>, <lubetypeswp>, 
** <lospecnoteswp>, <lubeitem>, <lubetab>,    all added for lubeorder manual types.  

** 043. Per LOGSA direction and 40051-1C/2C, added ELEMENT da2028 to lubeorder_rear

** 044.  Per LOGSA direction and 40051-1C/2C, added ELEMENTs <lointrowp> and <sim> to lubeorder

** 045. Per LOGSA direction and 40051-1C/2C, added ELEMENT <lointrowp>

** 046. Per LOGSA direction and MIL-STD 40051-2C, ELEMENT <capacity> added for lubetab

** 047. Per LOGSA direction and MIL-STD 40051-2C, ELEMENT <cageno> added to sysnomen for lube order front cover

** 048.  Per LOGSA direction, ELEMENT <sam> added

** 049.  Per LOGSA direction, ELEMENT <softsysover> added

** 050.  Per LOGSA direction, ELEMENT <softdocover> added

** 051.  Per LOGSA direction, ELEMENT <soft_app> added

** 052.  Per LOGSA direction, ELEMENT <soft_inventory> added

** 053.  Per LOGSA direction, ELEMENT <soft_environment> added

** 054.  Per LOGSA direction, ELEMENT <soft_secpriv> added

** 055.  Per LOGSA direction, ELEMENT <soft_superctrls> added

** 056.  Per LOGSA direction, ELEMENT <soft_assistreport> added

** 057. Per LOGSA and MIL STD 40051 Direction, ELEMENT <softkeycmdswp> added

** 058.  Per LOGSA  and AMCOM direction, ELEMENT <term> and <term.def> added CHANGE attributes

** 059. Per LOGSA direction ELEMENT <dmwr_ammo> changed to allow chapter title pages
** and flow like a normal maintenance manual.

** 060. Per LOGSA and AMCOM direction - changed manuitem element for ease of use and better flow within the manuwp

** 061. Per LOGSA and MIL STD 40051 adding in <mrp> as part of <pi.item>

** 062. Per LOGSA and MIL-STD 40051 adding ELEMENT <policy>

** 064 Per LOGSA and MIL-STD 40051 adding ELEMENT <preservation>

** 065. Per LOGSA and MIL-STD 40051 adding ELEMENT <transportability> added for general information in AMMO manuals. Used to reference to work packages of ** applicable publications

** 066 Per LOGSA and MIL-STD 40051 adding ELEMENT <spectools>

** 067 Per LOGSA and MIL-STD 40051 adding ELEMENT <spectools-setup-item>

** 068 Per LOGSA direction and 40051-1C/2C, added ELEMENT <cmwp>

-->
<!-- CHANGE C.01 May 2016

** 001. Per LOGSA and AMCOM direction - changed troubledmwrnmwrcategory element to allow one or many pshopanalwp

** 002 Per LOGSA and AMCOM Made soft_app optional as data maybe a repeat from the softdescdata section

** 003 Per LOGSA and AMCOM direction - Made soft_secpriv optional. Maybe repeat of data as used in softsecprivwp

** 004 Per LOGSA and AMCOM direction - Made softfeaturescapwp and softscreendisplaywp optional. Maybe repeat of data.
 
*******************************************************************************
-->

<!-- CHANGE C.02 OCT 2016

** 001. Per LOGSA and AMCOM direction - changed ENTITY changelevel (inschlvl and delchlvl) to allow for up to 99 changes
** 002. Per LOGSA and ARDEC moved dmwr_operationalreqwp to the depotcategory maintenance
** 003. Per MIL STD 40051 4.7.9.4.5 Mandatory replacement parts <mrp> added as well as ENTITIES 4.7.9.4.5 <!ENTITY % optmrp 
	"persnreq?, %optpersnreq;"> <!ENTITY % optmtrlpart "mrp?, %optmrp;">
** 004. ELEMENT <maintlvl> added USER and ADMINISTRATOR as levels for software manuals

-->

<!-- CHANGE C.03  June 2017

** 001. Per LOGSA and AMCOM direction - Updated ELEMENT <aftermessage> to accommodate all linking types
** 002. Per AMCOM and TACOM direction - Update ELEMENT <paper.manual> for proper order of the chapters per the matrix in the MIL-STD.
** 003. Per LOGSA direction, ELEMENT <functionhierarchy> order updated to put dim, bim and soim before PIM as per the 40051 matrix
** 004. Per LOGSA direction, ELEMENT <systemhierarchy> child element order changed to match the 40051 matrix placing the dim, bi and soim before the PIM work packages
** 005. Per LOGSA and AMCOM direection - added ATTRIBUTE 'numbering (yes| no) no' to subpara1, subpara2, subpara3, subpara4 to allow for numbering of paragraphs when needed.
** 006. Per LOGSA and AMCOM direection - added ATTRIBUTE 'numbering (yes| no) no' to para0 to allow for numbering of paragraphs and subparagraphs when needed.
-->

<!--CHANGE TO 6.3 May 2019
**Changes to <diagnosticwp> and associated ELEMENTs and ENTITIES.
**001. Per LDAC and AMCOM direction - Added variableref to data ENTITY.
**002. Per LDAC and AMCOM direction - Removed diagnostic-test ENTITY.
**003. Per LDAC and AMCOM direction - Removed <diagnostic_initial> and <diagnostic_initial-alt> ELEMENTs.
**004. Per LDAC and AMCOM direction - Removed statemanipulation_ent ENTITY and <statemanipulation-alt> ELEMENT.
**005. Per LDAC and AMCOM direction - Removed hookup_ent ENTITY and <hookup-alt> ELEMENT.
**006. Per LDAC and AMCOM direction - Removed disconnect_ent ENTITY and <disconnect-alt> ELEMENT.
**007. Per LDAC and AMCOM direction - Removed <multioption> ELEMENT.
**008. Per LDAC and AMCOM direction - Removed <simple> ELEMENT.
**009. Per LDAC and AMCOM direction - Added result ENTITY to allow for resultwithstate or resultwithoutstate.
**010. Per LDAC and AMCOM direction - Added <stateinitialization> ELEMENT and included it at 'op-level' of <diagnosticwp>.
**011. Per LDAC and AMCOM direction - Made the application ATTRIBUTE of diagnostic ELEMENT required.
**012. Per LDAC and AMCOM direction - Added required return-name ATTRIBUTE to <receiveparameter> ELEMENT.
**013. Per LDAC and AMCOM direction - Replaced <message> ELEMENT in <diagnostic_group> with a button_title ATTRIBUTE.
**014. Per LDAC and AMCOM direction - Added <diagnostic-tracks>, <diagnostic-track-automated> and < diagnostic-track-manual> ELEMENTs.

**Additional Changes
**015. Per field request added APPLICABLE attribute to <ssysthry> ELEMENT.
**016. Per field request added APPLICABLE attribute to <avmac-group-2lvl> ELEMENT.
**017. Per field request added APPLICABLE attribute to <avqualify-2lvl> ELEMENT.
**018. Per field request added APPLICABLE attribute to <avcompassem-group-2lvl> ELEMENT.
**019. Per field request added APPLICABLE attribute to <mac-group-2lvl> ELEMENT.
**020. Per field request added APPLICABLE attribute to <qualify-2lvl> ELEMENT.
**021. Per field request added APPLICABLE attribute to <compassemgroup-2lvl> ELEMENT.
-->

<!-- ENTITY DECLARATIONS
*******************************************************************************
**             E X T E R N A L   E N T I T Y   I N C L U S I O N 
**
**     Graphic and Multimedia non-XML Notation types
**     ISO Character sets
*******************************************************************************
-->
<!ENTITY % notationset PUBLIC "-//DOD-USA//ENTITIES MIL-STD-40051 Notation 
Definitions REV C 6.0 20151230//EN" "charent/notation.ent">
%notationset;
<!ENTITY % characterset PUBLIC "-//DOD-USA//ENTITIES MIL-STD-40051 Unicode 
Character Sets REV C 6.0 20151230//EN" "charent/character.ent">
%characterset;
<!ENTITY % selection_boilerplate PUBLIC "-//USA-DOD//ENTITIES MIL-STD-40051 
Selection Boilerplate REV C 6.0 20151230//EN" "boilerplate/selectboil.ent">
%selection_boilerplate;
<!ENTITY % editable_boilerplate PUBLIC "-//USA-DOD//ENTITIES MIL-STD-40051 
Editable Boilerplate REV C 6.0 20151230//EN" "boilerplate/editboil.ent">
%editable_boilerplate;
<!ENTITY % prod_boilerplate PUBLIC "-//USA-DOD//ENTITIES MIL-STD-40051 
PRODUCTION Boilerplate REV C 6.0 20151230//EN" "boilerplate/prodboil.ent">
%prod_boilerplate;
<!ENTITY % gim_boilerplate PUBLIC "-//USA-DOD//ENTITIES MIL-STD-40051 GIM 
Boilerplate REV C 6.0 20151230//EN" "boilerplate/gimboil.ent">
%gim_boilerplate;
<!ENTITY % mim_boilerplate PUBLIC "-//USA-DOD//ENTITIES MIL-STD-40051 MIM 
Boilerplate REV C 6.0 20151230//EN" "boilerplate/mimboil.ent">
%mim_boilerplate;
<!ENTITY % pim_boilerplate PUBLIC "-//USA-DOD//ENTITIES MIL-STD-40051 PIM 
Boilerplate REV C 6.0 20151230//EN" "boilerplate/pimboil.ent">
%pim_boilerplate;
<!ENTITY % sim_boilerplate PUBLIC "-//USA-DOD//ENTITIES MIL-STD-40051 SIM 
Boilerplate REV C 6.0 20151230//EN" "boilerplate/simboil.ent">
%sim_boilerplate;
<!ENTITY % dim_boilerplate PUBLIC "-//USA-DOD//ENTITIES MIL-STD-40051 DIM 
Boilerplate REV C 6.0 20151230//EN" "boilerplate/dimboil.ent">
%dim_boilerplate;
<!--DOCUMENTATION
*******************************************************************************
**              E N T I T Y   A T T R I B U T E    D E F I N I T I O N S
**
**   Common attribute type groups used in the DTD
*******************************************************************************
-->
<!ENTITY % secur " security  (uc | fouo | c | s | ts )  #IMPLIED">
<!ENTITY % graphicunit " unitmeasure  (mm | cm | px | in | pt | pi )  'in'">

<!--CHANGE C 02 - 16 October 2015 - TOG
*******************************************************************************
** Per LOGSA, AMCOM direction and MIL-STD 40051-2C, ELEMENT <maintlvl> added USER and ADMINISTRATOR as levels for software manuals
*******************************************************************************
-->

<!ENTITY % maintlevel "crew | operator | maintainer | below_depot | asb | amc | tasmg | depot | user | administrator">
<!ENTITY % referencetype "tm | sc | wp | test | task | step1 | paragraph | 
        figure | table | part | document | setup.item | frame.help | program | 
        multimedia | hotspot | pageno">
<!ENTITY % yesorno "(yes | no) #IMPLIED">
<!ENTITY % yes_att "(yes | no)  'yes'">
<!ENTITY % no_att "(yes | no)  'no'">
<!ENTITY % graphicatt " boardno     ENTITY  #REQUIRED
			boardfile CDATA   #IMPLIED
             reprowid    CDATA   #IMPLIED
             reprodep    CDATA   #IMPLIED
             %graphicunit;
             hscale      CDATA   #IMPLIED
             vscale      CDATA   #IMPLIED
             scalefit     (yes | no )  #IMPLIED
             alt         CDATA   #IMPLIED">
             
<!--DOCUMENTATION
*******************************************************************************
**                         E N T I T Y   A T T R I B U T E S
**
**   Common attribute groups used in the DTD
*******************************************************************************
-->

<!ENTITY % idrefs " id       ID      #IMPLIED
           idref    IDREFS  #IMPLIED
           assocfig IDREFS  #IMPLIED">
<!ENTITY % refs " idref    IDREFS  #IMPLIED
            assocfig IDREFS  #IMPLIED">
<!ENTITY % changelevel " inschlvl  (0|1|2|3|4|5|6|7|8|9|10|11|12|13|14|15|16|17|18|19|20|21|22|23|24|25|26|27|28|29|30|31|32|33|34|35|36|37|38|39|40|41|42|43|44|45|46|47|48|49|50|51|52|53|54|55|56|57|58|59|60|61|62|63|64|65|66|67|68|69|70|71|72|73|74|75|76|77|78|79|80|81|82|83|84|85|86|87|88|89|90|91|92|93|94|95|96|97|98|99)  '0' 
                delchlvl (0|1|2|3|4|5|6|7|8|9|10|11|12|13|14|15|16|17|18|19|20|21|22|23|24|25|26|27|28|29|30|31|32|33|34|35|36|37|38|39|40|41|42|43|44|45|46|47|48|49|50|51|52|53|54|55|56|57|58|59|60|61|62|63|64|65|66|67|68|69|70|71|72|73|74|75|76|77|78|79|80|81|82|83|84|85|86|87|88|89|90|91|92|93|94|95|96|97|98|99)  '0' 
                comment   CDATA   #IMPLIED
                changeref IDREFS  #IMPLIED">
<!ENTITY % bodyidatt " %changelevel;
                    %idrefs;
                    skilltrk    CDATA  #IMPLIED
                    %secur; ">
<!ENTITY % bodyatt " %changelevel;
                 %refs;
                 skilltrk    CDATA  #IMPLIED
                 %secur;">
<!ENTITY % frameatt " frame      (yes | no )  'no'
                  %bodyidatt;">
<!ENTITY % stdinfoatt " applicable IDREFS  #IMPLIED
                    %bodyidatt;
                     tocentry    (0 | 1 | 2 | 3 | 4 | 5 )  '1'">
<!ENTITY % applidatt " applicable IDREFS  #IMPLIED
%bodyidatt;">
<!ENTITY % setupatt " id          ID      #IMPLIED
   applicable  IDREFS  #IMPLIED
   %changelevel;">
<!ENTITY % hcpesd " hcp  (yes | no )  'no'
   esd  (yes | no )  'no'">
<!ENTITY % qa " qa  (yes | no )  'no'">
<!ENTITY % imatt " chap-toc   (yes | no )  'yes'
   revno     CDATA  #REQUIRED
   frame      (yes | no )  'yes'
   chngno    CDATA  #REQUIRED
   tocentry   (0 | 1 | 2 )  '1'
   ">
<!ENTITY % taskatt " %hcpesd;
   frame            (yes | no )  'yes'
   tocentry         (0 | 3 | 4 | 5 )  '0'
   date-time-stamp  (date | time | date-time )  #IMPLIED
   %applidatt;">
<!ENTITY % wpatt " wpno            ID     #REQUIRED
   crewmember      CDATA  #IMPLIED
   tocentry         (2 | 3 | 4 | 5 )  '2'
   date-time-stamp  (date | time | date-time )  #IMPLIED
   frame            (yes | no )  'yes'
   army      (yes | no )  'no'
   airforce  (yes | no )  'no'
   navy      (yes | no )  'no'
   marines   (yes | no )  'no'
    fgc      CDATA  #IMPLIED
   lsa-id   CDATA  #IMPLIED
   wpseq    CDATA  #IMPLIED
   insertwp CDATA  #IMPLIED
   deletewp  (yes | no )  'no'
   chngno   CDATA  #REQUIRED
   changelvl   (0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 )  '0'
   %bodyatt;">
<!ENTITY % wplevel " level  (%maintlevel; )  #REQUIRED">

<!--DOCUMENTATION
*******************************************************************************
**                   E N T I T Y   E L E M E N T 
**
**   Common element model groups used in the DTD
*******************************************************************************
-->
<!ENTITY % partid "(partno, cageno)">
<!ENTITY % alert "(warning*, csi.alert*, caution*, note*)">

<!--Commenting out diagnostic-test_ent per AMCOM request regarding diagnosticwp-->
<!--<!ENTITY % diagnostic-test_ent "comp-locator | diagnostic_initial | 
        diagnostic_initial-alt | diagnostic_group | interaction">-->
        
<!ENTITY % format "#PCDATA | emphasis | subscrpt | supscrpt">
<!ENTITY % linkref "xref | extref | link">
<!ENTITY % linkdata "%format; | %linkref; | help.info | indxref | term | 
            term.def">
<!ENTITY % data "%linkdata; | callout | ftnote | ftnref | graphic | variableref">
<!ENTITY % misc "ctrlind | ctrlind-val | dodac | lubricant | symbol | torque | 
       voltage | null">
<!ENTITY % text_ent "%data; | %misc; | change">
<!ENTITY % list "seqlist | randlist | deflist">
<!ENTITY % trimcontent "%text_ent; | internet | proponent | phone">
<!ENTITY % p "para | specpara">
<!ENTITY % para0_ent "para0 | para0-alt+">
<!ENTITY % figtab "figure | figure-alt | table | table-alt | lubetab">
<!ENTITY % step "((%figtab;) | step1 | step1-alt)">
<!--DOCUMENTATION
*******************************************************************************
**                         E N T I T Y   A T T R I B U T E S
**
**   Common attributes groups used in the DTD
*******************************************************************************
-->
<!ENTITY % wpsetup "wpidinfo, initial_setup, %alert;, geninfo?">
<!ENTITY % mixparagraph "(((note*, para)+, (%para0_ent;)*) | (%para0_ent;)+)">
<!ENTITY % titldtext "(title, (%figtab;)*, %mixparagraph;)">
<!ENTITY % extref_ent "extref | link">
<!ENTITY % localref "xref | link">
<!ENTITY % titldtextproc "((proc)+ | (%para0_ent;))">
<!ENTITY % volumegroup "(volume | (vol-rear, volume?))?">
<!ENTITY % warning_ent "((icon-set+, signalword?)?, (trim.para | randlist)+)">
<!ENTITY % mimsupport "(manu_items_introwp, manuwp+)?, torquewp?, wiringwp*">
<!ENTITY % optdwgreq "time.to.comp*">
<!ENTITY % optspecenv "dwgreq?, %optdwgreq;">
<!ENTITY % opteqpconds "specenv?, %optspecenv;">
<!ENTITY % optref "eqpconds?, %opteqpconds;">
<!ENTITY % optpersnreq "ref?, %optref;">

<!-- CHANGE C 02 - 1 OCT 2016 - TOG
*******************************************************************************
** Per LOGSA direction and MIL-STD 40051-2C, Added new entities optmrp and updated optmtrlpart 
*******************************************************************************
-->
<!ENTITY % optmrp "persnreq?, %optpersnreq;">
<!ENTITY % optmtrlpart "mrp?, %optmrp;">

<!--<!ENTITY % optmtrlpart "persnreq?, %optpersnreq;">-->
<!ENTITY % opttools "mtrlpart?, %optmtrlpart;">
<!ENTITY % optspectools "tools?, %opttools;">
<!ENTITY % opttesteqp "tools?, %opttools;">
<!ENTITY % value "boolean | string | real | integer | fault">
<!ENTITY % variable_ent "expression | variableref | %value; | nil">
<!ENTITY % binop "eq | ne | lt | gt | le | ge | and | or | xor | concat | 
     substring | plus | minus | times | divide | exponent | exp | idivide 
     | modulus">
<!ENTITY % unop "not | empty | factorial | sqrt | neg | trunc | float | 
       index | defined | size">
<!ENTITY % trigop "arccos | arcsin | arctan | cos | cosh | csc | csch | log 
   | ln | sec | sech | sin | sinh | tan | tanh">
<!ENTITY % variablescope "global | local">
<!ENTITY % dialog_ent "dialog">
<!ENTITY % tsdata "(sysdesc?, (interconnect | testflow | funcdepend | 
     schematic | comp-locator | harness-indx)*)">
<!ENTITY % chkeqpstdinfo "(crit.insp.tab | pecul.insp.tab)">
<!ENTITY % paper.size " fit.paper.size  (pocket | logbook | standard | 
      double )  'standard'">
<!ENTITY % commondistreason "adminops |  crittech | exportctrl | frgngvt | softwaredoc | specauth | vulninfo">
<!ENTITY % ammo_ent "(wp.metadata?, wpidinfo, initial_setup, %alert;, geninfo?, 
               (mark | ammo.handling | ammotype)+)">
<!ENTITY % result "resultwithstate | resultwithoutstate">
<!--DOCUMENTATION
*******************************************************************************
**                   E L E M E N T   C O N T E N T   M O D E L
**
**   Element content model definition 
*******************************************************************************
-->
<!ELEMENT a.statement EMPTY>
<!ELEMENT aal (title, (aal-category+ | aal-entry+))>
<!ATTLIST aal
	%frameatt;
>
<!ELEMENT aal-category (title, aal-entry+)>
<!ATTLIST aal-category
	%frameatt;
>
<!ELEMENT aal-entry (nsn+, dcpno, ui, qty)>
<!ATTLIST aal-entry
	%bodyidatt;
>
<!ELEMENT aalwp (wp.metadata?, wpidinfo, intro, aal)>
<!ATTLIST aalwp
	%wpatt;
>
<!ELEMENT abbrev (%titldtext;)>
<!ATTLIST abbrev
	%bodyidatt;
>
<!ELEMENT accept (%data;)*>
<!ATTLIST accept
	%bodyidatt;
>
<!ELEMENT acceptance (%titldtext;)>
<!ATTLIST acceptance
	%changelevel;
>
<!ELEMENT acceptqual (%text_ent;)*>
<!ELEMENT accpt-rpbl-nonrpbl-entry (accept, repairable, nonrepairable)>
<!ATTLIST accpt-rpbl-nonrpbl-entry
	%applidatt;
>
<!ELEMENT action (%alert;, ((%step;)+ | %p;))>
<!ATTLIST action
	%bodyidatt;
>
<!ELEMENT actionreq (%text_ent;)*>
<!ATTLIST actionreq
	%applidatt;
>
<!ELEMENT address (servnomen?, street*, city, state, zip?, country?, phone*, internet*)>
<!ATTLIST address
	%bodyatt;
>
<!ELEMENT adjust (proc)+>
<!ATTLIST adjust
	%taskatt;
>
<!ELEMENT adminops EMPTY>
<!ATTLIST adminops
	distreason CDATA #FIXED "to protect technical or operational data or information from automatic dissemination under the International Exchange Program or by other means. This protection covers publications required solely for official use or strictly for administrative or operational purposes. This statement may apply to manuals, pamphlets, technical orders, technical reports, and other publications containing valuable technical or operational data"
>
<!--CHANGE C 03 - 12 June 2017 - TOG
*******************************************************************************
** Per LOGSA direction and MIL-STD 40051-2C, Updated ELEMENT <aftermessage> to accommodate all linking types
*******************************************************************************
-->
<!ELEMENT aftermessage (%linkref;)>

<!ELEMENT aindx (title, trim.para?, col.title, col.title?, (alphaindx?, indexentry)*)?>
<!ATTLIST aindx
	%stdinfoatt;
>
<!ELEMENT align (proc)+>
<!ATTLIST align
	%taskatt;
>
<!ELEMENT alignproc (proc)+>
<!ATTLIST alignproc
	%taskatt;
>
<!ELEMENT alphaindx (#PCDATA)>
<!ELEMENT ammo ((paper.frnt, gim, %volumegroup;, (opim, %volumegroup;)*, (mim, %volumegroup;)+, dim, sim, rear) | (framed.frnt, gim, opim*, mim+, dim, sim, (da2028+, authent)))>
<!ATTLIST ammo
	pubno CDATA #IMPLIED
	maintitl CDATA #REQUIRED
	maintlvls (10 | 13 | 14 | 23 | 24 | 40) #REQUIRED
	rpstl (yes | no | only) "no"
	revno CDATA #REQUIRED
	multivolume %no_att;
>
<!ELEMENT ammo.defect (proc)+>
<!ATTLIST ammo.defect
	%taskatt;
>
<!ELEMENT ammo.handling (unpack | pack)>
<!ELEMENT ammo.markingwp (%ammo_ent;)>
<!ATTLIST ammo.markingwp
	%wpatt;
>
<!ELEMENT ammomarkingcategory (ammo.markingwp+)>
<!ELEMENT ammotype (name, (%p;)+)>
<!ELEMENT ammowp (wp.metadata?, wpidinfo, initial_setup, %alert;, geninfo?, (mark | ammo.defect | ammo.handling | clean | paint)+)>
<!ATTLIST ammowp
	%wpatt;
>
<!ELEMENT ammunitioncategory (ammowp | ammo.markingwp | natowp)+>
<!ELEMENT and EMPTY>
<!ELEMENT answer (%text_ent; | para)*>
<!ATTLIST answer
	answerval (yes | no | pass | fail | true | nottrue | value | unantic) #REQUIRED
	value CDATA #IMPLIED
	%bodyidatt;
>
<!ELEMENT applic_ref_list (applic+)>
<!ELEMENT applic (name, (nsn?, (%partid;)?, (not?, (set | range | single))+))>
<!ATTLIST applic
	id ID #REQUIRED
	abbrevcode CDATA #REQUIRED
>
<!ELEMENT applicability (#PCDATA)>
<!ELEMENT arccos EMPTY>
<!ELEMENT arcsin EMPTY>
<!ELEMENT arctan EMPTY>
<!ELEMENT areano (#PCDATA)>
<!ELEMENT arm (proc)+>
<!ATTLIST arm
	%taskatt;
>
<!ELEMENT assem (proc)+>
<!ATTLIST assem
	%taskatt;
>
<!ELEMENT authent EMPTY>
<!ATTLIST authent
	%graphicatt;
>
<!ELEMENT author (name, proponent)>
<!ELEMENT authorize_to_destroy (title, para)>
<!ATTLIST authorize_to_destroy
	%bodyidatt;
>
<!ELEMENT auxeqpwp (wp.metadata?, wpidinfo, initial_setup, %alert;, geninfo?, (maintsk+ | proc+))>
<!ATTLIST auxeqpwp
	%wpatt;
>
<!ELEMENT auxiliarycategory (auxeqpwp+, %mimsupport;)>
<!ELEMENT avail (title?, text, proponent, text)>
<!ELEMENT avcompassem-group-2lvl (compassem, avqualify-2lvl+)>
<!ATTLIST avcompassem-group-2lvl
	applicable IDREFS  #IMPLIED
>
<!ELEMENT aviationcategory (surwp*, perseqpwp*, (pmiwp | lubewp | maintwp | gen.maintwp)+, orschwp, (manu_items_introwp, manuwp+)?, torquewp?, inventorywp?, storagewp*, wtloadwp+, wiringwp*)>
<!ELEMENT avmac (title, avmac-group-2lvl+)>
<!ATTLIST avmac
	%bodyidatt;
>
<!ELEMENT avmac-group-2lvl (groupno, ((compassem, avqualify-2lvl+) | avcompassem-group-2lvl+))>
<!ATTLIST avmac-group-2lvl
	%bodyidatt;
	applicable IDREFS  #IMPLIED
>
<!ELEMENT avmaintclass-2lvl ((o, f?, l?, d?) | (f, l?, d?) | (l, d?) | d)>
<!ELEMENT avqualify-2lvl (maintfunc, avmaintclass-2lvl, terefs?, remarkrefs?)>
<!ATTLIST avqualify-2lvl
	applicable IDREFS  #IMPLIED
>
<!ELEMENT b.statement ((%commondistreason; | cntrctperform | opsec | premature | proprietary | testeval)*, reasondate, releaseagent)>
<!ELEMENT back EMPTY>
<!ATTLIST back
	boardno ENTITY #IMPLIED
	reprowid CDATA #IMPLIED
	reprodep CDATA #IMPLIED
	%graphicunit;
                  hscale      CDATA   #IMPLIED
                  vscale      CDATA   #IMPLIED
                  scalefit     (yes | no )  #IMPLIED
                  alt         CDATA   #IMPLIED
>
<!ELEMENT baim (titlepg, damage-assesswp+)>
<!ATTLIST baim
	%imatt;
>
<!ELEMENT badtext (%text_ent;)*>
<!ELEMENT bdar ((framed.frnt | paper.frnt), gim, baim, brim+, sim, rear?)>
<!ATTLIST bdar
	pubno CDATA #IMPLIED
	maintitl CDATA #REQUIRED
	revno CDATA #REQUIRED
	%paper.size;
                  %secur;
>
<!ELEMENT bdarcategory (bdartoolswp?, explistwp, substitute-matwp)>
<!ELEMENT bdartoolswp (wp.metadata?, wpidinfo, initial_setup?, intro, ((toolidlist, (intro, manuindx, bdar-manuitem+)?) | (manuindx, bdar-manuitem+)))>
<!ATTLIST bdartoolswp
	%wpatt;
>
<!ELEMENT bdar-combat-threat (%titldtext;)>
<!ATTLIST bdar-combat-threat
	%bodyidatt;
>
<!ELEMENT bdar-geninfowp (wp.metadata?, wpidinfo, bdar-std-practices, bdar-task-resp, bdar-combat-threat?)>
<!ATTLIST bdar-geninfowp
	%wpatt;
>
<!ELEMENT bdar-limitation (title, text)>
<!ATTLIST bdar-limitation
	%bodyidatt;
>
<!ELEMENT bdar-manuitem (title, initial_setup, %alert;, (proc+ | (graphic | %p; | step1 | figure | table | material-list | partdesc)+))>
<!ATTLIST bdar-manuitem
	%bodyidatt;
>
<!ELEMENT bdar-mtrl-tools (title, ((mtrlpart-setup-item+, tools-setup-item*) | tools-setup-item+))>
<!ATTLIST bdar-mtrl-tools
	%bodyidatt;
>
<!ELEMENT bdar-persn (title, bdar-persn-item+)>
<!ATTLIST bdar-persn
	%bodyidatt;
>
<!ELEMENT bdar-persn-item (persnreq-setup-item, time.to.comp)>
<!ATTLIST bdar-persn-item
	%bodyidatt;
>
<!ELEMENT bdar-repair (title, geninfo, (bdar-repair-proc+ | bdar-repair-option))>
<!ATTLIST bdar-repair
	%bodyidatt;
>
<!ELEMENT bdar-repair-option (title, para?, bdar-repair-proc+)>
<!ATTLIST bdar-repair-option
	%bodyidatt;
>
<!ELEMENT bdar-repair-proc (bdar-limitation+, bdar-persn?, bdar-mtrl-tools?, proc+)>
<!ATTLIST bdar-repair-proc
	%bodyidatt;
>
<!ELEMENT bdar-std-practices (%titldtext;)>
<!ATTLIST bdar-std-practices
	%bodyidatt;
>
<!ELEMENT bdar-task-resp (%titldtext;)>
<!ATTLIST bdar-task-resp
	%bodyidatt;
>
<!ELEMENT bii ((figure+ | graphic+), biitab+)+>
<!ATTLIST bii
	%bodyidatt;
>
<!ELEMENT bii-category (title, bii-entry+)>
<!ATTLIST bii-category
	%bodyidatt;
>
<!ELEMENT bii-entry (illno, (nsn, dcpno, ui, qty)+)>
<!ATTLIST bii-entry
	%bodyidatt; 
   applicable IDREFS  #IMPLIED
>
<!ELEMENT bii-opt (title, (bii-opt-category+ | bii-opt-entry+))>
<!ATTLIST bii-opt
	%bodyidatt;
>
<!ELEMENT bii-opt-category (title, bii-opt-entry+)>
<!ATTLIST bii-opt-category
	%bodyidatt;
>
<!ELEMENT bii-opt-entry (itemno, nsn, graphic, dcpno, ui, qty)>
<!ATTLIST bii-opt-entry
	%bodyidatt; 
   applicable IDREFS  #IMPLIED
>
<!ELEMENT biitab (title, (bii-category+ | bii-entry+))>
<!ATTLIST biitab
	%bodyidatt;
>
<!ELEMENT bim (titlepg, bdar-geninfowp, damage-assesswp+, genrepairwp+, bdartoolswp?, substitute-matwp)>
<!ATTLIST bim
	%imatt;
>
<!ELEMENT binarymenu (precond?, enable?, prompt, yesstate, nostate)>
<!ATTLIST binarymenu
	%applidatt;
                        answer     (yesno | truefalse | passfail ) "yesno"
	default    %yesorno;
                        type       (radio | button | pulldown ) "radio"
	select     (single ) "single"
	flow       (list | inline ) "list"
	mandatory %yes_att;
>
<!ELEMENT boi (%text_ent;)*>
<!ATTLIST boi
	%bodyatt;
>
<!ELEMENT boolean (true | false)>
<!ELEMENT branchref EMPTY>
<!ATTLIST branchref
	textblockid IDREF #REQUIRED
	branch ID #REQUIRED
	branchlabel CDATA #IMPLIED
	branchfrom IDREFS #REQUIRED
	branchto IDREFS #REQUIRED
>
<!ELEMENT brim (titlepg, genrepairwp+)>
<!ATTLIST brim
	%imatt;
>
<!ELEMENT brk EMPTY>
<!ELEMENT bulk_itemswp (wp.metadata?, wpidinfo, fncgrp, pi.item+)>
<!ATTLIST bulk_itemswp
	%wpatt;
>
<!ELEMENT button (prompt, (link | dialog))>
<!ELEMENT c (#PCDATA)>
<!ELEMENT c.statement ((%commondistreason;)*, reasondate, releaseagent)>
<!ELEMENT cageno (#PCDATA)>
<!ELEMENT calibration (proc+)>
<!ATTLIST calibration
	%taskatt;
>
<!ELEMENT calign (extconn | setconn | alignproc)>
<!ELEMENT callout EMPTY>
<!ATTLIST callout
	id ID #IMPLIED
	numref IDREF #IMPLIED
	partref IDREF #IMPLIED
	assocfig IDREF #REQUIRED
	label CDATA #IMPLIED
	applicable IDREFS  #IMPLIED
>
<!ELEMENT calref (%titldtext;)>
<!ATTLIST calref
	%bodyidatt;
>
<!--CHANGE C 00 - 16 June 2015 - TOG
*******************************************************************************
** Per LOGSA direction and MIL-STD 40051-2C, ELEMENT <capacity> added for lubetab
*******************************************************************************
-->
<!ELEMENT capacity (#PCDATA)>
<!ELEMENT caution ((caution.group, caution.group+) | (icon-set*, (trim.para, randlist?))+ | randlist)>
<!ATTLIST caution
	%bodyidatt; 
					  applicable IDREFS  #IMPLIED
>
<!ELEMENT caution.group (icon-set*, ((trim.para, randlist?)+ | randlist))>
<!ATTLIST caution.group
	%bodyidatt;
>
<!ELEMENT certreq (%titldtext;)>
<!ATTLIST certreq
	%changelevel;
>
<!ELEMENT change (%data; | %misc;)*>
<!ATTLIST change
	%changelevel;
>
<!ELEMENT change.history (author, date, wp.status, reason, qualityassurance?)>
<!ATTLIST change.history
	id ID #IMPLIED
>
<!ELEMENT checked (%format;)*>
<!ELEMENT checklistcategory (pmi-cklistwp+)>
<!ELEMENT checkstep ((%step;)+, (indication, ((malfunc, (action | xref))+ | (action | xref)))+)>
<!ATTLIST checkstep
	%bodyidatt;
>
<!ELEMENT chgdate (#PCDATA)>
<!ATTLIST chgdate
	julian CDATA #IMPLIED
>
<!ELEMENT chghistory (((pageno, pageno?) | (title, totnum.pages) | (wpno, wppages)), chgno)>
<!ATTLIST chghistory
	modified (added | deleted | blank | none | changed) "changed"
>
<!ELEMENT chglist (trim.para, (chgpagelist | chgwplist)?)>
<!ATTLIST chglist
	label CDATA #IMPLIED
>
<!ELEMENT chgno (#PCDATA)>
<!ELEMENT chgpage (removepg, insertpg)>
<!ELEMENT chgpagelist (title, title, chgpage+)>
<!ELEMENT chgsheet (chgno, (title?, servnomen)+, city, state, chgdate, prtitle, (stitle, weapons_system?)?, notices, trim.para, chglist+, authent)>
<!ATTLIST chgsheet
	date CDATA #IMPLIED
	%bodyidatt;
>
<!ELEMENT chgvol (#PCDATA)>
<!ELEMENT chgwplist (title, wpno+)>
<!ELEMENT chkeqp (title, %alert;, geninfo?, figure*, (((%p;)+, ((%chkeqpstdinfo;)* | (proc+, %chkeqpstdinfo;)*)) | (%chkeqpstdinfo;)+ | (proc+, %chkeqpstdinfo;)+))>
<!ATTLIST chkeqp
	%taskatt;
>
<!ELEMENT chklist (coverpage, intro?, pshopchk.tab)>
<!ATTLIST chklist
	%bodyidatt;
>
<!ELEMENT choice (precond?, enable?, text, ((link | dialog)? | button*), statemanipulation+)>
<!ATTLIST choice
	%applidatt;
                    default %yesorno;
>
<!ELEMENT city (#PCDATA)>
<!ATTLIST city
	%changelevel;
>
<!ELEMENT ckremarks (%text_ent;)*>
<!ATTLIST ckremarks
	%bodyidatt;
>
<!ELEMENT clean (proc+)>
<!ATTLIST clean
	%taskatt;
>

<!ELEMENT cmwp (wp.metadata?, wpidinfo, intro, cmlist)>
<!ATTLIST cmwp
	%wpatt;
>

<!ELEMENT cmlist (title, cm-entry+)>
<!ATTLIST cmlist
	%bodyidatt;
>

<!ELEMENT cm-entry (nsn, dcpno, ui, qty)+>
<!ATTLIST cm-entry
	%bodyidatt; 
   applicable IDREFS  #IMPLIED
>


<!ELEMENT cntrctperform EMPTY>
<!ATTLIST cntrctperform
	distreason CDATA #FIXED "to protect information in management reviews, records of contract performance evaluation, or other advisory documents evaluating programs of contractors"
>
<!ELEMENT coei ((figure+ | graphic+), coeitab+)+>
<!ATTLIST coei
	%bodyidatt;
>
<!ELEMENT coeibiiwp (wp.metadata?, wpidinfo, intro, (coei | coei-opt), (bii | bii-opt))>
<!ATTLIST coeibiiwp
	%wpatt;
>
<!ELEMENT coei-category (title, coei-entry+)>
<!ATTLIST coei-category
	%bodyidatt;
>
<!ELEMENT coei-entry (illno, (nsn, dcpno, ui, qty)+)>
<!ATTLIST coei-entry
	%bodyidatt; 
   applicable IDREFS  #IMPLIED
>
<!ELEMENT coei-opt (title, (coei-opt-category+ | coei-opt-entry+), on-board-spares-opt?)>
<!ATTLIST coei-opt
	%bodyidatt;
>
<!ELEMENT coei-opt-category (title, coei-opt-entry+)>
<!ATTLIST coei-opt-category
	%bodyidatt;
>
<!ELEMENT coei-opt-entry (itemno, nsn, graphic, dcpno, ui, qty)>
<!ATTLIST coei-opt-entry
	%bodyidatt; 
   applicable IDREFS  #IMPLIED
>
<!ELEMENT coeitab (title, (coei-category+ | coei-entry+), on-board-spares?)>
<!ATTLIST coeitab
	%bodyidatt;
	applicable IDREFS  #IMPLIED
>
<!ELEMENT col.title (#PCDATA)>
<!ATTLIST col.title
	newline (yes | no) #IMPLIED
>
<!ELEMENT colspec EMPTY>
<!ATTLIST colspec
	colnum CDATA #IMPLIED
	colname NMTOKEN #IMPLIED
	align (left | right | center | justify | char) #IMPLIED
	charoff CDATA #IMPLIED
	char CDATA #IMPLIED
	colwidth CDATA #IMPLIED
	colsep (0 | 1) #IMPLIED
	rowsep (0 | 1) #IMPLIED
>
<!ELEMENT common_part_ref EMPTY>
<!ATTLIST common_part_ref
	idref IDREF #REQUIRED
>
<!ELEMENT compassem (name, typedes?)>
<!ATTLIST compassem
	%bodyidatt;
>
<!ELEMENT compassemgroup-2lvl (compassem, qualify-2lvl+)>
<!ELEMENT compchklist (name, serialno?, daterec?, recfrom?, compname?, nsn?, (partno, cageno)*, qty?, qtyrec?, damage?)>
<!ATTLIST compchklist
	%bodyidatt;
	applicable IDREFS  #IMPLIED
>
<!ELEMENT compchklistwp (wp.metadata?, wpidinfo, initial_setup, intro, compchklist)>
<!ATTLIST compchklistwp
	%wpatt;
>
<!ELEMENT comp-item (title?, figure*, %mixparagraph;)>
<!ATTLIST comp-item
	applicable IDREFS #IMPLIED
	%bodyidatt;
>
<!ELEMENT comp-locator (graphic)>
<!ATTLIST comp-locator
	%bodyidatt;
>
<!ELEMENT completed_test (%step;)*>
<!ELEMENT compname (%text_ent;)*>
<!ELEMENT compnt-assem-entry (eqpitem, accpt-rpbl-nonrpbl-entry+)>
<!ATTLIST compnt-assem-entry
	%applidatt;
>
<!ELEMENT component_desc (%para0_ent;)>
<!ATTLIST component_desc
	%bodyidatt;
>
<!ELEMENT component_spares (%para0_ent;)>
<!ATTLIST component_spares
	%bodyidatt;
>
<!ELEMENT concat EMPTY>
<!ELEMENT condition (%data;)*>
<!ATTLIST condition
	%bodyatt;
>
<!ELEMENT config (trim.para?, config-setup-item+)>
<!--CHANGE C 00 - 16 March 2015 - TOG
*******************************************************************************
** Per LOGSA direction, ELEMENT <configure> added for maintenance instructions task type
*******************************************************************************
-->
<!ELEMENT configure (proc)+>
<!ATTLIST configure
	%taskatt;
>
<!ELEMENT config-setup-item (name)>
<!ATTLIST config-setup-item
	applicable IDREFS #REQUIRED
>
<!ELEMENT contententry (title, link?, sub-contententry?)>
<!ATTLIST contententry
	%idrefs;
                          %secur;
>
<!ELEMENT contents (title, col.title, col.title, contententry+)?>
<!ATTLIST contents
	applicable IDREFS #IMPLIED
>
<!ELEMENT contents-alt (contents)>
<!ELEMENT copyrt (%titldtext;)>
<!ATTLIST copyrt
	%bodyidatt;
>
<!ELEMENT cos EMPTY>
<!ELEMENT cosh EMPTY>
<!ELEMENT cost (%titldtext;)>
<!ATTLIST cost
	%bodyidatt;
>
<!ELEMENT country (#PCDATA)>
<!ATTLIST country
	%changelevel;
>
<!ELEMENT cover (proc+)>
<!ATTLIST cover
	%taskatt;
>
<!ELEMENT coverpage (partno, serialno, nsn, modreq, reason, secitem, revtag, revform, name, sig, date)>
<!ATTLIST coverpage
	%bodyidatt;
>
<!ELEMENT cpcdata (%titldtext;)>
<!ATTLIST cpcdata
	%bodyidatt;
>
<!ELEMENT crit.insp.tab (title, crit.insp-group+)>
<!ATTLIST crit.insp.tab
	%stdinfoatt;
>
<!ELEMENT crit.insp-group (eqpitem, compnt-assem-entry+)>
<!ATTLIST crit.insp-group
	%applidatt;
>
<!ELEMENT criteria (%text_ent;)*>
<!ATTLIST criteria
	type (pass | fail) #REQUIRED
	%bodyidatt;
>
<!ELEMENT crittech EMPTY>
<!ATTLIST crittech
	distreason CDATA #FIXED "to protect information and technical data that advance current technology or describe new technology in an area of significant or potentially significant military application or that relate to a specific military deficiency of a potential adversary. Information of this type may be classified or unclassified"
>
<!ELEMENT csc EMPTY>
<!ELEMENT csch EMPTY>
<!ELEMENT csi (intro?, (csi.tab))>
<!ATTLIST csi
	%bodyidatt; 
					applicable IDREFS  #IMPLIED
>
<!ELEMENT csi.alert (trim.para+)>
<!ATTLIST csi.alert
	keyword CDATA #IMPLIED
	haz-abbrev %no_att;
                   %applidatt;
>
<!ELEMENT csi.tab (title, csi-entry+)>
<!ATTLIST csi.tab
	%bodyidatt;
>
<!ELEMENT csi-entry (name, partno, cageno, desc)>
<!ATTLIST csi-entry
	%bodyidatt;
>
<!ELEMENT csi.wp (wp.metadata?, wpidinfo, csi+)>
<!ATTLIST csi.wp
	%wpatt;
>
<!ELEMENT csireq (%titldtext;)>
<!ATTLIST csireq
	%bodyidatt;
>
<!ELEMENT ctrlind (%data;)*>
<!ATTLIST ctrlind
	%bodyidatt;
>
<!ELEMENT ctrlinddesc (title, (subtitle?, note*, trim.para+)+)>
<!ATTLIST ctrlinddesc
	%applidatt;
>
<!ELEMENT ctrlindproc ((intro, ctrlindtab+) | (figure, ctrlinddesc)+ | (title, para))>
<!ATTLIST ctrlindproc
	%bodyidatt;
>
<!ELEMENT ctrlindrow (key, ctrlind, (note*, function))>
<!ATTLIST ctrlindrow
	%applidatt;
>
<!ELEMENT ctrlindtab (title, (figure | figure-alt), ctrlindrow, (figure?, ctrlindrow)+)>
<!ATTLIST ctrlindtab
	%stdinfoatt;
>
<!ELEMENT ctrlindtab-alt (ctrlindtab+)>
<!ATTLIST ctrlindtab-alt
	id ID #IMPLIED
>
<!ELEMENT ctrlind-val (#PCDATA)>
<!ATTLIST ctrlind-val
	%bodyatt;
                         measurement CDATA  #IMPLIED
>
<!ELEMENT ctrlindwp (wp.metadata?, wpidinfo, %alert;, geninfo?, ((intro, (ctrlindtab | ctrlindtab-alt)+) | (figure, ctrlinddesc)+))>
<!ATTLIST ctrlindwp
	%wpatt;
>
<!ELEMENT d (#PCDATA)>
<!ELEMENT d.statement ((%commondistreason;)*, reasondate, releaseagent)>
<!ELEMENT da2028 ((link, proponent) | graphic)>
<!ATTLIST da2028
	application (frame | page | both) "both"
>
<!ELEMENT damage (%text_ent;)*>
<!ELEMENT dataitem (memloc, memdata, condition, sigfunc)>
<!ATTLIST dataitem
	%bodyidatt;
>
<!--CHANGE C 00 - 16 March 2015 - TOG
*******************************************************************************
** Per LOGSA direction, ELEMENT <data_install> added 
*******************************************************************************
-->
<!ELEMENT data_install (para0)>
<!ATTLIST data_install
	%bodyidatt;
>
<!ELEMENT damage-assesswp (wp.metadata?, wpidinfo, intro, (table | figure | logicproc)+)>
<!ATTLIST damage-assesswp
	%wpatt;
>
<!ELEMENT date-time_stamp EMPTY>
<!ATTLIST date-time_stamp
	date-time (date | time | date-time) "date-time"
>
<!ELEMENT date (#PCDATA)>
<!ATTLIST date
	julian CDATA #IMPLIED
>
<!ELEMENT daterec (#PCDATA)>
<!ELEMENT dcpno (name, desc?, ((partno, cageno), uoc+)+)>
<!ATTLIST dcpno
	%bodyidatt;
>
<!ELEMENT decalinfo (title, %mixparagraph;, iuid*, figure+)>
<!ATTLIST decalinfo
	%applidatt;
>
<!ELEMENT decon (proc+)>
<!ATTLIST decon
	%taskatt;
>
<!--CHANGE C 00 - 16 March 2015 - TOG
*******************************************************************************
** Per LOGSA direction, ELEMENT <debug> added for maintenance instructions task type
*******************************************************************************
-->
<!ELEMENT debug (proc)+>
<!ATTLIST debug
	%taskatt;
>
<!ELEMENT def (para)>
<!ELEMENT default (expression | text | variableref)>
<!ELEMENT defect.tab (title, defect-row+)>
<!ATTLIST defect.tab
	%stdinfoatt;
>
<!ELEMENT defect-group (condition, (%localref; | actionreq), insp-method, acceptqual)>
<!ATTLIST defect-group
	%applidatt;
>
<!ELEMENT defect-row (defecttype, defect-group+)>
<!ATTLIST defect-row
	%applidatt;
>
<!ELEMENT defecttype EMPTY>
<!ATTLIST defecttype
	type (critical | major | minor) #REQUIRED
>
<!ELEMENT defined EMPTY>
<!ELEMENT definitions (title, (para+ | term.def+))>
<!ATTLIST definitions
	%changelevel;
>
<!ELEMENT deflist (title?, title.term.def?, term.def+)>
<!ATTLIST deflist
	%bodyidatt;
>
<!ELEMENT degraded (proc+)>
<!ATTLIST degraded
	%taskatt;
>
<!--CHANGE C 00 - 16 March 2015 - TOG
*******************************************************************************
** Per LOGSA direction, ELEMENT <degree_of_destruct> added to  <destruct-introwp> 
*******************************************************************************
-->
<!ELEMENT degree_of_destruct (title, para)>
<!ATTLIST degree_of_destruct
	%bodyidatt;
>
<!ELEMENT demil_qar (para0)>
<!ATTLIST demil_qar
	%bodyidatt;
>
<!ELEMENT depotcategory ((ppmgeninfowp, perseqpwp?, (lubewp | maintwp | gen.maintwp)+, facilwp?, oipwp*, mobilwp?, qawp, (manu_items_introwp, manuwp+)?, torquewp?, (inventorywp?, storagewp*, wtloadwp+)?, wiringwp*) | (dmwr_operationalreqwp+))>
<!ELEMENT desc (%text_ent;)*>
<!ATTLIST desc
	%bodyidatt;
>
<!ELEMENT descproc (eqpinfo+, locdesc*, eqpdiff?, eqpdata?)>
<!ATTLIST descproc
	%bodyidatt;
>
<!ELEMENT descwp (wp.metadata?, wpidinfo, eqpinfo+, locdesc*, eqpdiff?, eqpdata)>
<!ATTLIST descwp
	%wpatt;
>
<!ELEMENT destr (para?)>
<!--CHANGE C 00 - 16 March 2015 - TOG
*******************************************************************************
** Per LOGSA direction, ELEMENT <destruct-introwp> changed to add <degree_of_destruct> 
** destruction instruction type
*******************************************************************************
-->
<!ELEMENT destruct-introwp (wp.metadata?, wpidinfo, authorize_to_destroy, report_destruct, general_destruct_info, degree_of_destruct, component_spares?)>
<!ATTLIST destruct-introwp
	%wpatt;
>
<!ELEMENT destruction_manual (paper.frnt, ginfowp, destruct-introwp, destruct-materialwp+, rear)>
<!ATTLIST destruction_manual
	pubno CDATA #IMPLIED
	revno CDATA #REQUIRED
	%secur;
>
<!ELEMENT destruct-materialwp (wp.metadata?, wpidinfo, initial_setup, essential_spares?, proc+)>
<!ATTLIST destruct-materialwp
	%wpatt;
>
<!ELEMENT destructmat (%titldtext;)>
<!ATTLIST destructmat
	%bodyidatt;
>
<!ELEMENT deviation (%titldtext;)>
<!ATTLIST deviation
	%bodyidatt;
>
<!ELEMENT diagnostic (desc, sendparameter*, receiveparameter*)>
<!ATTLIST diagnostic
	%applidatt;
                        protocol    CDATA   #IMPLIED
                        mfr         CDATA   #IMPLIED
                        model       CDATA   #IMPLIED
                        application CDATA   #REQUIRED
                        testname    CDATA   #REQUIRED
>
<!ELEMENT diagnostic_group ((sendparameter*, diagnostic)+)>
<!ATTLIST diagnostic_group
	action (prompt | immediate) #REQUIRED
    button_title CDATA "RUN TEST"
>

<!ELEMENT diagnostic-tracks (hookup*, (%step;)*, ((diagnostic-track-automated, diagnostic-track-manual) | diagnostic-track-automated | diagnostic-track-manual), evaluate*, disconnect*)>
<!ATTLIST diagnostic-tracks
	%bodyidatt;
>

<!ELEMENT diagnostic-track-automated (((%step;) | diagnostic_group)*, diagnostic_group, evaluate*)>
<!ATTLIST diagnostic-track-automated
	%bodyidatt;
>

<!ELEMENT diagnostic-track-manual (((%step;) | interaction)*, interaction, evaluate*)>
<!ATTLIST diagnostic-track-manual
	%bodyidatt;
>

<!ELEMENT diagnosticwp (wp.metadata?, %wpsetup;, %tsdata;, ((stateinitialization, (testwithstate | testwithstate-alt)+)))>


<!--Commenting out diagnostic_initial-alt per request to remove from diagnosticwp-->
<!--<!ELEMENT diagnostic_initial-alt (diagnostic_initial+)>
<!ATTLIST diagnostic_initial-alt
	id ID #IMPLIED
>-->

<!--Commenting out diagnostic_initial per request to remove from diagnosticwp-->
<!--<!ELEMENT diagnostic_initial (precond?, message?, sendparameter*, receiveparameter*, (%statemanipulation_ent;)*)>
<!ATTLIST diagnostic_initial
	protocol CDATA #IMPLIED
	action (prompt | immediate) #REQUIRED
	mfr CDATA #IMPLIED
	model CDATA #IMPLIED
	application ENTITY #IMPLIED
	%applidatt;
>-->



<!ATTLIST diagnosticwp
	%wpatt;
>
<!ELEMENT dialog (precond?, title?, (fillin | menu | binarymenu | dialog-group | dialog-message)+, help.info?, statemanipulation*)>
<!ATTLIST dialog
	popup %yesorno;
                    %applidatt;
                    cancel_button %yes_att;
                    reset_button %yesorno;
>
<!-- Dialog-alt commented out as requested by AMCOM
<!ELEMENT dialog-alt (dialog+)>
<!ATTLIST dialog-alt
	%applidatt;
                        name      CDATA  #IMPLIED
>-->
<!ELEMENT dialog-group (precond?, enable?, title?, (fillin | menu | binarymenu | dialog-message | dialog-group)+)>
<!ATTLIST dialog-group
	%applidatt;
                          separator %no_att;
>
<!ELEMENT dialog-message (precond?, messageline)>
<!ATTLIST dialog-message
	%applidatt;
>
<!ELEMENT dim (titlepg, destruct-introwp, destruct-materialwp+)>
<!ATTLIST dim
	%imatt;
>
<!ELEMENT disassem (proc+)>
<!ATTLIST disassem
	%taskatt;
>
<!ELEMENT disconnect (precond?, proc+)>
<!ATTLIST disconnect
	%taskatt;
>
<!--CHANGE C 00 - 16 March 2015 - TOG
*******************************************************************************
** Per LOGSA direction, ELEMENT <disc_content> added 
*******************************************************************************
-->
<!ELEMENT disc_content (wp.metadata?, scope, publist+)>
<!ATTLIST disc_content
	%bodyidatt;
>
<!ELEMENT disposition (para0)>
<!ATTLIST disposition
	%bodyidatt;
>
<!ELEMENT dist (a.statement | b.statement | c.statement | d.statement | e.statement | f.statement | x.statement)>
<!ELEMENT divide EMPTY>
<!--CHANGE C 00 - 16 June 2015 - TOG
*******************************************************************************
** Per LOGSA direction, MIL STD 40051-2C, ELEMENT <dmwr_ammo> changed to allow chapter title pages
** and flow like a normal maintenance manual.
*******************************************************************************
-->
<!ELEMENT dmwr_ammo ((paper.frnt | framed.frnt), gim, opim, mim, dmwr_sim, (da2028 | rear))>
<!ATTLIST dmwr_ammo
	chnglevel CDATA #IMPLIED
	chngdate CDATA #IMPLIED
>

<!--  5.0 look
<!ELEMENT dmwr_ammo ((paper.frnt | framed.frnt), ginfowp, dmwr_introwp, dmwr_operationalreqwp+, dmwr_qarwp+, ppmgeninfowp?, refwp, explistwp, facilwp, genwp+, (da2028 | rear))>
<!ATTLIST dmwr_ammo
	chnglevel CDATA #IMPLIED
	chngdate CDATA #IMPLIED
>
-->
<!ELEMENT dmwr_introwp (wp.metadata?, wpidinfo, intro, work_planning, disposition, equipment, sfty_req, gen_hazards, spec_hazards, haz_analysis, erc, rcrr, resource_recovery, reporting_req, tabdata, flowchart*)>
<!ATTLIST dmwr_introwp
	%wpatt; 
				chap-toc   (yes | no ) "yes"
>
<!ELEMENT dmwr_operationalreqwp (wp.metadata?, wpidinfo, initial_setup, special_sfty, op_steps, flowchart*)>
<!ATTLIST dmwr_operationalreqwp
	%wpatt; 
				chap-toc   (yes | no ) "yes"
>
<!ELEMENT dmwr_qarwp (wp.metadata?, wpidinfo, initial_setup?, (demil_qar | maintenance_qar), definitions)>
<!ATTLIST dmwr_qarwp
	%wpatt; 
				chap-toc   (yes | no ) "yes"
>

<!ELEMENT dmwr_sim ((titlepg, (refwp, explistwp, facilwp, toolidwp?, genwp+)))>
<!ATTLIST dmwr_sim
	%imatt;
	>

<!ELEMENT dmwrqarcategory (dmwr_qarwp)>
<!ELEMENT dodac (#PCDATA)>
<!ELEMENT double-bound (low-bound, high-bound)>
<!ELEMENT dwgname (%format; | %linkref;)*>
<!ATTLIST dwgname
	%bodyatt;
>

<!ELEMENT dwgno (#PCDATA)>
<!ATTLIST dwgno
	%bodyatt;
>
<!ELEMENT dwgreq (dwgreq-setup-item+)>
<!ELEMENT dwgreq-setup-item (dwgname, dwgno)>
<!ATTLIST dwgreq-setup-item
	%setupatt;
>
<!ELEMENT e.statement ((%commondistreason; | proprietary | testeval | cntrctperform | premature | milsprt | opsec)*, reasondate, releaseagent)>
<!ELEMENT ecm (proc+)>
<!ATTLIST ecm
	%taskatt;
>
<!ELEMENT ecp (%titldtext;)>
<!ATTLIST ecp
	mwo %yesorno;
                 %bodyidatt;
>
<!ELEMENT eic (#PCDATA)>
<!ELEMENT eir (%titldtext;)>
<!ATTLIST eir
	service (multi | army | marines) "army"
	%bodyidatt;
>
<!ELEMENT else (((%result;), evaluate?) | evaluate)>
<!ELEMENT elseif (expression, then)>
<!ELEMENT email EMPTY>
<!ATTLIST email
	address CDATA #REQUIRED
	%changelevel;
>
<!ELEMENT emergency (proc+)>
<!ATTLIST emergency
	%taskatt;
>
<!ELEMENT emergencywp (wp.metadata?, wpidinfo, initial_setup, emergency+)>
<!ATTLIST emergencywp
	%wpatt;
>
<!ELEMENT emphasis (%text_ent;)*>
<!ATTLIST emphasis
	emph (caps | bold | italic | bolditalic | uline | strikeout | 2line | smallcaps | overline | reverse) #REQUIRED
	color CDATA #IMPLIED
>
<!ELEMENT empty EMPTY>
<!ELEMENT enable (expression)>
<!ELEMENT endblock (malfunc, action)>
<!ATTLIST endblock
	type (yes | no | pass | fail | true | nottrue) #REQUIRED
	branch ID #REQUIRED
	branchlabel CDATA #IMPLIED
	branchfrom IDREFS #IMPLIED
>
<!ELEMENT endcondition (expression)>
<!ATTLIST endcondition
	id ID #IMPLIED
>
<!ELEMENT entry (%text_ent; | %list; | trim.para | step1 | step1-alt | figure | proc | note | brk)*>
<!ATTLIST entry
	colname NMTOKEN #IMPLIED
	spanname CDATA #IMPLIED
	namest NMTOKEN #IMPLIED
	nameend NMTOKEN #IMPLIED
	morerows CDATA "0"
	colsep (0 | 1) #IMPLIED
	rowsep (0 | 1) #IMPLIED
	rotate %no_att;
                   valign    (top | bottom | middle ) "top"
	align     (left | right | center | justify | char )  #IMPLIED
                   charoff  CDATA    #IMPLIED
                   char     CDATA    #IMPLIED
                   %bodyidatt;
>
<!ELEMENT eq EMPTY>
<!ELEMENT eqp_id (#PCDATA)>
<!ELEMENT eqpconds (eqpconds-setup-item | eqpconds-setup-item-alt)+>
<!ELEMENT eqpconds-setup-item (precond?, condition, itemref?)>
<!ATTLIST eqpconds-setup-item
	%setupatt;
>
<!ELEMENT eqpconds-setup-item-alt (eqpconds-setup-item+)>
<!ELEMENT eqpdata (title?, figure*, %mixparagraph;)>
<!ATTLIST eqpdata
	%bodyidatt;
>
<!ELEMENT eqpdesc (title?, figure*, %mixparagraph;)>
<!ATTLIST eqpdesc
	%bodyidatt;
>
<!ELEMENT eqpdiff (%titldtext;)>
<!ATTLIST eqpdiff
	%bodyidatt;
>
<!ELEMENT eqpinfo (title, eqpdesc+)>
<!ATTLIST eqpinfo
	%bodyidatt;
>
<!ELEMENT eqpitem (%data;)*>
<!ATTLIST eqpitem
	%bodyidatt;
>
<!ELEMENT eqploadwp (wp.metadata?, wpidinfo, intro, loaddesc+)>
<!ATTLIST eqploadwp
	%wpatt;
>
<!ELEMENT eqpnotavail (trim.para+)>
<!ATTLIST eqpnotavail
	%changelevel;
>
<!ELEMENT equipment (para0)>
<!ATTLIST equipment
	%bodyidatt;
>
<!ELEMENT erc (para0+)>
<!ATTLIST erc
	%bodyidatt;
>
<!ELEMENT essential_spares (%para0_ent;)>
<!ATTLIST essential_spares
	%bodyidatt;
>
<!ELEMENT evaluate (if | loopfor | loop)>
<!ATTLIST evaluate
	%applidatt;
>
<!ELEMENT exp EMPTY>
<!ELEMENT expdur-category (title, (expdur-entry | expdur-entry-alt)+)>
<!ATTLIST expdur-category
	%bodyidatt;
>
<!ELEMENT expdur-entry (itemno, maintenance, nsn, name, desc, partno, cageno, ui)>
<!ATTLIST expdur-entry
	%bodyidatt; 
  applicable IDREFS  #IMPLIED
>
<!ELEMENT expdur-entry-alt (expdur-entry+)>
<!ATTLIST expdur-entry-alt
	%bodyidatt;
>
<!ELEMENT explist (title, (expdur-category+ | expdur-entry+))>
<!ATTLIST explist
	%bodyidatt;
>
<!ELEMENT explistwp (wp.metadata?, wpidinfo, intro, (explist | para))>
<!ATTLIST explistwp
	%wpatt;
>
<!ELEMENT exponent EMPTY>
<!ELEMENT export EMPTY>
<!--CHANGE C 00 - 15 Apr 2015 - TOG
*******************************************************************************
** Per DODD 5230.24 update added Export Controlled <exportctrl> to b.statement distreason attribute
*******************************************************************************
-->
<!ELEMENT exportctrl EMPTY>
<!ATTLIST exportctrl
	distreason CDATA #FIXED "to protect information subject to the provisions of DoD Directive 5230.25, 'Withholding of Unclassified Technical Data from Public Disclosure,' November 6, 1984, as amended"
>
<!ELEMENT expression (((%variable_ent;), ((%binop;), (%variable_ent;))?) | ((%unop; | %trigop;), (%variable_ent;)))>
<!ATTLIST expression
	id ID #IMPLIED
	print-form CDATA #IMPLIED
>
<!ELEMENT extconn (proc+)>
<!ATTLIST extconn
	%taskatt;
>
<!ELEMENT extpwr (proc+)>
<!ATTLIST extpwr
	%taskatt;
>
<!ELEMENT extref EMPTY>
<!ATTLIST extref
	docno CDATA #IMPLIED
	revno CDATA #IMPLIED
	pretext CDATA #IMPLIED
	posttext CDATA #IMPLIED
	wpid CDATA #IMPLIED
	taskid CDATA #IMPLIED
	figid CDATA #IMPLIED
	tableid CDATA #IMPLIED
	partid CDATA #IMPLIED
	applicable IDREFS #IMPLIED
	%secur;
>
<!ELEMENT f (#PCDATA)>
<!ELEMENT f.statement (releaseagent, reasondate)>
<!ELEMENT facilwp (wp.metadata?, wpidinfo, initial_setup, (%para0_ent;)+)>
<!ATTLIST facilwp
	%wpatt;
>
<!ELEMENT factorial EMPTY>
<!ELEMENT false EMPTY>
<!ELEMENT fault (oktext, badtext, possibletext)?>
<!ATTLIST fault
	fault-code CDATA #REQUIRED
	fault-ref IDREF #IMPLIED
	fault-state (ok | bad | possible) #REQUIRED
	weight CDATA #IMPLIED
	test CDATA #IMPLIED
	dependency CDATA #IMPLIED
>
<!ELEMENT faultcode (messageword, (action | %localref;), follow-on?)>
<!ATTLIST faultcode
	%bodyidatt;
>
<!ELEMENT faultproc (title, %alert;, (symptom, (malfunc, (action | %localref;))+)+)>
<!ATTLIST faultproc
	%applidatt;
>
<!ELEMENT faultreports (title?, geninfo?, %alert;, (table | faultcode+))>
<!ATTLIST faultreports
	indxcols (2 | 3) #REQUIRED
	reftype (wp | page | tsloc) "wp"
	%bodyidatt;
>
<!ELEMENT figure (precond?, title, (subfig+ | (graphic, legend?) | table | verbatim))>
<!ATTLIST figure
	application (page | frame | both) "both"
	figtype (normal-page | fo-rear) "normal-page"
	fo-size (25x11 | 35x11 | 45x11) #IMPLIED
	tocentry (0 | 1 | 2 | 3 | 4 | 5) "1"
	pane %no_att;
                    label       CDATA   #IMPLIED
                    applicable  IDREFS  #IMPLIED
                    %bodyidatt;
>
<!ELEMENT figure-alt (figure+)>
<!ATTLIST figure-alt
	id ID #IMPLIED
	%secur;
>
<!ELEMENT fillin (precond?, enable?, prompt?, variableref, default?, (numrange | validate)?)>
<!ATTLIST fillin
	%applidatt;
                    mandatory %yes_att;
                    fieldsize CDATA "20"
>
<!ELEMENT first (%titldtext;)>
<!ATTLIST first
	%changelevel;
>
<!ELEMENT first_aid (%titldtext;)>
<!ATTLIST first_aid
	%bodyidatt;
>
<!ELEMENT float EMPTY>

<!ELEMENT flowchart (para0+)>
<!--<!ELEMENT flowchart (title, graphic)>-->
<!ATTLIST flowchart
	%bodyidatt;
>
<!ELEMENT fluid.leakage (title, (%p;)+)>
<!ATTLIST fluid.leakage
	%bodyidatt;
>
<!ELEMENT flyable (geninfo, proc+)>
<!ATTLIST flyable
	%applidatt;
                     %hcpesd;
>
<!ELEMENT fnccode (#PCDATA)>
<!ATTLIST fnccode
	%bodyidatt;
>
<!ELEMENT fncgrp (fnccode, fnctitle, (partno, uoc?, smr*)*)>
<!ATTLIST fncgrp
	%bodyidatt;
>
<!ELEMENT fnctitle (%text_ent;)*>
<!ATTLIST fnctitle
	%bodyidatt;
>
<!ELEMENT foldsect EMPTY>
<!ATTLIST foldsect
	%stdinfoatt;
>
<!ELEMENT follow-on (para | (%step;)+ | %localref;)>
<!ATTLIST follow-on
	id ID #REQUIRED
	%secur;
>
<!ELEMENT followon.maintsk (proc)+>
<!ATTLIST followon.maintsk
	%taskatt;
>
<!ELEMENT fording (proc)+>
<!ATTLIST fording
	%taskatt;
>
<!ELEMENT formchart (proc+ | (%para0_ent;)+ | figure*)>
<!ATTLIST formchart
	%applidatt;
                       %hcpesd;
>
<!ELEMENT framed.frnt ((revisionsummary | revisionsummary-alt+)?, data_install, disc_content?, (frntcover | frntcover-alt+), (promulgation | promulgation-alt+)*, (warnsum | warnsum-alt+)?, (contents | contents-alt+), (howtouse | howtouse-alt+))>

<!ELEMENT framed.manual (functionhierarchy | systemhierarchy)>
<!ATTLIST framed.manual
	revno CDATA #REQUIRED
	maintlvls (10 | 13 | 14 | 23 | 24 | 40 | avum-avim | dmwr | nmwr | dmwr-nmwr) #REQUIRED
	pubno CDATA #IMPLIED
	%secur;
>
<!ELEMENT frgngvt EMPTY>
<!ATTLIST frgngvt
	distreason CDATA #FIXED "to protect and limit distribution in accordance with the desires of and agreements with the foreign government that furnished the technical information. Assigned pursuant to chapter 15 of title 50, U.S.C.and Executive Order 13526 "
>
<!ELEMENT frntcover (tmtitle, graphic?, reporting?, notices, servnomen, date, pcn?)>
<!ATTLIST frntcover
	%changelevel;
                       applicable  IDREFS  #IMPLIED
                       %secur;
>
<!ELEMENT frntcover_abbreviated (tmtitle, lube-refs?, note?, reporting, notices, servnomen, date, pcn?)>
<!ATTLIST frntcover_abbreviated
	%changelevel;
                       applicable  IDREFS  #IMPLIED
                       %secur;
>
<!ELEMENT frntcover-alt (frntcover)>
<!ELEMENT fsc (#PCDATA)>
<!ELEMENT ftnote (ftnpara+)>
<!ATTLIST ftnote
	id ID #REQUIRED
	mark (ctr | mark) "ctr"
	label CDATA #IMPLIED
>
<!ELEMENT ftnpara (%linkdata; | %list; | internet | proponent | phone)*>
<!ATTLIST ftnpara
	%changelevel;
>
<!ELEMENT ftnref EMPTY>
<!ATTLIST ftnref
	xrefid IDREF #REQUIRED
>
<!ELEMENT funcdepend (%titldtext;)>
<!ATTLIST funcdepend
	%bodyidatt;
>
<!ELEMENT function (%text_ent; | %list;)*>
<!ATTLIST function
	%bodyatt;
>

<!--CHANGE C 03 - 13 June 2017 - TOG
*******************************************************************************
** Per LOGSA direction, ELEMENT <functionhierarchy> order updated to put dim, bim and soim before PIM as per the 40051 matrix
*******************************************************************************
-->
<!--<!ELEMENT functionhierarchy (framed.frnt, gim, opim*, (tim?, mim?)+, pim?, dim?, bim?, soim?, sim, (da2028+, authent))>
-->
<!ELEMENT functionhierarchy (framed.frnt, gim, opim*, (tim?, mim?)+, dim?, bim?, soim?, pim?,  sim, (da2028+, authent))>
<!ELEMENT ge EMPTY>


<!--CHANGE C 00 - 16 March 2015 - TOG
*******************************************************************************
** Per LOGSA direction, ELEMENT <genmaintcategory> added
*******************************************************************************
-->
<!ELEMENT genmaintcategory (maintwp*, gen.maintwp*)>
<!--CHANGE C 00 - 16 March 2015 - TOG
*******************************************************************************
** Per LOGSA direction, ELEMENT <genmaintman> added
*******************************************************************************
-->
<!ELEMENT genmaintman ((paper.frnt | framed.frnt), (gim, %volumegroup;), (mim, %volumegroup;)+, (sim, %volumegroup;), rear)>
<!ATTLIST genmaintman
	pubno CDATA #IMPLIED
	maintitl CDATA #REQUIRED
	maintlvls (10 | 13 | 14 | 23 | 24 | 40 | dmwr | dmwr-nmwr | nmwr | NA) #REQUIRED
	dmwr-inclus (parts | parts-tools) #IMPLIED
	revno CDATA #REQUIRED
	multivolume %no_att;
                   %paper.size;
                   %secur;
>
<!ELEMENT gen.maintwp (wp.metadata?, wpidinfo, initial_setup, %alert;, geninfo?, (proc+ | para))>
<!ATTLIST gen.maintwp
	%wpatt;
>
<!ELEMENT gen_hazards (para0+)>
<!ELEMENT general_destruct_info (%para0_ent;)+>
<!ATTLIST general_destruct_info
	%bodyidatt;
>
<!ELEMENT general_purpose_notices (title, text)>
<!ELEMENT geninfo (title?, figure*, %mixparagraph;)>
<!ATTLIST geninfo
	%frameatt;
>
<!--CHANGE C 00 - 16 March 2015 - TOG
*******************************************************************************
** Per LOGSA direction, ELEMENT <genmaint_ginfowp> added
*******************************************************************************
-->
<!ELEMENT genmaint_ginfowp (wp.metadata?, wpidinfo, initial_setup*, scope, mfrr?, eir?, policy?, safety?, wrntyref?, nomenreflist?, loa?)>
<!ATTLIST genmaint_ginfowp
	%wpatt;
>
<!ELEMENT genrepairwp (wp.metadata?, wpidinfo, initial_setup, bdar-repair+)>
<!ATTLIST genrepairwp
	%wpatt;
>
<!ELEMENT genwp (wp.metadata?, wpidinfo, initial_setup*, (%titldtextproc;))>
<!ATTLIST genwp
	%wpatt;
>
<!--CHANGE C 00 - 16 March 2015 - TOG
*******************************************************************************
** Per LOGSA direction, ELEMENT <genmaint_ginfowp> added for general maintenance type
*******************************************************************************
<!ELEMENT figure (precond?, title, (subfig+ | (graphic, legend?) | table | verbatim))>
-->
<!ELEMENT gim (titlepg, ((ginfowp, (bdar-geninfowp | (descwp+, thrywp*) | dmwr_introwp)) | (softginfowp, softsumwp, softeffectwp*, softdiffversionwp*) | (genmaint_ginfowp, descwp) | (pm-ginfowp) | (pms-ginfowp)))>
<!ATTLIST gim
	%imatt;
>

<!ELEMENT ginfowp (wp.metadata?, wpidinfo, scope, mfrr?, eir?, handreceipt?, cpcdata?, odsdata?, destructmat?, pssref?, transportability?, wrntyref?, nomenreflist?, loa?, qainfo?, qual.mat.info?, sftyinfo?, hcp?, calref?, iuid?, ecp?, modification?, deviation?, mobreq?, csireq?, cost?, supdata?, copyrt?)>
<!ATTLIST ginfowp
	%wpatt;
>

<!ELEMENT glossary (title, trim.para?, deflist)>
<!ATTLIST glossary
	%stdinfoatt;
>

<!ELEMENT graphic (mapref*)>
<!ATTLIST graphic
	%graphicatt;
		  hplace      (left | right | center | none )  #IMPLIED
		  graphsty   NMTOKEN  #IMPLIED
		  applicable IDREFS #IMPLIED
		  %bodyatt;
>

<!ELEMENT groupno (#PCDATA)>
<!ATTLIST groupno
	%bodyidatt;
>
<!ELEMENT gt EMPTY>
<!ELEMENT h (#PCDATA)>
<!ELEMENT handreceiptwp (wp.metadata?, wpidinfo, intro, %titldtext;, hrlist+)>
<!ATTLIST handreceiptwp
	%wpatt;
>

<!ELEMENT handreceipt (%titldtext;)>
<!ATTLIST handreceipt
	%bodyidatt;
>
<!ELEMENT harness-indx (%titldtext;)>
<!ATTLIST harness-indx
	%bodyidatt;
>
<!ELEMENT haz_analysis (para0+)>
<!ELEMENT hazard (hazid, symbol+, title?, para+)>
<!ATTLIST hazard
	%bodyidatt;
>
<!ELEMENT hazdesc (title, text)>
<!ATTLIST hazdesc
	%bodyidatt;
>
<!ELEMENT haz-icons (symbol, hazdesc)>
<!ATTLIST haz-icons
	%bodyidatt;
>
<!ELEMENT hazid (%text_ent;)*>
<!ATTLIST hazid
	%bodyidatt;
>
<!ELEMENT hazmat (title, haz-icons*, title, hazard+)>
<!ATTLIST hazmat
	%bodyidatt;
>
<!ELEMENT hcp (%titldtext;)>
<!ATTLIST hcp
	%bodyidatt;
>
<!ELEMENT help.info ((%para0_ent;)+ | para+ | %localref;)>
<!ATTLIST help.info
	%bodyidatt;
>
<!ELEMENT high-bound (integer | real | variableref | expression)>
<!ELEMENT hoist (proc)+>
<!ATTLIST hoist
	%taskatt;
>
<!ELEMENT homepage EMPTY>
<!ATTLIST homepage
	protocol (http | https | ftp) "http"
	uri CDATA #REQUIRED
	%changelevel;
>
<!ELEMENT hookup (precond?, (para | proc+))>
<!ATTLIST hookup
	%taskatt;
>
<!ELEMENT howtouse (wp.metadata?, title, (%p;)*, (%para0_ent;)+)>
<!ATTLIST howtouse
	frame %yes_att;
  %stdinfoatt;
	chngno    CDATA  #IMPLIED>
<!ELEMENT howtouse-alt (howtouse)>
<!ELEMENT hr-annex (#PCDATA)>
<!ATTLIST hr-annex
	%bodyidatt;
>
<!ELEMENT hr-sec (#PCDATA)>
<!ATTLIST hr-sec
	%bodyidatt;
>
<!ELEMENT hr-category (title, hr-entry+)>
<!ATTLIST hr-category
	%bodyidatt; 
					applicable IDREFS  #IMPLIED
>
<!ELEMENT hr-entry (nsn, name, ((partno, cageno, serialno?) | partcage+)?, hr-annex, hr-sec, ui, qty)>
<!ATTLIST hr-entry
	%bodyidatt; 
					 applicable IDREFS  #IMPLIED
>
<!ELEMENT hrlist (title, (hr-category+ | hr-entry+))>
<!ATTLIST hrlist
	%bodyidatt; 
					applicable IDREFS  #IMPLIED
>
<!ELEMENT icon-set EMPTY>
<!ATTLIST icon-set
	%graphicatt;
                      %bodyatt; 
					 id ID  #IMPLIED
>
<!ELEMENT idivide EMPTY>
<!ELEMENT if (expression, then, elseif*, else?)>
<!ATTLIST if
	id ID #IMPLIED
>
<!ELEMENT illno (#PCDATA)>
<!ATTLIST illno
	%bodyidatt;
>
<!ELEMENT increment (expression)>
<!ELEMENT index (indexvalue, indexvalue?)>
<!ELEMENT indexentry (title, ((wpno, pageno) | pageno)*, indexentry*)>
<!ATTLIST indexentry
	%idrefs;
                        %secur;
>
<!ELEMENT indexvalue (#PCDATA)>
<!ELEMENT indication (((title?, (%p;))+) | %list; | (%step;)+)>
<!ATTLIST indication
	status (normal | abnormal) #IMPLIED
	%bodyidatt;
>
<!ELEMENT indxref EMPTY>
<!ATTLIST indxref
	ref1 CDATA #IMPLIED
	ref2 CDATA #IMPLIED
	ref3 CDATA #IMPLIED
	ref4 CDATA #IMPLIED
	id ID #IMPLIED
	indxref IDREF #IMPLIED
>
<!--CHANGE C 02 - 1 OCT 2016 - TOG
*******************************************************************************
** Per LOGSA direction, ELEMENT <initial_setup> updated to add mrp
*****************************************************
-->
<!ELEMENT initial_setup (((testeqp, %opttesteqp;)  | (tools, %opttools;) | (spectools, %optspectools;) | (mtrlpart, %optmtrlpart;) | (mrp, %optmrp;) | (persnreq, %optpersnreq;) | (ref, %optref;) | (eqpconds, %opteqpconds;) | (specenv, %optspecenv;) | (dwgreq, %optdwgreq;) | time.to.comp+ | (title?, null)))>
<!ATTLIST initial_setup
	%applidatt;
>

<!ELEMENT initial (proc)+>
<!ATTLIST initial
	%taskatt;
>
<!ELEMENT initialize (expression | fault)>
<!ELEMENT initialcount (statemanipulation)>
<!ELEMENT inlinegraphic EMPTY>
<!ATTLIST inlinegraphic
	%graphicatt;
                           %bodyidatt;
>
<!ELEMENT inprocess (%titldtext;)>
<!ATTLIST inprocess
	%changelevel;
>
<!ELEMENT insertpg (#PCDATA)>
<!ELEMENT insp-method (#PCDATA)>
<!ELEMENT inspect (proc, defect.tab?)+>
<!ATTLIST inspect
	%taskatt;
>
<!ELEMENT install (proc+)>
<!ATTLIST install
	%taskatt;
>
<!--CHANGE C 00 - 16 March 2015 - TOG
*******************************************************************************
** Per LOGSA direction, ELEMENT <installperdev> added for maintenance instructions task type
*******************************************************************************
-->
<!ELEMENT installperdev (proc)+>
<!ATTLIST installperdev
	%taskatt;
>
<!ELEMENT instructplt ((title, para)?, iuid*, figure)>
<!ATTLIST instructplt
	%bodyidatt;
>
<!ELEMENT integer (#PCDATA)>
<!ELEMENT interaction (statemanipulation | %dialog_ent; | message)+>
<!ATTLIST interaction
	%bodyidatt;
>
<!ELEMENT interconnect (%titldtext;)>
<!ATTLIST interconnect
	%bodyidatt;
>
<!ELEMENT intermediate (geninfo, proc+)>
<!ATTLIST intermediate
	%applidatt;
                          %hcpesd;
>
<!ELEMENT internet (email | homepage)>
<!ATTLIST internet
	narrative CDATA #IMPLIED
	show.address %yes_att;
                      %changelevel;
>
<!ELEMENT interval (#PCDATA)>
<!ELEMENT interval.hours (#PCDATA)>
<!ELEMENT interval.notes (%text_ent;)*>
<!ELEMENT intro (para0 | para0-alt)>
<!ATTLIST intro
	%bodyidatt;
                   frame      (yes | no ) "no"
>
<!ELEMENT introwp (wp.metadata?, wpidinfo, indxref*, (%titldtext; | howtouse)+, figure*)>
<!ATTLIST introwp
	%wpatt;
>
<!ELEMENT inventoriable (%titldtext;)>
<!ATTLIST inventoriable
	%applidatt;
>
<!ELEMENT inventorywp (wp.metadata?, wpidinfo, initial_setup, intro, security, inventoriable, prdinv)>
<!ATTLIST inventorywp
	%wpatt;
>
<!ELEMENT issuechg (trim.para, issued+)>
<!ELEMENT issued (chgno, chgdate)>
<!ELEMENT item (%trimcontent; | note | seqlist | randlist | inlinegraphic | figure | figure-alt | table)*>
<!ATTLIST item
	%bodyidatt;
		  %hcpesd;
		  label      CDATA   #IMPLIED
		  applicable IDREFS  #IMPLIED
>
<!ELEMENT itemno (#PCDATA)>
<!ATTLIST itemno
	id ID #IMPLIED
	%refs;
>
<!ELEMENT itemref (%linkref;)+>
<!ELEMENT iuid (%titldtext;)>
<!ATTLIST iuid
	%bodyidatt;
>
<!ELEMENT jack (proc)+>
<!ATTLIST jack
	%taskatt;
>
<!--CHANGE C .00 - 15 MAY 2015 - TOG
*******************************************************************************
** Per request by AMCOM and LOGSA to add attributes "idref" and "assocfig"
** to element "key" in control and indicators tables. Provides links from 
** key to the graphics callout.
*******************************************************************************
-->
<!ELEMENT key (#PCDATA)>
<!ATTLIST key
	%refs;
>
<!ELEMENT keyword.search (#PCDATA)>
<!ELEMENT kititem (name, qty, callout)>
<!ATTLIST kititem
	%bodyidatt;
>
<!ELEMENT kitswp (wp.metadata?, wpidinfo, pi.category+)>
<!ATTLIST kitswp
	%wpatt;
>
<!ELEMENT l (#PCDATA)>
<!ELEMENT lcn (#PCDATA)>
<!ELEMENT le EMPTY>
<!ELEMENT legend (title, legend.item+)>
<!ATTLIST legend
	%changelevel;
>
<!ELEMENT legend.item ((term | callout), def, xref?)>
<!ATTLIST legend.item
	%changelevel;
>
<!ELEMENT link (title?, (pretext?, (symbol | ref.generate | prompt), posttext?)?, (returnlink | interaction)?)>
<!ATTLIST link
	xmlns:xlink CDATA #FIXED "http://www.w3.org/1999/xlink"
	application (page | frame | both) "frame"
	local IDREF #IMPLIED
	localrange IDREF #IMPLIED
	xlink:href CDATA #IMPLIED
	xlink:type (simple | complex) #FIXED "simple"
	linkobject (%notation.class;) #IMPLIED
	linktype (goto | return | undefined) "goto"
	linkaction (prompt | immediate) "prompt"
	xreftype (%referencetype;) #IMPLIED
	popup %no_att;
                  parameter   CDATA  #IMPLIED
                  alt         CDATA  #IMPLIED
                  %applidatt;
>
<!ELEMENT ln EMPTY>
<!ELEMENT loa (%titldtext;)>
<!ATTLIST loa
	%bodyidatt;
>
<!ELEMENT load (proc)+>
<!ATTLIST load
	%taskatt;
>
<!ELEMENT loaddesc (title, (figure, (table | loadlist))+)>
<!ATTLIST loaddesc
	%applidatt;
                    type       (tac | notac )  #REQUIRED
>
<!ELEMENT loadlist (callout, item)+>
<!ATTLIST loadlist
	%changelevel;
                      %secur;
>
<!ELEMENT locdesc (title, (%mixparagraph;)?, comp-item+)>
<!ATTLIST locdesc
	%bodyidatt;
>
<!ELEMENT loepwp (wp.metadata?, trim.para?, title, note?, issuechg, totalnumberof+, col.title, col.title, (chgvol?, chghistory)+)>
<!--CHANGE C 00 - 16 JUNE 2015 - TOG
*******************************************************************************
** Per LOGSA direction and 40051-1C/2C, added ELEMENTs <lointrowp> to lubeorder
*******************************************************************************
-->
<!ELEMENT lointrowp (wp.metadata?, wpidinfo, indxref*, (%titldtext;)+, figure*)>
<!ATTLIST lointrowp
	%wpatt;
>
<!ELEMENT log EMPTY>
<!ELEMENT logicproc (title, %alert;, origin, (testblock | endblock | branchref)+)>
<!ATTLIST logicproc
	%bodyidatt; 
		   applicable IDREFS  #IMPLIED
>
<!ELEMENT loop (statemanipulation*, ((endcondition, loopaction) | (loopaction, endcondition)), then)>
<!ATTLIST loop
	id ID #IMPLIED
>
<!ELEMENT loopaction (proc+, (statemanipulation | diagnostic_group | %dialog_ent;)+)>
<!ELEMENT loopfor (statemanipulation*, initialcount, increment, endcondition, loopaction, then)>
<!ATTLIST loopfor
	id ID #IMPLIED
>
<!ELEMENT low-bound (integer | real | variableref | expression)>
<!ELEMENT lruthry (%titldtext;)>
<!ATTLIST lruthry
	nomen CDATA #IMPLIED
	nsn CDATA #IMPLIED
	%bodyidatt;
                     frame      (yes | no ) "no"
>
<!ELEMENT lt EMPTY>
<!ELEMENT lube (proc+)>
<!ATTLIST lube
	%taskatt;
>
<!--CHANGE C 00 - 16 JUNE 2015 - TOG
*******************************************************************************
** Per LOGSA direction and 40051-1C/2C, added ELEMENTs <lointrowp> and <sim> to lubeorder
*******************************************************************************
-->
<!ELEMENT lubeorder (frntcover_abbreviated, loepwp?, %alert;, lointrowp, lubewp+, sim, lubeorder_rear)>
<!ATTLIST lubeorder
	chnglevel CDATA #IMPLIED
	chngdate CDATA #IMPLIED
>
<!--CHANGE C 00 - 16 JUNE 2015 - TOG
*******************************************************************************
** Per LOGSA direction and 40051-1C/2C, added ELEMENTs da2028 to lubeorder_rear
*******************************************************************************
-->
<!ELEMENT lubeorder_rear (da2028+, authent, back)>
<!ELEMENT lubewp (wp.metadata?, wpidinfo, initial_setup, proc+)>
<!ATTLIST lubewp
	%wpatt;
>
<!ELEMENT lube-refs (%extref_ent;)+>
<!ELEMENT lubricant (#PCDATA)>
<!ATTLIST lubricant
	%applidatt;
>
<!--CHANGE C 00 - 16 JUNE 2015 - TOG
*******************************************************************************
** Per LOGSA direction and 40051-1C/2C, added ELEMENTs <lubricantsymbolwp>, <lubetypeswp>, 
** <lospecnoteswp>, <lubeitem>, <lubetab>,    all added for lubeorder manual types.  
*******************************************************************************
-->
<!ELEMENT lubricantsymbolwp (wp.metadata?, wpidinfo, intro)>
<!ATTLIST lubricantsymbolwp
	%wpatt;
>
<!--CHANGE C 00 - 16 JUNE 2015 - TOG
*******************************************************************************
** Per LOGSA direction and 40051-1C/2C, added ELEMENTs <lubetypeswp>, 
** added for lubeorder manual types.  
*******************************************************************************
-->
<!ELEMENT lubetypeswp (wp.metadata?, wpidinfo, intro, lubetab*)>
<!ATTLIST lubetypeswp
	%wpatt;
>
<!--CHANGE C 00 - 16 JUNE 2015 - TOG
*******************************************************************************
** Per LOGSA direction and 40051-1C/2C, added ELEMENTs <lospecnoteswp> added for lubeorder manual types.  
*******************************************************************************
-->
<!ELEMENT lospecnoteswp (wp.metadata?, wpidinfo, intro)>
<!ATTLIST lospecnoteswp
	%wpatt;
>
<!--CHANGE C 00 - 16 JUNE 2015 - TOG
*******************************************************************************
** Per LOGSA direction and 40051-1C/2C, added ELEMENTs 
**  <lubeitem> added for lubeorder manual types.  
*******************************************************************************
-->
<!ELEMENT lubeitem (temprange, lubricant, capacity, interval, manhours)>
<!ATTLIST lubeitem
	%applidatt;
>
<!--CHANGE C 00 - 16 JUNE 2015 - TOG
*******************************************************************************
** Per LOGSA direction and 40051-1C/2C, added ELEMENTs 
**  <lubetab> added for lubeorder manual types.  
*******************************************************************************
-->
<!ELEMENT lubetab (title, (%alert;, lubeitem)+)>
<!ATTLIST lubetab
	%stdinfoatt;
>
<!ELEMENT mac (title, mac-group-2lvl+)>
<!ATTLIST mac
	%bodyidatt;
>
<!ELEMENT mac-group-2lvl (groupno, ((compassem, qualify-2lvl+) | compassemgroup-2lvl+))>
<!ATTLIST mac-group-2lvl
	%bodyidatt;
	applicable IDREFS  #IMPLIED
>
<!ELEMENT macintrowp (wp.metadata?, wpidinfo, intro)>
<!ATTLIST macintrowp
	%wpatt;
>
<!ELEMENT macwp (wp.metadata?, wpidinfo, (((mac | avmac), tereqtab, remarktab) | (mac-alt+)))>
<!ATTLIST macwp
	%wpatt;
>
<!ELEMENT mac-alt ((mac | avmac), tereqtab, remarktab)>
<!ATTLIST mac-alt
	%bodyidatt; 
			   applicable IDREFS  #IMPLIED
>
<!ELEMENT maintclass-2lvl ((c, f?, h?, d?) | (f, h?, d?) | (h, d?) | d)>
<!ELEMENT maintenance_qar (para0+)>
<!ATTLIST maintenance_qar
	%bodyidatt;
>
<!ELEMENT maintenance EMPTY>
<!ATTLIST maintenance
	lvl (c | o | f | h | d | l) #REQUIRED
>
<!ELEMENT maintenancecategory (surwp*, perseqpwp*, (maintwp | lubewp | gen.maintwp)+, %mimsupport;)>
<!ELEMENT maintenancepmcscategory (surwp*, perseqpwp*, pmcsintrowp, pmcswp+, (maintwp | lubewp | gen.maintwp)+, %mimsupport;)>
<!-- Removed and replaced with maintsk element types
(prepforuse | service |remove | disassem | 
       clean | ndi | repair | replace | align | paint | lube | assem | inspect 
       | install | adjust | calibration | ris | pis | test | pss | mark | arm 
       | other.maintsk | overhaul | rebuild | pack | load | unpack | unload 
       | preserv | tow | jack | park | moor | cover | hoist | sling | extpwr |
       softwaremaint | none) 
-->
<!--CHANGE C 00 - 16 March 2015 - TOG
*******************************************************************************
Per LOGSA direction and 40051-1C/2C, added attributes to match maintsk <configure>, <debug>, <installperdev>, <prepship>, <prepstore>,   <transport>, <uninstallperdev>, <upgrade> all added for maintsk types.  Also removed element <pss>
*******************************************************************************
-->
<!ELEMENT maintfunc EMPTY>
<!ATTLIST maintfunc
	func (adjust | align | arm | assem | calibration | clean | cover | configure | debug | disassem | extpwr | hoist | inspect | install | installperdev | jack | load | lube | mark | moor | ndi | none | other.maintsk | overhaul | pack | paint | park | pis | prepship | prepstore | prepforuse | preservation | rebuild | remove | repair | replace | ris | service | sling | softwaremaint | test | transport | tow | uninstallperdev | unload | unpack | upgrade) #REQUIRED
	wpid IDREFS #IMPLIED
	taskid IDREFS #IMPLIED
>
<!ELEMENT maintlvl EMPTY>
<!ATTLIST maintlvl
	%wplevel;
>
<!--CHANGE C 00 - 16 March 2015 - TOG
*******************************************************************************
** Per LOGSA direction and 40051-1C/2C, added ELEMENTs <configure>, <debug>, <installperdev>, <prepship>, <prepstore>,   <transport>, <uninstallperdev>, <upgrade> all added for maintsk types.  Also removed element <pss>
*******************************************************************************
-->
<!ELEMENT maintsk (adjust | align | arm | assem | calibration | clean | cover | configure | debug | disassem | extpwr | hoist | inspect | installperdev | install | jack | load | lube | mark | moor | ndi | other.maintsk | overhaul | pack | paint | park | pis | prepship | prepstore | prepforuse | preservation | rebuild | remove | repair | replace | ris | service | sling | softwaremaint | test | transport | tow | uninstallperdev | unload | unpack | upgrade)>
<!ELEMENT maintwp (wp.metadata?, wpidinfo, initial_setup, %alert;, geninfo?, maintsk+, followon.maintsk?)>
<!ATTLIST maintwp
	%wpatt;
>
<!ELEMENT malfunc (%text_ent;)*>
<!ATTLIST malfunc
	label (symptom | malfunction | corrected) #REQUIRED
	faultcode CDATA #IMPLIED
	%applidatt;
>
<!ELEMENT manhours (#PCDATA)>
<!--CHANGE C 03 - 30 NOV 2015 - TOG
*******************************************************************************
** Per LOGSA direction, ELEMENT <manuitem> changed for ease of use and better flow
*******************************************************************************
-->
<!ELEMENT manuitem (proc+ | (title?, (%alert;)*, material-list-category, proc*)+)>
<!-- Needs to be a proc or a material list

material-list starts a MANU table. -->
<!--<!ELEMENT manuitem  (proc+ | (title?, %alert;, (graphic | %p; | step1 | figure | 
        table | material-list | partdesc)+))>-->
<!ATTLIST manuitem
	%bodyidatt;
>
<!ELEMENT manuindx (title?, (partdesc, wpref?)+)>
<!ATTLIST manuindx
	%applidatt;
>
<!ELEMENT manuwp (wp.metadata?, wpidinfo, initial_setup, manuitem)>
<!ATTLIST manuwp
	%wpatt;
>
<!ELEMENT manu_items_introwp (wp.metadata?, wpidinfo, intro, manuindx)>
<!ATTLIST manu_items_introwp
	%wpatt;
>
<!ELEMENT map.circle (map.coord)>
<!ATTLIST map.circle
	radius CDATA #REQUIRED
	%graphicunit;
>
<!ELEMENT map.coord EMPTY>
<!ATTLIST map.coord
	x CDATA #REQUIRED
	y CDATA #REQUIRED
	%graphicunit;
>
<!ELEMENT map.polygon (map.coord, map.coord+)>
<!ELEMENT map.rectangle (map.coord, map.coord)>
<!ELEMENT mapref (map.circle | map.rectangle | map.polygon)>
<!ATTLIST mapref
	id ID #REQUIRED
	label CDATA #IMPLIED
	refdes CDATA #IMPLIED
	partref IDREF #IMPLIED
>
<!ELEMENT mark (proc+)>
<!ATTLIST mark
	%taskatt;
>
<!ELEMENT masterindexcategory (tsindxwp)>

<!ELEMENT material-list-category (title?, material-list+)>
<!ATTLIST material-list-category
	%frameatt;
>

<!ELEMENT material-list ((name, ((partno, cageno, nsn?) | (extref | link)), qty?, itemref?)+)>
<!ATTLIST material-list
	%bodyidatt;
>
<!ELEMENT mdc (mdc.system, mdc.hierarchy)>
<!ELEMENT mdc.system (#PCDATA)>
<!ELEMENT mdc.hierarchy (mdc.element, mdc.hierarchy?)>
<!ELEMENT mdc.element (#PCDATA)>
<!ELEMENT memdata (#PCDATA)>
<!ATTLIST memdata
	%bodyidatt;
>
<!ELEMENT memloc (#PCDATA)>
<!ATTLIST memloc
	%bodyidatt;
>
<!ELEMENT menu (precond?, enable?, prompt, choice, choice+)>
<!ATTLIST menu
	%applidatt;
                  select     (single | multiple ) "single"
	type       (radio | button | pulldown )  #REQUIRED
                  mandatory %yes_att;
                  flow       (list | inline ) "list"
>
<!ELEMENT message (title?, messageline+, help.info?, aftermessage?)>
<!ATTLIST message
	id ID #IMPLIED
	popup %yesorno;
                     button_title CDATA "OK"
>
<!ELEMENT messageindx (title, geninfo?, %alert;, (table | messageitem+))>
<!ATTLIST messageindx
	%bodyidatt;
>
<!ELEMENT messageitem (messageword, para+, (%localref; | action))>
<!ATTLIST messageitem
	%bodyidatt;
>
<!ELEMENT messageline (%format; | variableref)*>
<!ELEMENT messageword (#PCDATA)>
<!ATTLIST messageword
	id ID #REQUIRED
	%secur;
>
<!ELEMENT mfrr (title, (para | mfrr.para+))>
<!ATTLIST mfrr
	frame (yes | no) "no"
	%bodyidatt;
>
<!ELEMENT mfrr.para (%trimcontent; | para0 | para0-alt)*>
<!ATTLIST mfrr.para
	service (army | af | navy | marines) #REQUIRED
	%bodyidatt; 
                        applicable IDREFS  #IMPLIED
>
<!ELEMENT milsprt EMPTY>
<!ATTLIST milsprt
	distreason CDATA #FIXED "the document contains export-controlled technical data of such military significance that release for purposes other than direct support of DoD-approved activities may jeopardize an important technological or operational military advantage of the United States, another country, or a joint U.S.-foreign program. Designation of such data is made by competent authority in accordance with DoD Directive 5230.25, 'Withholding of Unclassified Technical Data from Public Disclosure,' November 6, 1984, as amended"
>
<!--CHANGE C 00 - 14 Apr 2015 - TOG
*******************************************************************************
** Per 40051 update added genmaintcategory, softmaintcategory and dmwrqarcategory to mim
*******************************************************************************
-->
<!ELEMENT mim (titlepg, (pmcscategory | maintenancepmcscategory | maintenancecategory | depotcategory | aviationcategory | ammunitioncategory | auxiliarycategory | pmscategory | checklistcategory | testinspectioncategory | ammomarkingcategory | genmaintcategory | softmaintcategory | shipmentmovementstoragecategory | dmwrqarcategory))>
<!ATTLIST mim
	%imatt;
>
<!ELEMENT minus EMPTY>
<!ELEMENT mobil-entry ((%localref;), actionreq)>
<!ATTLIST mobil-entry
	%applidatt;
>
<!ELEMENT mobilreq (title, para, mobiltab?)>
<!ATTLIST mobilreq
	%applidatt;
>
<!ELEMENT mobiltab (title, mobil-entry+)>
<!ATTLIST mobiltab
	%stdinfoatt;
>
<!ELEMENT mobilwp (wp.metadata?, wpidinfo, initial_setup, %alert;, intro, mobilreq?)>
<!ATTLIST mobilwp
	%wpatt;
>
<!ELEMENT mobreq (%titldtext;)>
<!ATTLIST mobreq
	%bodyidatt;
>
<!ELEMENT modelno (#PCDATA)>
<!ELEMENT modification (%titldtext;)>
<!ATTLIST modification
	%bodyatt;
>
<!ELEMENT modreq (#PCDATA)>
<!ELEMENT modulus EMPTY>
<!ELEMENT moor (proc+)>
<!ATTLIST moor
	%taskatt;
>
<!ELEMENT mos (#PCDATA)>
<!ATTLIST mos
	%bodyatt;
>
<!-- CHANGE C 02 - 1 OCT 2016 - TOG
*******************************************************************************
** Per LOGSA direction and MIL-STD 40051-2C, Added ELEMENT <mrp> and <mrp-setup-item>
*******************************************************************************
-->
<!ELEMENT mrp (mrp-setup-item+)>
<!ELEMENT mrp-setup-item (name, qty?, itemref?)>
<!ATTLIST mrp-setup-item
	%setupatt;
>

<!ELEMENT mrpl (title, (mrpl-category+ | mrpl-entry+))>
<!ATTLIST mrpl
	%stdinfoatt;
>
<!ELEMENT mrpl-category (title, mrpl-entry+)>
<!ELEMENT mrpl-entry (itemno, partno, cageno, nsn, name, qty)>
<!ATTLIST mrpl-entry
	%applidatt;
>
<!ELEMENT mrplpart (title, para+, mrpl?)>
<!ATTLIST mrplpart
	%bodyidatt;
>
<!ELEMENT mrplwp (wp.metadata?, wpidinfo, intro, mrpl)>
<!ATTLIST mrplwp
	%wpatt;
>
<!ELEMENT mtrlpart (mtrlpart-setup-item+)>
<!ELEMENT mtrlpart-setup-item (name, qty?, itemref?)>
<!ATTLIST mtrlpart-setup-item
	%setupatt;
>
<!ELEMENT muxproc (%alert;, (symptom?, signal-item)+)>
<!ATTLIST muxproc
	%bodyidatt;
>
<!ELEMENT mwo (#PCDATA)>
<!ELEMENT name (%data; | brk)*>
<!ATTLIST name
	%bodyatt;
>
<!ELEMENT natowp (%ammo_ent;)>
<!ATTLIST natowp
	%wpatt;
>
<!ELEMENT ndi (proc+)>
<!ATTLIST ndi
	%taskatt;
>
<!ELEMENT ne EMPTY>
<!ELEMENT neg EMPTY>
<!ELEMENT nha_item EMPTY>
<!ATTLIST nha_item
	nha.ref IDREF #REQUIRED
>
<!ELEMENT niin (#PCDATA)>
<!ELEMENT nil EMPTY>
<!ELEMENT no (resultwithoutstate)>
<!ELEMENT nomenreflist (%titldtext;)>
<!ATTLIST nomenreflist
	%bodyidatt;
>
<!ELEMENT nonrepairable (%text_ent;)*>
<!ATTLIST nonrepairable
	%changelevel;
>
<!ELEMENT nostate (statemanipulation+)>
<!ATTLIST nostate
	default %no_att;
>
<!ELEMENT not EMPTY>
<!ELEMENT note ((note.group, note.group+) | (trim.para, randlist?)+ | randlist)>
<!ATTLIST note
	acknowledge %no_att;
					  %bodyidatt; 
					  applicable IDREFS  #IMPLIED
>
<!ELEMENT note.group ((trim.para, randlist?)+ | randlist)>
<!ATTLIST note.group
	acknowledge %no_att;
                        %bodyidatt;
>
<!ELEMENT notices (avail?, super?, dist, export?, destr?, general_purpose_notices*)>
<!ELEMENT nsn (fsc, niin)>
<!ELEMENT nsnindx (nsnindxrow+)>
<!ATTLIST nsnindx
	%bodyidatt;
>
<!ELEMENT nsnindxrow (nsn, callout+)>
<!ATTLIST nsnindxrow
	%bodyidatt;
>
<!ELEMENT nsnindxwp (wp.metadata?, wpidinfo, nsnindx)>
<!ATTLIST nsnindxwp
	%wpatt;
>
<!ELEMENT null EMPTY>
<!ATTLIST null
	insert (na | nr | dash | secure | none) "none"
>
<!ELEMENT numrange (low-bound | double-bound | high-bound)>
<!ELEMENT o (#PCDATA)>
<!ELEMENT odsdata (%titldtext;)>
<!ATTLIST odsdata
	%bodyidatt;
>
<!ELEMENT oipitem (itemno, callout?, desc, insp-method, actionreq)>
<!ATTLIST oipitem
	%applidatt;
                     %qa;
>
<!ELEMENT oiptab (title, (%alert;, oipitem)+)>
<!ATTLIST oiptab
	%stdinfoatt;
>
<!ELEMENT oipwp (wp.metadata?, wpidinfo, initial_setup, %alert;, (geninfo?, ((oiptab | table), figure*)+)+)>
<!ATTLIST oipwp
	%wpatt;
>
<!ELEMENT oktext (%text_ent;)*>
<!ELEMENT on-board-spares (title, coei-entry+)>
<!ELEMENT on-board-spares-opt (title, coei-opt-entry+)>
<!ELEMENT opcheck (title?, %alert;, testproc+)>
<!ATTLIST opcheck
	%applidatt;
>
<!ELEMENT opcheckproc (opcheck+ | messageindx | faultreports)>
<!ATTLIST opcheckproc
	%bodyidatt;
>
<!ELEMENT opcheck-tsproc (title?, %alert;, testproc)+>
<!ATTLIST opcheck-tsproc
	%bodyidatt;
>
<!ELEMENT opcheck-tswp (wp.metadata?, wpidinfo, initial_setup, intro?, (%tsdata; | proc)*, (hookup?, ((opcheckproc, tsproc) | opcheck-tsproc), disconnect?), followon.maintsk?)>
<!ATTLIST opcheck-tswp
	%wpatt;
>
<!ELEMENT opcheckwp (wp.metadata?, wpidinfo, initial_setup, intro?, (%tsdata; | proc)*, (hookup?, opcheckproc+, disconnect?), followon.maintsk?)>
<!ATTLIST opcheckwp
	%wpatt;
>
<!ELEMENT oper (proc+)>
<!ATTLIST oper
	%taskatt;
>
<!ELEMENT operaux (proc+)>
<!ATTLIST operaux
	%taskatt;
>
<!ELEMENT opertsk ((initial | oper | operaux | prepforuse | prepmove | secref | shelter | site), instructplt*)>
<!ATTLIST opertsk
	%applidatt;
>
<!--CHANGE C 02 - 120 OCT 2016 - TOG 
*******************************************************************************
** Per LOGSA and ARDEC added dmwr_operationalreqwp to the OPIM
*******************************************************************************
-->

<!ELEMENT opim (titlepg, ((ctrlindwp+, opusualwp+, opunuwp+, emergencywp*, stowagewp*, eqploadwp*) | dmwr_operationalreqwp*))>
<!ATTLIST opim
	%imatt;
>
<!ELEMENT op_steps (proc+)>
<!ATTLIST op_steps
	%taskatt;
>
<!--CHANGE C 00 - 14 Apr 2015 - TOG
*******************************************************************************
** Per DODD 5230.24 update added Operations Security <opsec> to b.statement distreason attribute
*******************************************************************************
-->
<!ELEMENT opsec EMPTY>
<!ATTLIST opsec
	distreason CDATA #FIXED "to protect information and technical data that may be observed by adversary intelligence systems and determining what indicators hostile intelligence systems may obtain that could be interpreted or pieced together to derive critical information in time to be useful to adversaries"
>
<!ELEMENT option (text, resultwithoutstate)>
<!ELEMENT opunutsk ((decon | degraded | ecm | fording | secref | unusualenv), instructplt*)>
<!ATTLIST opunutsk
	%applidatt;
>
<!ELEMENT opunuwp (wp.metadata?, wpidinfo, initial_setup, %alert;, geninfo?, opunutsk+)>
<!ATTLIST opunuwp
	%wpatt;
>
<!ELEMENT opusualwp (wp.metadata?, wpidinfo, initial_setup, %alert;, geninfo?, opertsk+)>
<!ATTLIST opusualwp
	%wpatt;
>
<!ELEMENT or EMPTY>
<!ELEMENT origin (%alert;, test+, indication, answer, answer+)>
<!ATTLIST origin
	type (yes | no | pass | fail | true | nottrue | value | unantic) #IMPLIED
	valueloc NMTOKENS #IMPLIED
	valuetype (boolean | string | sequence | set | real | integer | float | nil | input | outcome) #IMPLIED
	value CDATA #IMPLIED
	origin ID #REQUIRED
	branchto IDREFS #IMPLIED
	branchlabel CDATA #IMPLIED
>
<!ELEMENT orsch (title, intro, orsch.tab)>
<!ATTLIST orsch
	%taskatt;
>
<!ELEMENT orschwp (wp.metadata?, wpidinfo, orsch)>
<!ATTLIST orschwp
	%wpatt;
>
<!ELEMENT orsch.entry (name, orsch.interval.entry+)>
<!ATTLIST orsch.entry
	%applidatt;
>
<!ELEMENT orsch.interval.entry (%partid;, overhaul.interval, retirement.interval)>
<!ATTLIST orsch.interval.entry
	%applidatt;
>
<!ELEMENT orsch.tab (title, orsch.entry+)>
<!ATTLIST orsch.tab
	%stdinfoatt;
>
<!ELEMENT other.maintsk (proc+)>
<!ATTLIST other.maintsk
	%taskatt;
>
<!ELEMENT other.surtsk (proc+)>
<!ATTLIST other.surtsk
	%taskatt;
>
<!ELEMENT overhaul (proc+)>
<!ATTLIST overhaul
	%taskatt;
>
<!ELEMENT overallsystem (title, (promulgation | promulgation-alt+)*, (warnsum | warnsum-alt+)?, (howtouse | howtouse-alt+), ginfowp, (pmcsintrowp, pmcswp)?, descwp*, thrywp*, ctrlindwp*, tsintrowp?, tsindxwp?)>
<!ELEMENT overhaul.interval (interval.hours, interval.notes?)>
<!ELEMENT pack (proc+)>
<!ATTLIST pack
	%taskatt;
>
<!ELEMENT pageno (#PCDATA)>
<!ATTLIST pageno
	%idrefs;
>
<!ELEMENT paint (proc+)>
<!ATTLIST paint
	%taskatt;
>
<!ELEMENT paper.frnt (frntcover, promulgation*, warnsum?, chgsheet?, loepwp, titleblk, contents?, howtouse?)>

<!--CHANGE C 03 -  11 JUNE 2017 - TOG
*******************************************************************************
** Per AMCOM and TACOM direction - Update ELEMENT <paper.manual> for proper order of the chapters per the matrix in the MIL-STD.
*******************************************************************************
-->

<!ELEMENT paper.manual (paper.frnt, ((gim, %volumegroup;, (opim, %volumegroup;)*, ((tim, %volumegroup;)?, (mim, %volumegroup;)?)+, (dim, %volumegroup;)?,  (soim, %volumegroup;)?, (pim, %volumegroup;)?, sim) | pim), rear)>
<!ATTLIST paper.manual
	pubno CDATA #IMPLIED
	maintitl CDATA #REQUIRED
	maintlvls (10 | 13 | 14 | 23 | 24 | 40 | dmwr | dmwr-nmwr | nmwr | NA) #REQUIRED
	rpstl (yes | no | only) "no"
	dmwr-inclus (parts | parts-tools) #IMPLIED
	revno CDATA #REQUIRED
	multivolume %no_att;
                   %paper.size;
                   %secur;
>
<!ELEMENT para (%trimcontent; | %list; | figure | figure-alt | inlinegraphic | table | table-alt | verbatim | interaction | statemanipulation)*>
<!ATTLIST para
	%hcpesd;
                  %applidatt;
>

<!--CHANGE C 03 -  27 September 2017 - TOG
*******************************************************************************
** Per AMCOM and TACOM direction - Update added ATTRIBUTE numbering (yes | no) "no" to allow for numbering of para0 and subpara when needed
*******************************************************************************
-->

<!ELEMENT para0 (precond?, title, ((subpara1 | subpara1-alt)+ | ((csi.alert*, note*, para)+, (subpara1 | subpara1-alt)*)))>
<!ATTLIST para0
	%applidatt;
                   %hcpesd;
                   crewmember CDATA  #IMPLIED
                   numbering (yes | no) "no"
>
<!ELEMENT para0-alt (para0+)>
<!ATTLIST para0-alt
	id ID #IMPLIED
>
<!ELEMENT park (proc+)>
<!ATTLIST park
	%taskatt;
>
<!ELEMENT part.breakdown.ref EMPTY>
<!ATTLIST part.breakdown.ref
	idref IDREF #REQUIRED
>
<!ELEMENT partcage (partno, cageno)>
<!ATTLIST partcage
	%refs;
>
<!ELEMENT partdesc (((partno, cageno, dwgno?) | dwgno), name)>
<!ELEMENT partno (#PCDATA)>
<!ATTLIST partno
	%refs;
>
<!ELEMENT pcn (#PCDATA)>
<!ATTLIST pcn
	%refs;
>
<!ELEMENT pecul.insp.tab (title, pecul.insp-group+)>
<!ATTLIST pecul.insp.tab
	%stdinfoatt;
>
<!ELEMENT pecul.insp-entry (eqpitem, pecul.step-entry+)>
<!ATTLIST pecul.insp-entry
	%applidatt;
>
<!ELEMENT pecul.insp-group (compassem, pecul.insp-entry+)>
<!ATTLIST pecul.insp-group
	%applidatt;
>
<!ELEMENT pecul.step-entry (%step;, remarks)>
<!ATTLIST pecul.step-entry
	%bodyidatt;
>
<!ELEMENT perseqpwp (wp.metadata?, wpidinfo, initial_setup, proc+)>
<!ATTLIST perseqpwp
	%wpatt;
>
<!ELEMENT persnreq (persnreq-setup-item+)>
<!ELEMENT persnreq-setup-item (name, mos?, qty?)>
<!ATTLIST persnreq-setup-item
	%setupatt;
>
<!ELEMENT phone (#PCDATA)>
<!ATTLIST phone
	type (dsn | coml | cell | other) #REQUIRED
	receive (voice | fax) "voice"
	other CDATA #IMPLIED
	%changelevel;
>
<!ELEMENT pi.category (figure, fncgrp, pi.item+)>
<!ATTLIST pi.category
	%applidatt;
>
<!ELEMENT pi.item ((nha_item*, callout?, (uoc+ | boi | usbefserno+)?, qty)+, ((smr+, nsn?, partno, cageno, name, desc, qty_per_end_item?, ui?, (%extref_ent;)?, refdes?, maintenance?) | common_part_ref), (pi.item+ | kititem+ | pi.category | part.breakdown.ref)?)>
<!ATTLIST pi.item
	indent CDATA "0"
	type (part | exp | coei | bii | aal | tool | special.tool) "part"
	hci (yes | no) "no"
	esd (yes | no) "no"
	mrp (yes | no) "no"
	csi (yes | no) "no"
	tereq (yes | no) "no"
	%applidatt;
>
<!ELEMENT pim (titlepg, (introwp, (plwp, %volumegroup;)+, (stl_partswp, %volumegroup;)?, (kitswp, %volumegroup;)*, (bulk_itemswp, %volumegroup;)*, (stlwp, %volumegroup;)*, ((nsnindxwp, pnindxwp), refdesindxwp?, vol-rear?)?))>
<!ATTLIST pim
	%imatt;
                 dmwr-inclus  (parts | parts-tools | none )  #REQUIRED
>
<!ELEMENT pis (proc+)>
<!ATTLIST pis
	%taskatt;
>
<!ELEMENT plus EMPTY>
<!ELEMENT plwp (wp.metadata?, wpidinfo, pi.category+)>
<!ATTLIST plwp
	%wpatt;
>
<!ELEMENT pm.warning.data (warning, note)>
<!ELEMENT pmcs-entry (itemno, interval+, manhours?, checked, pmcsproc+)>
<!ATTLIST pmcs-entry
	%applidatt;
>
<!ELEMENT pmcs-intervals (interval+)>
<!ELEMENT pmcscategory (pmcsintrowp, pmcswp+)>
<!ELEMENT pmcsintrowp (wp.metadata?, wpidinfo, intro, ((%para0_ent;)+, fluid.leakage?))>
<!ATTLIST pmcsintrowp
	%wpatt;
>
<!ELEMENT pmcspara ((%p;), eqpnotavail?)>
<!ATTLIST pmcspara
	%bodyidatt;
>
<!ELEMENT pmcsproc (title?, (pmcspara | (pmcsstep1 | pmcsstep1-alt)+))>
<!ATTLIST pmcsproc
	%applidatt;
                      %hcpesd;
                      crewmember CDATA  #IMPLIED
>
<!ELEMENT pmcsstep1 ((%p;), eqpnotavail?, (pmcsstep2 | pmcsstep2-alt)*)>
<!ATTLIST pmcsstep1
	%applidatt;
                       %hcpesd;
                       %qa;
                       crewmember CDATA  #IMPLIED
>
<!ELEMENT pmcsstep1-alt (pmcsstep1+)>
<!ATTLIST pmcsstep1-alt
	id ID #IMPLIED
>
<!ELEMENT pmcsstep2 ((%p;), eqpnotavail?, (pmcsstep3 | pmcsstep3-alt)*)>
<!ATTLIST pmcsstep2
	%applidatt;
                       %hcpesd;
                       %qa;
                       crewmember CDATA  #IMPLIED
>
<!ELEMENT pmcsstep2-alt (pmcsstep2+)>
<!ATTLIST pmcsstep2-alt
	id ID #IMPLIED
>
<!ELEMENT pmcsstep3 ((%p;), eqpnotavail?, (pmcsstep4 | pmcsstep4-alt)*)>
<!ATTLIST pmcsstep3
	%applidatt;
                       %hcpesd;
                       %qa;
                       crewmember CDATA  #IMPLIED
>
<!ELEMENT pmcsstep3-alt (pmcsstep3+)>
<!ATTLIST pmcsstep3-alt
	id ID #IMPLIED
>
<!ELEMENT pmcsstep4 ((%p;), eqpnotavail?)>
<!ATTLIST pmcsstep4
	%applidatt;
                       %hcpesd;
                       %qa;
                       crewmember CDATA  #IMPLIED
>
<!ELEMENT pmcsstep4-alt (pmcsstep4+)>
<!ATTLIST pmcsstep4-alt
	id ID #IMPLIED
>
<!ELEMENT pmcstable (title, pmcs-intervals?, %alert;, pmcs-entry+)>
<!ATTLIST pmcstable
	%stdinfoatt;
                       use-manhours %no_att;
>
<!ELEMENT pmcswp (wp.metadata?, wpidinfo, initial_setup, pmcstable+, mrplpart)>
<!ATTLIST pmcswp
	%wpatt;
>
<!ELEMENT pmc (frntcover_abbreviated, pmcsintrowp, pmcswp+, rear)>
<!ATTLIST pmc
	pubno CDATA #IMPLIED
	revno CDATA #REQUIRED
	maintitl CDATA #REQUIRED
	maintlvls (PMC) #REQUIRED
	%secur;
	%paper.size;
>
<!ELEMENT pm-ginfowp (wp.metadata?, wpidinfo, geninfo)>
<!ATTLIST pm-ginfowp
	%wpatt;
>

<!ELEMENT pmi (paper.frnt, gim, mim+, rear)>
<!ATTLIST pmi
	pubno CDATA #IMPLIED
	revno CDATA #REQUIRED
	maintitl CDATA #REQUIRED
	maintlvls (PMI) #REQUIRED
	%paper.size;
	%secur;
>
<!ELEMENT pmi.pecul.tab (title, pmi.pecul-row)+>
<!ATTLIST pmi.pecul.tab
	%stdinfoatt;
>
<!ELEMENT pmi.pecul-entry (areano, itemno, interval, compname, (proc | (%step;)+))>
<!ATTLIST pmi.pecul-entry
	%applidatt;
>
<!ELEMENT pmi.pecul-row (serialno, date, pmi.pecul-entry+)>
<!ATTLIST pmi.pecul-row
	%applidatt;
>
<!ELEMENT pmi-cklistwp (wp.metadata?, wpidinfo, initial_setup, %alert;, figure+, note, (figure?, table)*)>
<!ATTLIST pmi-cklistwp
	%wpatt;
>
<!ELEMENT pmiwp (wp.metadata?, wpidinfo, initial_setup, ((proc)+ | (%alert;, geninfo, (figure, pmi.pecul.tab)+)))>
<!ATTLIST pmiwp
	%wpatt;
>
<!ELEMENT pms (paper.frnt, gim, mim+, rear)>
<!ATTLIST pms
	pubno CDATA #IMPLIED
	revno CDATA #REQUIRED
	maintitl CDATA #REQUIRED
	maintlvls (PMS | PMD) #REQUIRED
	%secur;
	%paper.size;
>
<!ELEMENT pmscategory (pms-inspecwp+)>
<!ELEMENT pms-geninfo (pms-para+)>
<!ATTLIST pms-geninfo
	%frameatt;
>
<!ELEMENT pms-ginfowp (wp.metadata?, wpidinfo, scope, pms-geninfo)>
<!ATTLIST pms-ginfowp
	%wpatt;
>
<!ELEMENT pms-inspecwp (wp.metadata?, wpidinfo, initial_setup, %alert;, (figure*, table)+)>
<!ATTLIST pms-inspecwp
	%wpatt;
>
<!ELEMENT pms-para (title, warning?, para+)>
<!ELEMENT pnindx (pnindxrow+)>
<!ATTLIST pnindx
	%bodyidatt;
>
<!ELEMENT pnindxrow (partno, cageno?, callout+)>
<!ATTLIST pnindxrow
	%bodyidatt;
>
<!ELEMENT pnindxwp (wp.metadata?, wpidinfo, pnindx)>
<!ATTLIST pnindxwp
	%wpatt;
>
<!--CHANGE C 00 - 16 March 2015 - TOG
*******************************************************************************
** Per LOGSA direction, ELEMENT <policy> added for genmaint_ginfowp instructions 
*******************************************************************************
-->
<!ELEMENT policy (%titldtext;)>
<!ATTLIST policy
	%bodyidatt;
>

<!ELEMENT portionmark EMPTY>
<!ATTLIST portionmark
	country CDATA "US"
	%secur;
>
<!ELEMENT possibletext (%text_ent;)*>
<!ELEMENT posttext (%format;)*>
<!ELEMENT ppmgeninfowp (wp.metadata?, wpidinfo, geninfo)>
<!ATTLIST ppmgeninfowp
	%wpatt;
>
<!ELEMENT prdinv (%titldtext;)>
<!ATTLIST prdinv
	%applidatt;
>
<!ELEMENT precal (proc+)>
<!ATTLIST precal
	%taskatt;
>
<!ELEMENT prechkadj (proc+)>
<!ATTLIST prechkadj
	%taskatt;
>
<!ELEMENT precond (expression)>
<!ATTLIST precond
	id ID #IMPLIED
>
<!ELEMENT premature EMPTY>
<!ATTLIST premature
	distreason CDATA #FIXED "to protect patentable information on systems or processes in the development or concept stage from premature dissemination"
>
<!ELEMENT prepforuse (proc+)>
<!ATTLIST prepforuse
	%taskatt;
>
<!ELEMENT prepmove (proc+)>
<!ATTLIST prepmove
	%taskatt;
>
<!--CHANGE C 00 - 16 March 2015 - TOG
*******************************************************************************
** Per LOGSA direction, ELEMENT <prepship> added for maintenance instructions task type
*******************************************************************************
-->
<!ELEMENT prepship (proc)+>
<!ATTLIST prepship
	%taskatt;
>
<!--CHANGE C 00 - 16 March 2015 - TOG
*******************************************************************************
** Per LOGSA direction, ELEMENT <prepstore> added for maintenance instructions task type
*******************************************************************************
-->
<!ELEMENT prepstore (proc)+>
<!ATTLIST prepstore
	%taskatt;
>
<!ELEMENT preserv (proc+)>
<!ATTLIST preserv
	%taskatt;
>

<!--CHANGE C 00 - 16 March 2015 - TOG
*******************************************************************************
** Per LOGSA direction, ELEMENT <preservation> added for maintenance instructions task type
*******************************************************************************
-->

<!ELEMENT preservation (proc+)>
<!ATTLIST preservation
	%taskatt;
>

<!ELEMENT pretext (%format;)*>
<!-- Do we need a forced second step  -->

<!ELEMENT proc (title?, %alert;, geninfo?, (para | (%step;, (%step;)+)))>
<!ATTLIST proc
	%applidatt;
                  %hcpesd;
                  %qa;
                  crewmember      CDATA  #IMPLIED
                  tocentry         (0 | 3 | 4 | 5 ) "0"
	date-time-stamp  (date | time | date-time )  #IMPLIED
                  frame            (yes | no ) "yes"
>
<!ELEMENT processeqp (proc+)>
<!ATTLIST processeqp
	%taskatt;
>
<!ELEMENT production (applic_ref_list?, (framed.manual | paper.manual | ammo | pmi | pms | sys-ts | destruction_manual | bdar | lubeorder | sam | sum | pmc | genmaintman | dmwr_ammo))>
<!ATTLIST production
	date CDATA #REQUIRED
	chnglevel CDATA #REQUIRED
	chngdate CDATA #REQUIRED
	pin CDATA #REQUIRED
>
<!ELEMENT prompt (%format; | variableref)*>
<!ATTLIST prompt
	id ID #IMPLIED
	position (left | right | top | bottom) #IMPLIED
>
<!ELEMENT promulgation (graphic)>
<!ATTLIST promulgation
	%bodyatt;
                          applicable IDREFS  #IMPLIED
>
<!ELEMENT promulgation-alt (promulgation)>
<!ELEMENT proponent (name, address)>
<!ATTLIST proponent
	%bodyidatt;
>
<!ELEMENT proprietary EMPTY>
<!ATTLIST proprietary
	distreason CDATA #FIXED "to protect information not owned by the U.S. Government and marked with a statement of a legal property right. This information is received with the understanding that it will not be routinely transmitted outside the U.S. Government"
>
<!ELEMENT prtitle (sysnomen+, subject?)+>
<!ATTLIST prtitle
	%changelevel;
                     %secur;
>
<!ELEMENT pshopanal (proc+ | chklist)>
<!ATTLIST pshopanal
	%bodyidatt;
>
<!ELEMENT pshopanalwp (wp.metadata?, wpidinfo, initial_setup, %alert;, scope, proc+, pshopanal+)>
<!ATTLIST pshopanalwp
	%wpatt;
>
<!ELEMENT pshopchk.tab (table)>
<!ATTLIST pshopchk.tab
	%stdinfoatt;
>
<!--CHANGE C 00 - 16 March 2015 - TOG
*******************************************************************************
** Per LOGSA direction, ELEMENT <pss> removed from maintenance instructions task type
*******************************************************************************

<!ELEMENT pss (proc+)>
<!ATTLIST pss  %taskatt; >
-->
<!ELEMENT pssref (%titldtext;)>
<!ATTLIST pssref
	%bodyidatt;
>
<!ELEMENT pubident ((name | %extref_ent;), title)>
<!ATTLIST pubident
	%bodyidatt; 
					 applicable IDREFS  #IMPLIED
>
<!ELEMENT publist (title, trim.para*, pubident+)>
<!ATTLIST publist
	%bodyidatt;
>
<!ELEMENT qainfo (%titldtext;)>
<!ATTLIST qainfo
	%bodyidatt;
>
<!ELEMENT qawp (wp.metadata?, wpidinfo, initial_setup?, responsibility, definitions, specialreq?, certreq?, quality_program?, inprocess, acceptance, first?)>
<!ATTLIST qawp
	%wpatt;
>
<!ELEMENT qty (#PCDATA)>
<!ATTLIST qty
	%bodyatt;
>
<!ELEMENT qty_per_end_item (#PCDATA)>
<!ATTLIST qty_per_end_item
	%bodyatt;
>
<!ELEMENT qtyrec (#PCDATA)>
<!ELEMENT qual.mat.info (%titldtext;)>
<!ATTLIST qual.mat.info
	%bodyidatt;
>
<!ELEMENT qualify-2lvl (maintfunc, maintclass-2lvl, terefs?, remarkrefs?)>
<!ATTLIST qualify-2lvl
	applicable IDREFS  #IMPLIED
>
<!ELEMENT quality_program (%titldtext;)>
<!ATTLIST quality_program
	%changelevel;
>
<!ELEMENT qualityassurance (unverified | (validation, verification?))>
<!ELEMENT randlist (title?, item+)>
<!ATTLIST randlist
	bullet %no_att;
                      prefix    CDATA  #IMPLIED
                      %bodyidatt;
>
<!ELEMENT range ((serialno, serialno) | (mwo, mwo) | (uoc, uoc) | (modelno, modelno) | (software_version, software_version) | (eqp_id, eqp_id))>
<!ELEMENT rcrr (para0+)>
<!ATTLIST rcrr
	%bodyidatt;
>
<!ELEMENT real (#PCDATA)>
<!ELEMENT rear (glossary?, aindx?, da2028+, authent, foldsect?, back)>
<!ATTLIST rear
	%idrefs;
>
<!ELEMENT reason (%text_ent;)*>
<!ATTLIST reason
	%bodyatt;
>
<!ELEMENT reasondate (#PCDATA)>
<!ELEMENT reasonfortest (%titldtext;)>
<!ATTLIST reasonfortest
	%bodyidatt;
>
<!ELEMENT rebuild (proc+)>
<!ATTLIST rebuild
	%taskatt;
>
<!ELEMENT receiveparameter (variableref)>
<!ATTLIST receiveparameter
	return-name CDATA #REQUIRED
>
<!ELEMENT recfrom (%text_ent;)*>
<!ELEMENT ref (ref-setup-item+)>
<!ELEMENT refdes (%format; | %linkref;)*>
<!ATTLIST refdes
	nsn CDATA #IMPLIED
	eic CDATA #IMPLIED
	%bodyidatt;
>
<!ELEMENT refdesindx (refdesindxrow+)>
<!ATTLIST refdesindx
	%bodyidatt;
>
<!ELEMENT refdesindxrow (refdes, callout+)>
<!ATTLIST refdesindxrow
	%bodyidatt;
>
<!ELEMENT refdesindxwp (wp.metadata?, wpidinfo, indxref*, refdesindx)>
<!ATTLIST refdesindxwp
	%wpatt;
>
<!ELEMENT ref.generate EMPTY>
<!ELEMENT ref-setup-item (%linkref;)>
<!ATTLIST ref-setup-item
	%setupatt;
>
<!ELEMENT refwp (wp.metadata?, wpidinfo, scope, publist+)>
<!ATTLIST refwp
	%wpatt;
>
<!ELEMENT releaseagent (#PCDATA)>
<!ELEMENT remarkcode (#PCDATA)>
<!ATTLIST remarkcode
	id ID #REQUIRED
>
<!ELEMENT remark-group (remarkcode, remarks)>
<!ELEMENT remarkref EMPTY>
<!ATTLIST remarkref
	refs IDREF #REQUIRED
>
<!ELEMENT remarkrefs (remarkref+)>
<!ELEMENT remarks (%text_ent;)*>
<!ATTLIST remarks
	%bodyidatt;
>
<!ELEMENT remarktab (title, remark-group+)>
<!ATTLIST remarktab
	%bodyidatt;
>
<!ELEMENT remove (proc+)>
<!ATTLIST remove
	%taskatt;
>
<!ELEMENT removepg (#PCDATA)>
<!ELEMENT repairable (%text_ent;)*>
<!ATTLIST repairable
	%changelevel;
>
<!ELEMENT repair (proc+)>
<!ATTLIST repair
	%taskatt;
>
<!ELEMENT replace (proc+)>
<!ATTLIST replace
	%taskatt;
>
<!ELEMENT report_destruct (title, para)>
<!ATTLIST report_destruct
	%bodyidatt;
>
<!ELEMENT reporting (title, para, (reporting.para+, para)?)>
<!ATTLIST reporting
	%bodyidatt;
>
<!ELEMENT reporting_req (para0+)>
<!ATTLIST reporting_req
	%bodyidatt;
>
<!ELEMENT reporting.para (%trimcontent;)*>
<!ATTLIST reporting.para
	service (army | af | navy | marines) #REQUIRED
	%bodyidatt;
>
<!ELEMENT resource_recovery (para0+)>
<!ATTLIST resource_recovery
	%bodyidatt;
>
<!ELEMENT responsibility (%titldtext;)>
<!ATTLIST responsibility
	%changelevel;
>
<!ELEMENT resultwithoutstate (fault*, disconnect?, (link | (para, (link | completed_test)?)))>
<!ELEMENT resultwithstate (fault*, disconnect?, (statemanipulation | interaction | link | para)+, completed_test?)>
<!ELEMENT retirement.interval (interval.hours, interval.notes?)>
<!ELEMENT returnlink (link)>
<!ELEMENT revform (#PCDATA)>
<!ELEMENT revisionsummary (title, para, para?, (wpno, desc)+)>
<!ATTLIST revisionsummary
	frame (yes | no) "yes"
	applicable IDREFS #IMPLIED
>
<!ELEMENT revisionsummary-alt (revisionsummary)>
<!ELEMENT revtag (#PCDATA)>
<!ELEMENT ris (proc+)>
<!ATTLIST ris
	%taskatt;
>
<!ELEMENT row (entry+)>
<!ATTLIST row
	rowsep (0 | 1) #IMPLIED
	applicable IDREFS #IMPLIED
	%bodyidatt;
>
<!ELEMENT safety (title, sfty-icons+)>
<!ATTLIST safety
	%bodyidatt;
>
<!--CHANGE C 00 - 16 March 2015 - TOG
*******************************************************************************
** Per LOGSA direction, ELEMENT <sam> added
*******************************************************************************
-->
<!ELEMENT sam ((paper.frnt | framed.frnt), (gim, %volumegroup;), (softdescdata, %volumegroup;), (sopim, %volumegroup;)*, ((tim, %volumegroup;)?, (mim, %volumegroup;)?)+, (sim, %volumegroup;), rear)>
<!ATTLIST sam
	pubno CDATA #IMPLIED
	maintitl CDATA #REQUIRED
	maintlvls (10 | 13 | 14 | 23 | 24 | 40 | dmwr | dmwr-nmwr | nmwr | NA) #REQUIRED
	dmwr-inclus (parts | parts-tools) #IMPLIED
	revno CDATA #REQUIRED
	multivolume %no_att;
                   %paper.size;
                   %secur;
>
<!ELEMENT schematic (%titldtext;)>
<!ATTLIST schematic
	%bodyidatt;
>
<!ELEMENT scope (%titldtext;)>
<!ATTLIST scope
	%bodyidatt;
  frame      (yes | no ) "no"
>
<!ELEMENT sec EMPTY>
<!ELEMENT sech EMPTY>
<!ELEMENT secitem (#PCDATA)>
<!ELEMENT secref (proc+)>
<!ATTLIST secref
	%taskatt;
>
<!ELEMENT security (%titldtext;)>
<!ATTLIST security
	%applidatt;
>
<!ELEMENT sendparameter (name?, (variableref | boolean | string | real | integer))>
<!ATTLIST sendparameter
	mode CDATA #IMPLIED
>
<!ELEMENT seqlist (title?, item+)>
<!ATTLIST seqlist
	%bodyidatt;
>
<!ELEMENT serialno (#PCDATA)>
<!ELEMENT servbranch EMPTY>
<!ATTLIST servbranch
	service (army | af | navy_air | navy_sea | marines) #REQUIRED
	qualify CDATA #IMPLIED
	procuring %no_att;
                        %changelevel;
                        %secur;
>
<!ELEMENT service (proc+)>
<!ATTLIST service
	%taskatt;
>
<!ELEMENT servnomen (%format;)*>
<!ELEMENT set (serialno+ | mwo+ | uoc+ | modelno+ | software_version+ | eqp_id+)>
<!ELEMENT setconn (proc+)>
<!ATTLIST setconn
	%taskatt;
>
<!ELEMENT sftydesc (title, text)>
<!ATTLIST sftydesc
	%bodyidatt;
>
<!ELEMENT sfty-icons (symbol, sftydesc)>
<!ATTLIST sfty-icons
	%bodyatt;
>
<!ELEMENT sftyinfo (%titldtext;)>
<!ATTLIST sftyinfo
	%bodyidatt;
>
<!ELEMENT sfty_req (para0+)>
<!ATTLIST sfty_req
	%bodyidatt;
>
<!ELEMENT shelter (proc+)>
<!ATTLIST shelter
	%taskatt;
>
<!ELEMENT shipmentmovementstoragecategory (maintwp+)>
<!ELEMENT shltr (proc+)>
<!ATTLIST shltr
	%taskatt;
>
<!ELEMENT short (geninfo, proc+)>
<!ATTLIST short
	%applidatt;
                   %hcpesd;
>
<!ELEMENT sig (%format;)*>
<!ELEMENT sigfunc (#PCDATA)>
<!ATTLIST sigfunc
	%bodyidatt;
>
<!ELEMENT signal-item (signame, dataitem, ckremarks, criteria, criteria)>
<!ATTLIST signal-item
	type (part | signal | process | other) #IMPLIED
	%bodyidatt;
>
<!ELEMENT signalword (#PCDATA)>
<!ELEMENT signame (#PCDATA)>
<!ATTLIST signame
	%bodyidatt;
>
<!--CHANGE C 00 - 16 JUNE 2015 - TOG
*******************************************************************************
** Per LOGSA direction and 40051-1C/2C, added ELEMENTs <lubricantsymbolwp>, <lubetypeswp>, 
** <lospecnoteswp>, <cmwp> to SIM 
*******************************************************************************
-->
<!ELEMENT sim ((titlepg, ((lubricantsymbolwp, lubetypeswp, lospecnoteswp) | (refwp, (bdarcategory | ((macintrowp, macwp)?, (((coeibiiwp* | softbiiwp*), aalwp?, cmwp?, explistwp?, facilwp?, toolidwp?, mrplwp?, csi.wp?, handreceiptwp?, supitemwp?, genwp*))) | (refwp, explistwp, facilwp?, toolidwp?, mrplwp?, csi.wp?, supitemwp?, genwp*))))))>
<!ATTLIST sim
	%imatt;
>


<!ELEMENT sin EMPTY>
<!ELEMENT single (serialno | mwo | uoc | modelno | software_version | eqp_id)>
<!ELEMENT sinh EMPTY>
<!ELEMENT site (proc+)>
<!ATTLIST site
	%taskatt;
>
<!ELEMENT siting (proc+)>
<!ATTLIST siting
	%taskatt;
>
<!ELEMENT size EMPTY>
<!ELEMENT sling (proc+)>
<!ATTLIST sling
	%taskatt;
>
<!ELEMENT smr EMPTY>
<!ATTLIST smr
	service (army | navy | AF | marine | CG) "army"
	sourcecode CDATA #REQUIRED
	maintcode CDATA #REQUIRED
	recovercode CDATA #REQUIRED
	eic CDATA #IMPLIED
	demil CDATA #IMPLIED
	%bodyatt;
>
<!--CHANGE C 00 - 16 March 2015 - TOG
*******************************************************************************
** Per LOGSA direction, ELEMENT <softaccesswp> added
*******************************************************************************
-->
<!ELEMENT softaccesswp (wp.metadata?, wpidinfo, initial_setup, proc+)>
<!ATTLIST softaccesswp
	%wpatt;
>
<!--CHANGE C 00 - 16 June 2015 - TOG
*******************************************************************************
** Per LOGSA direction, ELEMENT <soft_app> added
*******************************************************************************
-->
<!ELEMENT soft_app (para0+)>
<!ATTLIST soft_app
	%bodyidatt;
>
<!--CHANGE C 00 - 16 June 2015 - TOG
*******************************************************************************
** Per LOGSA direction, ELEMENT <soft_assistreport> added
*******************************************************************************
-->
<!ELEMENT soft_assistreport (para0+)>
<!ATTLIST soft_assistreport
	%bodyidatt;
>
<!--CHANGE C 00 - 16 June 2015 - TOG
*******************************************************************************
** Per LOGSA direction, ELEMENT <soft_environment> added
*******************************************************************************
-->
<!ELEMENT soft_environment (para0+)>
<!ATTLIST soft_environment
	%bodyidatt;
>
<!--CHANGE C 00 - 16 June 2015 - TOG
*******************************************************************************
** Per LOGSA direction, ELEMENT <soft_inventory> added
*******************************************************************************
-->
<!ELEMENT soft_inventory (para0+)>
<!ATTLIST soft_inventory
	%bodyidatt;
>
<!--CHANGE C 00 - 16 June 2015 - TOG
*******************************************************************************
** Per LOGSA direction, ELEMENT <soft_secpriv> added
*******************************************************************************
-->
<!ELEMENT soft_secpriv (para0+)>
<!ATTLIST soft_secpriv
	%bodyidatt;
>
<!--CHANGE C 00 - 16 June 2015 - TOG
*******************************************************************************
** Per LOGSA direction, ELEMENT <soft_superctrls> added
*******************************************************************************
-->
<!ELEMENT soft_superctrls (para0+)>
<!ATTLIST soft_superctrls
	%bodyidatt;
>
<!--CHANGE C 00 - 16 March 2015 - TOG
*******************************************************************************
** Per LOGSA direction, ELEMENT <softbiiwp> added
*******************************************************************************
-->
<!ELEMENT softbiiwp (wp.metadata?, wpidinfo, softbii+)>
<!ATTLIST softbiiwp
	%wpatt;
>
<!--CHANGE C 00 - 16 March 2015 - TOG
*******************************************************************************
** Per LOGSA direction, ELEMENT <softbii> added
*******************************************************************************
-->
<!ELEMENT softbii ((figure+ | graphic+), biitab+)+>
<!ATTLIST softbii
	%bodyidatt; 
applicable IDREFS  #IMPLIED
>
<!--CHANGE C 00 - 16 March 2015 - TOG
*******************************************************************************
** Per LOGSA direction, ELEMENT <softginfowp> added
*******************************************************************************
-->
<!ELEMENT softginfowp (wp.metadata?, wpidinfo, %alert;, scope, mfrr, eir, softsysover, softdocover, wrntyref?, destructmat?, nomenreflist?, loa)>
<!ATTLIST softginfowp
	%wpatt;
>
<!--CHANGE C 00 - 16 March 2015 - TOG
*******************************************************************************
** Per LOGSA direction, ELEMENT <softsumwp> added
** Per direection from LOGSA and AMCOM; Made soft_app optional as data maybe a repeat from the softdescdata section
*******************************************************************************
-->
<!--CHANGE C.01 - 31 May 2016 - TOG
*******************************************************************************
** Per LOGSA and AMCOM direction - Made soft_secpriv optional. Maybe repeat of data as used in softsecprivwp
*******************************************************************************
-->
<!ELEMENT softsumwp (wp.metadata?, wpidinfo, %alert;, soft_app?, soft_inventory, soft_environment, soft_secpriv?, soft_superctrls?, soft_assistreport?)>
<!ATTLIST softsumwp
	%wpatt;
>
<!--CHANGE C 00 - 16 March 2015 - TOG
*******************************************************************************
** Per LOGSA direction, ELEMENT <softeffectwp> added
*******************************************************************************
-->
<!ELEMENT softeffectwp (wp.metadata?, wpidinfo, geninfo)>
<!ATTLIST softeffectwp
	%wpatt;
>
<!--CHANGE C 00 - 16 March 2015 - TOG
*******************************************************************************
** Per LOGSA direction, ELEMENT <softdiffversionwp> added
*******************************************************************************
-->
<!ELEMENT softdiffversionwp (wp.metadata?, wpidinfo, eqpdiff)>
<!ATTLIST softdiffversionwp
	%wpatt;
>
<!--CHANGE C 00 - 16 March 2015 - TOG
*******************************************************************************
** Per LOGSA direction, ELEMENT <softdescdata> added
*******************************************************************************
-->
<!--CHANGE C 01 - 16 March 2015 - TOG
*******************************************************************************
** Per LOGSA and AMCOM direction - Made <softfeaturescapwp> and <softscreendisplaywp> optional. Maybe repeat of data.
*******************************************************************************
-->

<!ELEMENT softdescdata (titlepg, (softfeaturescapwp?, softscreendisplaywp?, softmenuwp, softtoolswp))>
<!ATTLIST softdescdata
	%imatt;
>
<!--CHANGE C 00 - 16 March 2015 - TOG
*******************************************************************************
** Per LOGSA direction, ELEMENT <softdocover> added
*******************************************************************************
-->
<!ELEMENT softdocover (%titldtext;)>
<!ATTLIST softdocover
	%bodyidatt;
  frame      (yes | no ) "no"
>
<!--CHANGE C 00 - 16 March 2015 - TOG
*******************************************************************************
** Per LOGSA direction, ELEMENT <softerrorswp> added
*******************************************************************************
-->
<!ELEMENT softerrorswp (wp.metadata?, wpidinfo, initial_setup, proc+)>
<!ATTLIST softerrorswp
	%wpatt;
>
<!--CHANGE C 00 - 16 March 2015 - TOG
*******************************************************************************
** Per LOGSA direction, ELEMENT <softgenwp> added
*******************************************************************************
-->
<!ELEMENT softgenwp (wp.metadata?, wpidinfo, initial_setup, proc+)>
<!ATTLIST softgenwp
	%wpatt;
>
<!--CHANGE C 00 - 16 March 2015 - TOG
*******************************************************************************
** Per LOGSA direction, ELEMENT <softguiwp> added
*******************************************************************************
-->
<!ELEMENT softguiwp (wp.metadata?, wpidinfo, initial_setup, proc+)>
<!ATTLIST softguiwp
	%wpatt;
>
<!--CHANGE C 00 - 16 March 2015 - TOG
*******************************************************************************
** Per LOGSA direction, ELEMENT <softfeaturescapwp> added
*******************************************************************************
(proc | %para0_ent')+)
-->
<!ELEMENT softfeaturescapwp (wp.metadata?, wpidinfo, initial_setup, proc+)>
<!ATTLIST softfeaturescapwp
	%wpatt;
>
<!--CHANGE C 00 - 16 March 2015 - TOG
*******************************************************************************
** Per LOGSA direction, ELEMENT <softkeycmdswp> added
*******************************************************************************
-->
<!ELEMENT softkeycmdswp (wp.metadata?, wpidinfo, initial_setup, proc+)>
<!ATTLIST softkeycmdswp
	%wpatt;
>
<!--CHANGE C 00 - 16 March 2015 - TOG
*******************************************************************************
** Per LOGSA direction, ELEMENT <softmaintcategory> added
*******************************************************************************
-->
<!ELEMENT softmaintcategory (maintwp)*>
<!--CHANGE C 00 - 16 March 2015 - TOG
*******************************************************************************
** Per LOGSA direction, ELEMENT <softmessageswp> added
*******************************************************************************
-->
<!ELEMENT softmessageswp (wp.metadata?, wpidinfo, initial_setup, message+)>
<!ATTLIST softmessageswp
	%wpatt;
>
<!--CHANGE C 00 - 16 March 2015 - TOG
*******************************************************************************
** Per LOGSA direction, ELEMENT <softopconventionswp> added
*******************************************************************************
-->
<!ELEMENT softopconventionswp (wp.metadata?, wpidinfo, initial_setup, proc+)>
<!ATTLIST softopconventionswp
	%wpatt;
>
<!--CHANGE C 00 - 16 March 2015 - TOG
*******************************************************************************
** Per LOGSA direction, ELEMENT <softproccmdwp> added
*******************************************************************************
-->
<!ELEMENT softproccmdwp (wp.metadata?, wpidinfo, initial_setup, proc+)>
<!ATTLIST softproccmdwp
	%wpatt;
>
<!--CHANGE C 00 - 16 March 2015 - TOG
*******************************************************************************
** Per LOGSA direction, ELEMENT <softscreendisplaywp> added
*******************************************************************************
(proc | %para0_ent')+)
-->
<!ELEMENT softscreendisplaywp (wp.metadata?, wpidinfo, initial_setup, proc+)>
<!ATTLIST softscreendisplaywp
	%wpatt;
>
<!--CHANGE C 00 - 16 March 2015 - TOG
*******************************************************************************
** Per LOGSA direction, ELEMENT <softsecprivwp> added
*******************************************************************************
-->
<!ELEMENT softsecprivwp (wp.metadata?, wpidinfo, initial_setup, proc+)>
<!ATTLIST softsecprivwp
	%wpatt;
>
<!--CHANGE C 00 - 16 March 2015 - TOG
*******************************************************************************
** Per LOGSA direction, ELEMENT <softsysover> added
*******************************************************************************
-->
<!ELEMENT softsysover (%titldtext;)>
<!ATTLIST softsysover
	%bodyidatt;
  frame      (yes | no ) "no"
>
<!--CHANGE C 00 - 16 March 2015 - TOG
*******************************************************************************
** Per LOGSA direction, ELEMENT <softmenuwp> added
*******************************************************************************
-->
<!ELEMENT softmenuwp (wp.metadata?, wpidinfo, initial_setup, proc+)>
<!ATTLIST softmenuwp
	%wpatt;
>
<!--  Possible change from AMCOM
 <!ELEMENT softmenuwp (wp.metadata?, wpidinfo, initial_setup, (proc | %para0_ent')+)>
 <!ATTLIST softmenuwp
	%wpatt;
>
  -->
<!--CHANGE C 00 - 16 March 2015 - TOG
*******************************************************************************
** Per LOGSA direction, ELEMENT <softpowerupwp> added
*******************************************************************************
-->

<!ELEMENT softpowerupwp (wp.metadata?, wpidinfo, initial_setup, proc+)>
<!ATTLIST softpowerupwp
	%wpatt;
>
<!--CHANGE C 00 - 16 March 2015 - TOG
*******************************************************************************
** Per LOGSA direction, ELEMENT <softpowerdownwp> added
*******************************************************************************
-->
<!ELEMENT softpowerdownwp (wp.metadata?, wpidinfo, initial_setup, proc+)>
<!ATTLIST softpowerdownwp
	%wpatt;
>
<!--CHANGE C 00 - 16 March 2015 - TOG
*******************************************************************************
** Per LOGSA direction, ELEMENT <softsuperctrlswp> added
*******************************************************************************
-->
<!ELEMENT softsuperctrlswp (wp.metadata?, wpidinfo, initial_setup, proc+)>
<!ATTLIST softsuperctrlswp
	%wpatt;
>

<!--CHANGE C 00 - 16 March 2015 - TOG
*******************************************************************************
** Per LOGSA direction, ELEMENT <softtoolswp> added
*******************************************************************************
-->
<!ELEMENT softtoolswp (wp.metadata?, wpidinfo, initial_setup, ctrlindtab+)>
<!ATTLIST softtoolswp
	%wpatt;
>

<!ELEMENT softwarecategory (softginfowp?, softsumwp, softeffectwp?, softdiffversionwp*, softfeaturescapwp*, softscreendisplaywp*, softmenuwp*, softtoolswp*, softsecprivwp*, softsuperctrlswp?, softpowerupwp?, softpowerdownwp?, softaccesswp*, softkeycmdswp*, softproccmdwp*, softguiwp*, softopconventionswp*, softgenwp*, softmessageswp*, softerrorswp*)>

<!ELEMENT softwaredoc EMPTY>
<!ATTLIST softwaredoc
	distreason CDATA #FIXED "to protect technical data relating to computer software that is releasable only in accordance with the software license in subpart 227.72 of Title 48, Code of Federal Regulations. It includes documentation such as user or owner manuals, installation instructions, operating instructions, and other information that explains the capabilities of or provides instructions for using or maintaining computer software"
>
<!ELEMENT softwaremaint (proc+)>
<!ATTLIST softwaremaint
	%taskatt;
>
<!ELEMENT software_version (#PCDATA)>

<!--CHANGE C 00 - 31 DEC 2015 - TOG
*******************************************************************************
** Per LOGSA direction, ELEMENT <soim> added
*******************************************************************************
-->
<!ELEMENT soim (titlepg, softwarecategory)>
<!ATTLIST soim
	%imatt;
>

<!--CHANGE C 00 - 16 March 2015 - TOG
*******************************************************************************
** Per LOGSA direction, ELEMENT <sopim> added
*******************************************************************************
-->
<!ELEMENT sopim (titlepg, softsecprivwp, softsuperctrlswp?, softpowerupwp+, softpowerdownwp*, softaccesswp+, softkeycmdswp*, softproccmdwp*, softguiwp*, softopconventionswp*, softgenwp*)>
<!ATTLIST sopim
	%imatt;
>
<!ELEMENT spanspec EMPTY>
<!ATTLIST spanspec
	namest CDATA #REQUIRED
	nameend CDATA #REQUIRED
	spanname CDATA #REQUIRED
	align (left | right | center | justify | char) "center"
	charoff CDATA #IMPLIED
	char CDATA #IMPLIED
	colsep (0 | 1) #IMPLIED
	rowsep (0 | 1) #IMPLIED
>
<!ELEMENT specauth (#PCDATA)>
<!ATTLIST specauth
	distreason CDATA #FIXED "to protect information not specifically included in the above reasons, but which requires protection in accordance with valid documented authority (e.g., Executive orders, statutes such as Atomic Energy Federal regulation)"
>
<!ELEMENT specenv (specenv-setup-item+)>
<!ELEMENT specenv-setup-item (condition, reason)>
<!ATTLIST specenv-setup-item
	%setupatt;
>
<!ELEMENT specialreq (%titldtext;)>
<!ATTLIST specialreq
	%changelevel;
>
<!ELEMENT special_sfty (para0+)>
<!ATTLIST special_sfty
	%bodyidatt;
>
<!ELEMENT specpara (((warning+, csi.alert*, caution*, note*) | (csi.alert+, caution*, note*) | (caution+, note*) | note+), para)>
<!ATTLIST specpara
	%hcpesd;
                      %bodyidatt;
>

<!--CHANGE C 00 - 16 March 2015 - TOG
*******************************************************************************
** Per LOGSA direction, ELEMENT <spectools> added for initial_setup
*******************************************************************************
-->
<!ELEMENT spectools (spectools-setup-item+)>
<!ELEMENT spectools-setup-item (name, itemref?)>
<!ATTLIST spectools-setup-item
	%setupatt;
>

<!ELEMENT spec_hazards (para0+)>
<!ELEMENT sqrt EMPTY>
<!ELEMENT sruthry (%titldtext;)>
<!ATTLIST sruthry
	nomen CDATA #IMPLIED
	nsn CDATA #IMPLIED
	%bodyidatt;
                     frame      (yes | no ) "no"
>
<!ELEMENT ssysthry (%titldtext;, (lruthry*, sruthry*))>
<!ATTLIST ssysthry
	applicable IDREFS  #IMPLIED
	nomen CDATA #IMPLIED
	nsn CDATA #IMPLIED
	%bodyidatt;
                      frame      (yes | no ) "no"
>
<!ELEMENT state (#PCDATA)>
<!ATTLIST state
	%changelevel;
>
<!ELEMENT stateinitialization (variable)+>
<!ATTLIST stateinitialization
	%applidatt;
>
<!ELEMENT statemanipulation (precond?, (variableref, (fault | date-time_stamp | expression)))>
<!ATTLIST statemanipulation
	%applidatt;
>
<!ELEMENT step1 (precond?, (%p;), (%figtab; | step2 | step2-alt)*)>
<!ATTLIST step1
	%applidatt;
                   skilllevel       (novice_expert ) "novice_expert"
	label           CDATA   #IMPLIED
                   %hcpesd;
                   %qa;
                   safeflght %yesorno;
                   crewmember      CDATA   #IMPLIED
                   frame            (yes | no )  #IMPLIED
                   date-time-stamp  (date | time | date-time )  #IMPLIED
                   warningref      IDREFS  #IMPLIED
                   cautionref      IDREFS  #IMPLIED
                   noteref         IDREFS  #IMPLIED
>
<!ELEMENT step1-alt (step1+)>
<!ATTLIST step1-alt
	id ID #IMPLIED
>
<!ELEMENT step2 (precond?, (%p;), (%figtab; | step3 | step3-alt)*)>
<!ATTLIST step2
	%applidatt;
                   skilllevel  (novice | novice_expert ) "novice_expert"
	label      CDATA   #IMPLIED
                   %hcpesd;
                   %qa;
                   safeflght %yesorno;
                   crewmember CDATA   #IMPLIED
                   warningref IDREFS  #IMPLIED
                   cautionref IDREFS  #IMPLIED
                   noteref    IDREFS  #IMPLIED
>
<!ELEMENT step2-alt (step2+)>
<!ATTLIST step2-alt
	id ID #IMPLIED
>
<!ELEMENT step3 (precond?, (%p;), (%figtab; | step4 | step4-alt)*)>
<!ATTLIST step3
	%applidatt;
                   skilllevel  (novice | novice_expert ) "novice_expert"
	label      CDATA   #IMPLIED
                   %hcpesd;
                   %qa;
                   safeflght %yesorno;
                   crewmember CDATA   #IMPLIED
                   warningref IDREFS  #IMPLIED
                   cautionref IDREFS  #IMPLIED
                   noteref    IDREFS  #IMPLIED
>
<!ELEMENT step3-alt (step3+)>
<!ATTLIST step3-alt
	id ID #IMPLIED
>
<!ELEMENT step4 (precond?, (%p;), (%figtab; | step5 | step5-alt)*)>
<!ATTLIST step4
	%applidatt;
                   skilllevel  (novice | novice_expert ) "novice_expert"
	label      CDATA   #IMPLIED
                   %hcpesd;
                   %qa;
                   safeflght %yesorno;
                   crewmember CDATA   #IMPLIED
                   warningref IDREFS  #IMPLIED
                   cautionref IDREFS  #IMPLIED
                   noteref    IDREFS  #IMPLIED
>
<!ELEMENT step4-alt (step4+)>
<!ATTLIST step4-alt
	id ID #IMPLIED
>
<!ELEMENT step5 (precond?, (%p;), (%figtab; | step6 | step6-alt)*)>
<!ATTLIST step5
	%applidatt;
                   skilllevel  (novice | novice_expert ) "novice_expert"
	label      CDATA   #IMPLIED
                   %hcpesd;
                   %qa;
                   safeflght %yesorno;
                   crewmember CDATA   #IMPLIED
                   warningref IDREFS  #IMPLIED
                   cautionref IDREFS  #IMPLIED
                   noteref    IDREFS  #IMPLIED
>
<!ELEMENT step5-alt (step5+)>
<!ATTLIST step5-alt
	id ID #IMPLIED
>
<!ELEMENT step6 (precond?, (%p;), (%figtab;)*)>
<!ATTLIST step6
	%applidatt;
                   skilllevel  (novice | novice_expert ) "novice_expert"
	label      CDATA   #IMPLIED
                   %hcpesd;
                   %qa;
                   safeflght %yesorno;
                   crewmember CDATA   #IMPLIED
                   warningref IDREFS  #IMPLIED
                   cautionref IDREFS  #IMPLIED
                   noteref    IDREFS  #IMPLIED
>
<!ELEMENT step6-alt (step6+)>
<!ATTLIST step6-alt
	id ID #IMPLIED
>
<!ELEMENT stitle (%format; | brk)*>
<!ATTLIST stitle
	%changelevel;
                    %secur;
>
<!ELEMENT stl_partswp (wp.metadata?, wpidinfo, pi.category+)>
<!ATTLIST stl_partswp
	%wpatt;
>
<!ELEMENT stlwp (wp.metadata?, wpidinfo, pi.category+)>
<!ATTLIST stlwp
	%wpatt;
>
<!ELEMENT storagewp (wp.metadata?, wpidinfo, initial_setup, %alert;, geninfo, flyable, short, intermediate)>
<!ATTLIST storagewp
	%wpatt;
>
<!ELEMENT stowagewp (wp.metadata?, wpidinfo, intro, stowinfo+, decalinfo*)>
<!ATTLIST stowagewp
	%wpatt;
>
<!ELEMENT stowinfo (intro, figure+)>
<!ATTLIST stowinfo
	%applidatt;
>
<!ELEMENT street (#PCDATA)>
<!ATTLIST street
	%changelevel;
>
<!ELEMENT string (#PCDATA)>
<!ELEMENT sub-contententry (contententry+)>
<!ATTLIST sub-contententry
	figuretable (yes | no) #IMPLIED
>
<!ELEMENT subfig (subtitle?, ((graphic, legend?) | table | verbatim))>
<!ATTLIST subfig
	id ID #IMPLIED
	IDREFS IDREFS #IMPLIED
	sheet CDATA #IMPLIED
	totalsheets CDATA #IMPLIED
	%changelevel;
>
<!ELEMENT subject (%format; | brk)*>
<!ATTLIST subject
	%changelevel;
                     %secur;
>

<!--CHANGE C 03 -  27 September 2017 - TOG
*******************************************************************************
** Per AMCOM and TACOM direction - Update added ATTRIBUTE numbering (yes | no) "no" to allow for numbering of subpara when needed
*******************************************************************************
-->

<!ELEMENT subpara1 (precond?, title, ((subpara2 | subpara2-alt)+ | ((csi.alert*, note*, para)+, (subpara2 | subpara2-alt)*)))>
<!ATTLIST subpara1
	%applidatt;
                      %hcpesd;
                      crewmember CDATA  #IMPLIED
                      numbering  (yes | no ) "no"
>
<!ELEMENT subpara1-alt (subpara1+)>
<!ATTLIST subpara1-alt
	id ID #IMPLIED
>
<!--CHANGE C 03 -  27 September 2017 - TOG
*******************************************************************************
** Per AMCOM and TACOM direction - Update added ATTRIBUTE numbering (yes | no) "no" to allow for numbering of subpara when needed
*******************************************************************************
-->
<!ELEMENT subpara2 (precond?, title, ((subpara3 | subpara3-alt)+ | ((csi.alert*, note*, para)+, (subpara3 | subpara3-alt)*)))>
<!ATTLIST subpara2
	%applidatt;
                      %hcpesd;
                      crewmember CDATA  #IMPLIED
                      numbering  (yes | no ) "no"
>
<!ELEMENT subpara2-alt (subpara2+)>
<!ATTLIST subpara2-alt
	id ID #IMPLIED
>
<!--CHANGE C 03 -  27 September 2017 - TOG
*******************************************************************************
** Per AMCOM and TACOM direction - Update added ATTRIBUTE numbering (yes | no) "no" to allow for numbering of subpara when needed
*******************************************************************************
-->
<!ELEMENT subpara3 (precond?, title, ((subpara4 | subpara4-alt)+ | ((csi.alert*, note*, para)+, (subpara4 | subpara4-alt)*)))>
<!ATTLIST subpara3
	%applidatt;
                      %hcpesd;
                      crewmember CDATA  #IMPLIED
                      numbering  (yes | no ) "no"
>
<!ELEMENT subpara3-alt (subpara3+)>
<!ATTLIST subpara3-alt
	id ID #IMPLIED
>
<!--CHANGE C 03 -  27 September 2017 - TOG
*******************************************************************************
** Per AMCOM and TACOM direction - Update added ATTRIBUTE numbering (yes | no) "no" to allow for numbering of subpara when needed
*******************************************************************************
-->
<!ELEMENT subpara4 (precond?, title, ((csi.alert*, note*, para)+))>
<!ATTLIST subpara4
	%applidatt;
                      %hcpesd;
                      crewmember CDATA  #IMPLIED
                       numbering  (yes | no ) "no"
  >
<!ELEMENT subpara4-alt (subpara4+)>
<!ATTLIST subpara4-alt
	id ID #IMPLIED
>
<!ELEMENT subscrpt (#PCDATA)>
<!ELEMENT substring EMPTY>
<!ELEMENT substitute-matwp (wp.metadata?, wpidinfo, ((intro, %titldtext;) | para+))>
<!ATTLIST substitute-matwp
	%wpatt;
>
<!ELEMENT subsystem-system (systemnomen, subsystem-system*)>
<!ATTLIST subsystem-system
	%applidatt;
>
<!ELEMENT subtitle (%format;)*>
<!ATTLIST subtitle
	%bodyatt;
>
<!--CHANGE C 00 - 16 March 2015 - TOG
*******************************************************************************
** Per LOGSA direction and 40051, ELEMENT <sum> added
*******************************************************************************
-->

<!ELEMENT sum ((paper.frnt | framed.frnt), (gim, %volumegroup;), (softdescdata, %volumegroup;), (sopim, %volumegroup;)*, ((tim, %volumegroup;)?, (mim, %volumegroup;)?)+, (sim, %volumegroup;), rear)>
<!ATTLIST sum
	pubno CDATA #IMPLIED
	maintitl CDATA #REQUIRED
	maintlvls (10 | 13 | 14 | 23 | 24 | 40 | dmwr | dmwr-nmwr | nmwr | NA) #REQUIRED
	dmwr-inclus (parts | parts-tools) #IMPLIED
	revno CDATA #REQUIRED
	multivolume %no_att;
                   %paper.size;
                   %secur;
>
<!ELEMENT supdata (%titldtext;)+>
<!ATTLIST supdata
	%bodyidatt;
>
<!ELEMENT super (title?, para)>
<!ELEMENT supitemwp (wp.metadata?, wpidinfo, intro?, (coei, bii)?, aal?, explist?, toolidlist?, mrpl?, csi?)>
<!ATTLIST supitemwp
	%wpatt;
>
<!ELEMENT supscrpt (#PCDATA)>
<!ELEMENT surmat (unpack | chkeqp | processeqp)+>
<!ELEMENT surtsk ((ammo.defect | ammo.handling | arm | calign | install | mark | other.surtsk | precal | prechkadj | preserv | shltr | siting | surmat)+, followon.maintsk?)>
<!ELEMENT surwp (wp.metadata?, wpidinfo, initial_setup, %alert;, geninfo?, surtsk+)>
<!ATTLIST surwp
	%wpatt;
>
<!ELEMENT symbol EMPTY>
<!ATTLIST symbol
	%graphicatt;
                    %bodyidatt;
>
<!ELEMENT symptom (%text_ent;)*>
<!ATTLIST symptom
	%bodyidatt;
>
<!ELEMENT sysdesc (%titldtext;)>
<!ATTLIST sysdesc
	%bodyidatt;
>
<!--CHANGE C 00 - 16 June 2015 - TOG
*******************************************************************************
** Per LOGSA direction, ELEMENT <cageno> added to sysnomen for lube order front cover
*******************************************************************************
-->
<!ELEMENT sysnomen (name, (modelno?, nsn?, partno?, cageno?, eic?)+)>
<!ATTLIST sysnomen
	pretext CDATA #IMPLIED
                      %applidatt;
>
<!ELEMENT systembreakdown (systemnomen, (descwp, thrywp*)+, ctrlindwp*, opusualwp*, opunuwp*, emergencywp*, stowagewp*, eqploadwp*, ((tsindxwp*, pshopanalwp?, compchklistwp?) | (tsintrowp, techdescwp*, tsindxwp*)), ((tswp | opcheckwp | opcheck-tswp)+ | diagnosticwp+)?, surwp*, perseqpwp*, pmcswp*, (auxeqpwp | pmiwp | lubewp | maintwp | gen.maintwp)*, facilwp*, oipwp*, mobilwp*, qawp*, (ammowp | ammo.markingwp | natowp | torquewp | inventorywp | (manu_items_introwp, manuwp+) | storagewp | wtloadwp | wiringwp)*, systembreakdown*)>

<!--CHANGE C 03 - 13 JUNE 2017 - TOG
*******************************************************************************
** Per LOGSA direction, ELEMENT <systemhierarchy> child element order changed to match the 40051 matrix placing the dim, bim and soim before the PIM work packages
*******************************************************************************
-->
<!--<!ELEMENT systemhierarchy ((revisionsummary | revisionsummary-alt+)?, (frntcover | frntcover-alt+), overallsystem, systembreakdown+, systemref, (introwp, plwp+, stl_partswp?, kitswp*, bulk_itemswp*, stlwp*, (nsnindxwp, pnindxwp)?, refdesindxwp?)?, dim?, bim?, soim?, (da2028+, authent))>-->

<!ELEMENT systemhierarchy ((revisionsummary | revisionsummary-alt+)?, (frntcover | frntcover-alt+), overallsystem, systembreakdown+, dim?, bim?,  soim?, (introwp, plwp+, stl_partswp?, kitswp*, bulk_itemswp*, stlwp*, (nsnindxwp, pnindxwp)?, refdesindxwp?)?, systemref, (da2028+, authent))>

<!ELEMENT systemnomen (name, (nsn | %partid; | modelno | refdes | lcn | taskcode)*)>
<!ELEMENT systemref (title, (stowagewp | eqploadwp | torquewp | inventorywp | storagewp | (manu_items_introwp, manuwp+) | wtloadwp | wiringwp)*, refwp, (macintrowp, macwp)?, ((coeibiiwp?, aalwp?, explistwp?, toolidwp?, mrplwp?, csi.wp?) | supitemwp), genwp*, glossary?)>
<!ELEMENT systhry (%titldtext;, (ssysthry* | (lruthry*, sruthry*)))>
<!ATTLIST systhry
	%applidatt;
                     frame      (yes | no ) "yes"
>
<!ELEMENT sys-ts (paper.frnt, tim, rear)>
<!ATTLIST sys-ts
	pubno CDATA #IMPLIED
	revno CDATA #REQUIRED
	multivolume %no_att;
                    %secur;
>
<!ELEMENT table (precond?, title?, tgroup+)>
<!ATTLIST table
	tabstyle NMTOKEN #IMPLIED
	%stdinfoatt;
         frame       (top | bottom | topbot | all | sides | none )  #IMPLIED
         colsep      (0 | 1 )  #IMPLIED
         rowsep      (0 | 1 )  #IMPLIED
         orient      (port | land )  #IMPLIED
         label      CDATA    #IMPLIED
>
<!ELEMENT table-alt (table+)>
<!ATTLIST table-alt
	id ID #IMPLIED
	%secur;
>
<!ELEMENT tabdata (para0+)>
<!ATTLIST tabdata
	%bodyidatt;
>
<!ELEMENT tan EMPTY>
<!ELEMENT tanh EMPTY>
<!ELEMENT taskcode (#PCDATA)>
<!ELEMENT tbody (row+)>
<!ATTLIST tbody
	valign (top | middle | bottom) "top"
>
<!ELEMENT techdescwp (wp.metadata?, %wpsetup;, ((descproc, ctrlindproc?, thryproc?) | (ctrlindproc, thryproc?) | thryproc))>
<!ATTLIST techdescwp
	%wpatt;
>
<!--CHANGE C 00 - 16 June 2015 - TOG
*******************************************************************************
** Per LOGSA direction, ELEMENT <temprange> added to lubetab
*******************************************************************************
-->
<!ELEMENT temprange (#PCDATA)>
<!ELEMENT teref EMPTY>
<!ATTLIST teref
	refs IDREF #REQUIRED
>
<!ELEMENT terefcode (#PCDATA)>
<!ATTLIST terefcode
	id ID #REQUIRED
>
<!ELEMENT teref-group (terefcode, maintenance, name, nsn, toolno)>
<!ATTLIST teref-group
	%applidatt;
>
<!ELEMENT terefs (teref+)>
<!ELEMENT tereqtab (title, teref-group+)>
<!ATTLIST tereqtab
	%bodyidatt;
>
<!--CHANGE C 00 - 16 June 2015 - TOG
*******************************************************************************
** Per LOGSA direction, ELEMENT <term> added to CHANGE attributes
*******************************************************************************
-->
<!ELEMENT term (%format; | %linkref;)*>
<!ATTLIST term
	%bodyidatt;
>
<!--CHANGE C 00 - 16 June 2015 - TOG
*******************************************************************************
** Per LOGSA direction, ELEMENT <term.def> added to CHANGE attributes
*******************************************************************************
-->
<!ELEMENT term.def (term, def)>
<!ATTLIST term.def
	%bodyidatt;
>
<!ELEMENT test (title?, %alert;, ((%step;)+ | (proc+)))>
<!ATTLIST test
	%taskatt; 
>
<!ELEMENT testblock (%alert;, test+, indication, answer, answer+)>
<!ATTLIST testblock
	type (yes | no | pass | fail | true | nottrue | value | unantic) #REQUIRED
	valueloc NMTOKENS #IMPLIED
	valuetype (boolean | string | sequence | set | real | integer | float | nil | input | outcome) #IMPLIED
	value CDATA #IMPLIED
	branch ID #REQUIRED
	branchlabel CDATA #IMPLIED
	branchfrom IDREFS #IMPLIED
	branchto IDREFS #IMPLIED
>
<!ELEMENT testeqp (testeqp-setup-item+)>
<!ELEMENT testeqp-setup-item (name, itemref?)>
<!ATTLIST testeqp-setup-item
	%setupatt;
>
<!ELEMENT testeval EMPTY>
<!ATTLIST testeval
	distreason CDATA #FIXED "to protect results of test and evaluation of commercial products or military hardware when disclosure may cause unfair advantage or disadvantage to the manufacturer of the product"
>
<!ELEMENT testflow (%titldtext;)>
<!ATTLIST testflow
	%bodyidatt;
>
<!ELEMENT testinspectioncategory (maintwp+)>
<!ELEMENT testproc (checkstep+)>
<!ATTLIST testproc
	%bodyidatt;
>
<!ELEMENT testwithstate (precond?, title, reasonfortest?, statemanipulation*, %alert;, diagnostic-tracks, followon.maintsk?)>
<!ATTLIST testwithstate
	%applidatt;
>
<!ELEMENT testwithstate-alt (testwithstate+)>
<!ATTLIST testwithstate-alt
	%applidatt;
>
<!ELEMENT text (%format; | %linkref;)*>
<!--<!ELEMENT tfoot (colspec*, row+)>
<!ATTLIST tfoot  valign  (top | middle | bottom )  'bottom' >-->
<!ELEMENT tgroup (colspec*, spanspec*, thead?, tbody)>
<!ATTLIST tgroup
	cols CDATA #REQUIRED
	tgroupstyle NMTOKEN #IMPLIED
	colsep (0 | 1) #IMPLIED
	rowsep (0 | 1) #IMPLIED
	align (left | right | center | justify | char) "left"
	charoff CDATA "50"
	char CDATA " "
>
<!ELEMENT thead (colspec*, row+)>
<!ATTLIST thead
	valign (top | middle | bottom) "bottom"
>
<!ELEMENT then (((%result;), evaluate?) | evaluate)>
<!ELEMENT thryproc (systhry+)>
<!ATTLIST thryproc
	%bodyidatt;
>
<!ELEMENT thrywp (wp.metadata?, wpidinfo, intro?, systhry+)>
<!ATTLIST thrywp
	%wpatt;
>
<!ELEMENT tim (titlepg, (masterindexcategory | troublecategory | troubleaviationcategory | troubledmwrnmwrcategory | troublesoftcategory))>
<!ATTLIST tim
	%imatt;
>
<!--CHANGE C 00 - 30 MAR 2015 - TOG
*******************************************************************************
** Per LOGSA  and AMCOM direction, changed to add xref references and all setup attributes
*******************************************************************************
-->
<!ELEMENT time.to.comp (xref?)>
<!ATTLIST time.to.comp
	hrs CDATA #REQUIRED
	%setupatt;
>
<!ELEMENT times EMPTY>
<!ELEMENT title (%text_ent; | brk)*>
<!ATTLIST title
	%bodyidatt;
>
<!ELEMENT title.term.def (title, title)>
<!ELEMENT titleblk ((wp.metadata?, title?, servnomen)+, city, state, date, prtitle, (stitle, weapons_system?)?, reporting+, pm.warning.data?, notices)>
<!ATTLIST titleblk
	%bodyidatt; 
  currentasofdate  CDATA   #IMPLIED
	chngno    CDATA  #IMPLIED>

<!--CHANGE D 01 - 27 FEB 2017 - TOG
*******************************************************************************
** Per LOGSA  and AMCOM direction, changed to comply with 5.0 DTD and Legacy systems.
*******************************************************************************
-->
<!ELEMENT titlepg ((name, (partno | modelno | nsn)*)+, contents?, intro?)>
	
<!--<!ELEMENT titlepg ((name, (partno | modelno | nsn)*)+, contents?)>-->
<!ATTLIST titlepg
	maintlvl (%maintlevel;) #REQUIRED
	%changelevel;
>
<!ELEMENT tminfono (servbranch, tmno)>
<!ATTLIST tminfono
	%changelevel;
                      %secur;
>
<!ELEMENT tmno (#PCDATA)>
<!ATTLIST tmno
	%changelevel;
                  %secur;
>
<!ELEMENT tmtitle (((tminfono, tminfono+) | tmno), prtitle, (stitle, weapons_system?)?)>
<!ATTLIST tmtitle
	%changelevel;
                     %secur;
>
<!ELEMENT tool-category (title, tool-entry+)>
<!ATTLIST tool-category
	%bodyidatt; 
					applicable IDREFS  #IMPLIED
>
<!ELEMENT tool-entry (itemno, name, nsn, ((partno, cageno) | partcage+), (%extref_ent;)?)>
<!ATTLIST tool-entry
	%bodyidatt; 
					 applicable IDREFS  #IMPLIED
>
<!ELEMENT toolidlist (title, (tool-category+ | tool-entry+))>
<!ATTLIST toolidlist
	%bodyidatt; 
					applicable IDREFS  #IMPLIED
>
<!ELEMENT toolidwp (wp.metadata?, wpidinfo, intro, toolidlist)>
<!ATTLIST toolidwp
	%wpatt;
>
<!ELEMENT toolno (#PCDATA)>
<!ATTLIST toolno
	%bodyidatt;
>
<!ELEMENT tools (tools-setup-item+)>
<!ELEMENT tools-setup-item (name, itemref?)>
<!ATTLIST tools-setup-item
	%setupatt;
>
<!ELEMENT torque (#PCDATA)>
<!ATTLIST torque
	%bodyatt;
                    measurement CDATA  #IMPLIED
>
<!ELEMENT torqueval (proc+)>
<!ATTLIST torqueval
	%applidatt;
>
<!ELEMENT torquewp (wp.metadata?, wpidinfo, %alert;, intro, torqueval)>
<!ATTLIST torquewp
	%wpatt;
>
<!ELEMENT totalnumberof (text, ((totnum.volumes?, text?, totnum.frnt-rear-pages, text, totnum.wps) | (totnum.pages, text, totnum.figures, text, totnum.wps)), text)>
<!ELEMENT totnum.figures (#PCDATA)>
<!ELEMENT totnum.frnt-rear-pages (#PCDATA)>
<!ELEMENT totnum.pages (#PCDATA)>
<!ELEMENT totnum.volumes (#PCDATA)>
<!ELEMENT totnum.wps (#PCDATA)>
<!ELEMENT tow (proc+)>
<!ATTLIST tow
	%taskatt;
>
<!ELEMENT tracking (change.history+)>
<!--CHANGE C 00 - 16 March 2015 - TOG
*******************************************************************************
** Per LOGSA direction, ELEMENT <transport> added for maintenance instructions task type
*******************************************************************************
-->
<!ELEMENT transport (proc)+>
<!ATTLIST transport
	%taskatt;
>

<!--CHANGE C 00 - 16 March 2015 - TOG
*******************************************************************************
** Per MIL STD 40051 direction, ELEMENT <transportability> added for general information in AMMO manuals. Used to reference to work packages of applicable publications
*******************************************************************************
-->
<!ELEMENT transportability (%titldtext;)>
<!ATTLIST transportability
	%bodyidatt;
>

<!ELEMENT trim.para (%trimcontent;)*>
<!ATTLIST trim.para
	%hcpesd;
                       %bodyidatt;
>
<!ELEMENT troubleaviationcategory (tsintrowp?, techdescwp*, tsindxwp*, ((tswp | opcheckwp | opcheck-tswp)+ | diagnosticwp+))>
<!ELEMENT troublecategory (tsintrowp?, tsindxwp*, ((tswp | opcheckwp | opcheck-tswp)+ | diagnosticwp+))>
<!--CHANGE C 00 - 16 March 2015 - TOG
*******************************************************************************
** Per LOGSA direction, ELEMENT <troublesoftcategory> added
*******************************************************************************
-->

<!ELEMENT troublesoftcategory (tsintrowp?, tsindxwp*, (softmessageswp*, softerrorswp*, tswp+))>

<!--CHANGE C.01 - 12 JAN 2016 - TOG
*******************************************************************************
** Per LOGSA,  AMCOM Changed to allow one or many pshopanalwp within the DMWR
*******************************************************************************
-->
<!ELEMENT troubledmwrnmwrcategory (tsintrowp?, tsindxwp*, pshopanalwp*, compchklistwp?, ((tswp | opcheckwp | opcheck-tswp)* | diagnosticwp*))>


<!ELEMENT true EMPTY>
<!ELEMENT trunc EMPTY>
<!ELEMENT tsindx.messageword (title, (tsindx.messageword-category+ | tsindx.messageword-entry+))>
<!ATTLIST tsindx.messageword
	%stdinfoatt;
>
<!ELEMENT tsindx.messageword-category (title, tsindx.messageword-entry+)>
<!ATTLIST tsindx.messageword-category
	%applidatt;
>
<!ELEMENT tsindx.messageword-entry (messageword+, (action | %linkref;))>
<!ATTLIST tsindx.messageword-entry
	%applidatt;
>
<!ELEMENT tsindx.symptom (title, (tsindx.symptom-category+ | tsindx.symptom-entry+))>
<!ATTLIST tsindx.symptom
	%stdinfoatt;
>
<!ELEMENT tsindx.symptom-category (title, tsindx.symptom-entry+)>
<!ATTLIST tsindx.symptom-category
	%applidatt;
>
<!ELEMENT tsindx.symptom-entry (malfunc+, (action | %linkref;))>
<!ATTLIST tsindx.symptom-entry
	%applidatt;
>
<!ELEMENT tsindx.system (title, (tsindx.system-category+ | tsindx.system-entry+))>
<!ATTLIST tsindx.system
	%stdinfoatt;
>
<!ELEMENT tsindx.system-category (title, ((tsindx.system-entry+, tsindx.system-category*) | tsindx.system-category+))>
<!ATTLIST tsindx.system-category
	%applidatt;
>
<!ELEMENT tsindx.system-entry (name, (action | %linkref;))>
<!ATTLIST tsindx.system-entry
	%applidatt;
>
<!ELEMENT tsindxwp (wp.metadata?, wpidinfo, geninfo?, (tsindx.system | tsindx.symptom | tsindx.messageword))>
<!ATTLIST tsindxwp
	%wpatt;
>
<!ELEMENT tsintrowp (wp.metadata?, wpidinfo, geninfo?, ((%para0_ent;)+ | para | howtouse))>
<!ATTLIST tsintrowp
	%wpatt;
>
<!ELEMENT tsproc (logicproc+ | faultproc+ | muxproc)>
<!ATTLIST tsproc
	%bodyidatt;
>

<!ELEMENT tswp (wp.metadata?, wpidinfo, initial_setup, intro?, (%tsdata; | proc)*, (hookup?, tsproc+, disconnect?), followon.maintsk?)>
<!ATTLIST tswp
	%wpatt;
>

<!ELEMENT typedes (#PCDATA)>
<!ELEMENT ui (#PCDATA)>
<!ATTLIST ui
	um CDATA #IMPLIED
>
<!--CHANGE C 00 - 16 March 2015 - TOG
*******************************************************************************
** Per LOGSA direction, ELEMENT <uninstallperdev> added for maintenance instructions task type
*******************************************************************************
-->
<!ELEMENT uninstallperdev (proc)+>
<!ATTLIST uninstallperdev
	%taskatt;
>
<!ELEMENT unload (proc+)>
<!ATTLIST unload
	%taskatt;
>
<!ELEMENT unpack (proc+)>
<!ATTLIST unpack
	%taskatt;
>
<!ELEMENT unusualenv (proc+)>
<!ATTLIST unusualenv
	%taskatt;
>
<!ELEMENT unverified EMPTY>
<!ELEMENT uoc (#PCDATA)>
<!--CHANGE C 00 - 16 March 2015 - TOG
*******************************************************************************
** Per LOGSA direction, ELEMENT <upgrade> added for maintenance instructions task type
*******************************************************************************
-->
<!ELEMENT upgrade (proc)+>
<!ATTLIST upgrade
	%taskatt;
>
<!ELEMENT usbefserno EMPTY>
<!ATTLIST usbefserno
	beginserno CDATA #REQUIRED
	endserno CDATA #IMPLIED
>
<!ELEMENT validate (expression)>
<!ATTLIST validate
	errormsg CDATA #REQUIRED
>
<!ELEMENT validation EMPTY>
<!ATTLIST validation
	type (equipment | tabletop | both) #REQUIRED
>
<!ELEMENT variable (initialize?, (%dialog_ent;)?, mdc*)>
<!ATTLIST variable
	name CDATA #REQUIRED
	description CDATA #IMPLIED
	config %yesorno;
                      value-type   (%value; )  #REQUIRED
                      precision   CDATA  #IMPLIED
                      scope        (%variablescope; ) "global"
>
<!ELEMENT variableref EMPTY>
<!ATTLIST variableref
	name CDATA #REQUIRED
>
<!ELEMENT verbatim (#PCDATA)>
<!ATTLIST verbatim
	xml:space (preserve) #FIXED "preserve"
	%changelevel;
>
<!ELEMENT verification EMPTY>
<!ATTLIST verification
	type (equipment | tabletop | both) #REQUIRED
>
<!ELEMENT vol-rear (rear)>
<!ELEMENT voltage (#PCDATA)>
<!ATTLIST voltage
	%bodyatt;
                     measurement CDATA  #IMPLIED
>
<!ELEMENT volume (frntcover, promulgation*, warnsum?, chgsheet*, loepwp, titleblk, contents)>
<!ATTLIST volume
	tocentry (0 | 1 | 2 | 3 | 4 | 5) "1"
	label CDATA #IMPLIED
	id ID #IMPLIED
>
<!--CHANGE C 00 - 15 Apr 2015 - TOG
*******************************************************************************
** Per DODD 5230.24 update added Vulnerability Information <vulninfo> to b.statement distreason attribute
*******************************************************************************
-->
<!ELEMENT vulninfo EMPTY>
<!ATTLIST vulninfo
	distreason CDATA #FIXED "to protect information and technical data that provides insight into vulnerabilities of U.S. critical infrastructure, including DoD warfighting infrastructure, vital to National Security that are otherwise not publicly available"
>
<!ELEMENT warninfo (title?, para?, warning+)>
<!ATTLIST warninfo
	%bodyidatt;
>
<!ELEMENT warning ((warning.group, warning.group+) | %warning_ent;)>
<!ATTLIST warning
	keyword CDATA #IMPLIED
	haz-abbrev %no_att;
                   %bodyidatt; 
                   applicable IDREFS  #IMPLIED
>
<!ELEMENT warning.group (%warning_ent;)>
<!ATTLIST warning.group
	haz-abbrev %no_att;
                           %bodyidatt;
>
<!ELEMENT warnsum (wp.metadata?, para, first_aid, safety?, warninfo, hazmat?)>
<!ATTLIST warnsum
	%stdinfoatt;
	chngno    CDATA  #IMPLIED>
<!ELEMENT warnsum-alt (warnsum)>
<!ELEMENT weapons_system (%format; | brk)*>
<!ELEMENT weightinst (%titldtextproc;)>
<!ATTLIST weightinst
	%bodyidatt;
>
<!--CHANGE C 00 - 15 Jun 2015 - TOG
*******************************************************************************
** Per 40051 update added Wire Color <wire_color> to wiringwp to allow technical write to create text and tables 
*******************************************************************************
-->
<!ELEMENT wire_color (%para0_ent;)>
<!ATTLIST wire_color
	%bodyidatt;
>
<!ELEMENT wireid (%titldtext;)>
<!ATTLIST wireid
	%bodyidatt;
>
<!ELEMENT wiringdiag (title, trim.para?, figure+)>
<!ATTLIST wiringdiag
	%bodyidatt; 
							applicable IDREFS  #IMPLIED
>

<!--CHANGE C 00 - 15 Jun 2015 - TOG
*******************************************************************************
** Per 40051 update <wiringwp> to wiringwp to ensure component_desc and wire_color are optional and follow MIL STD 4401-2C SHALL statement.
*******************************************************************************
-->
<!ELEMENT wiringwp (wp.metadata?, wpidinfo, initial_setup, intro, abbrev, component_desc*, wireid, wire_color*, wiringdiag+)>
<!ATTLIST wiringwp
	%wpatt;
>
<!ELEMENT work_planning (para0+)>
<!ATTLIST work_planning
	%bodyidatt;
>
<!ELEMENT wp.metadata (portionmark+, proponent, tracking, tminfono+, applicability*, subsystem-system*, keyword.search*, subject*)>
<!ELEMENT wp.status EMPTY>
<!ATTLIST wp.status
	type (new | changed | draft | deleted | reinstated) #REQUIRED
>
<!ELEMENT wpidinfo (maintlvl, title, config?)>
<!ELEMENT wpno EMPTY>
<!ATTLIST wpno
	wpref IDREF #REQUIRED
	%secur;
>
<!ELEMENT wppages (#PCDATA)>
<!ELEMENT wpref EMPTY>
<!ATTLIST wpref
	idref IDREF #REQUIRED
>
<!ELEMENT wrntyref (%titldtext;)>
<!ATTLIST wrntyref
	%bodyidatt;
>
<!ELEMENT wtloadwp (wp.metadata?, wpidinfo, initial_setup, geninfo, formchart, weightinst)>
<!ATTLIST wtloadwp
	%wpatt;
>
<!ELEMENT x.statement (reasondate, releaseagent)>
<!ELEMENT xor EMPTY>
<!ELEMENT xref EMPTY>
<!ATTLIST xref
	taskid IDREF #IMPLIED
	wpid IDREF #IMPLIED
	stepstart IDREF #IMPLIED
	stepend IDREF #IMPLIED
	figid IDREF #IMPLIED
	itemno CDATA #IMPLIED
	itemid IDREF #IMPLIED
	callout CDATA #IMPLIED
	tableid IDREF #IMPLIED
	tslocid IDREF #IMPLIED
	pagelocid IDREF #IMPLIED
	pretext CDATA #IMPLIED
	posttext CDATA #IMPLIED
	termdefid IDREF #IMPLIED
	applicable IDREFS #IMPLIED
	%secur;
>
<!ELEMENT yes (resultwithoutstate)>
<!ELEMENT yesstate (statemanipulation)+>
<!ATTLIST yesstate
	default %no_att;
>
<!ELEMENT zip (#PCDATA)>
<!ATTLIST zip
	%changelevel;
>