Current File : //usr/share/install/software.dtd.1
<!--

 Copyright (c) 2010, 2015, Oracle and/or its affiliates. All rights reserved.

-->

<!ELEMENT software (destination?, source*, software_data*)>


<!--
	The software name is utilized to allow users to associate
	a specific software instance with a specific checkpoint.
	For example, we could have multiple transfer types during the
	course of an installation process. If a software element is
	to be associated with a specific checkpoint the software inst
	name must be utilized and must be the same as the associated
	checkpoint. If no name provided the software elements
	will be used in order based on the type provided.
-->

<!ATTLIST software name CDATA #IMPLIED>
<!--
	Software types IMAGE, DU, and P5P are not yet supported.
-->
<!ATTLIST software type (IPS|SVR4|CPIO|ARCHIVE|CLONE|IMAGE|P5I|DU|P5P) "IPS">

<!ELEMENT software_data (name|reject)*>
<!ATTLIST software_data action (install|uninstall|unpack|avoid|unavoid) "install">
<!--
	size is the total size of all the data specified
	in this software_data section.  This value can
	be specified for both install and uninstall actions.
	Size specified is in bytes.  This attribute is optional.
-->
<!ATTLIST software_data size CDATA #IMPLIED>

<!ELEMENT name (#PCDATA)>

<!--
    reject is used to signal to an IPS install action that the value
    specified is to be rejected. It has no effect for any other
    transfer type.
-->
<!ELEMENT reject (#PCDATA)>

<!--
	Destination element is not required. If specified there can only
	be one destination per software element. If not specified,
	the destination is assumed to be a pkg image and will be
	discovered automatically. 
-->

<!ELEMENT destination (image|dir)>

<!ELEMENT image (facet*, img_type?, property*)>
<!ATTLIST image action (create|use_existing) "create">
<!ATTLIST image index (true|false) "false">
<!ATTLIST image ssl_key CDATA #IMPLIED>
<!ATTLIST image ssl_cert CDATA #IMPLIED>
<!ATTLIST image img_root CDATA #IMPLIED>

<!ELEMENT img_type EMPTY>
<!ATTLIST img_type completeness (full|partial) #REQUIRED>
<!ATTLIST img_type zone (true|false) "false">

<!--
	A property on an image is set via pkg set-property <propname>.
	So, for use in this schema an example would be:
		<image>
		    <img_type completeness="partial" zone="true"/>
		    <property val="true">send-uuid</property>
		    <property val="false">flush-content-cache-on-success
			</property>  
		</image>
-->
<!ELEMENT property (#PCDATA)>
<!ATTLIST property val CDATA #REQUIRED>

<!--
	A facet is an option that may be selected or not selected,
	such as various locales, documentation, etc. This is per
	image.
-->

<!ELEMENT facet (#PCDATA)>
<!ATTLIST facet set (true|false) "true">

<!ELEMENT source (publisher*|dir|file*|boot_env)>

<!--
	If name is not specified, and this is an ips install,
	then publishers known by the specified repository will be added to 
	the image. Origin can be an uri, path to a file, archive, directory.
-->
<!ELEMENT publisher (origin+, mirror*, credentials?, cmd_options*)>
<!ATTLIST publisher name CDATA #IMPLIED>

<!ELEMENT origin EMPTY>
<!ATTLIST origin name CDATA #REQUIRED>

<!ELEMENT mirror EMPTY>
<!ATTLIST mirror name CDATA #REQUIRED>

<!ELEMENT credentials (key?, cert?, ca_cert?, http_auth_token?)>

<!ELEMENT key (#PCDATA)>
<!ATTLIST key src CDATA #IMPLIED>

<!ELEMENT cert (#PCDATA)>
<!ATTLIST cert src CDATA #IMPLIED>

<!ELEMENT ca_cert (#PCDATA)>
<!ATTLIST ca_cert src CDATA #IMPLIED>

<!ELEMENT http_auth_token (#PCDATA)>

<!ELEMENT dir EMPTY>
<!ATTLIST dir path CDATA #REQUIRED>

<!ELEMENT file (credentials?)>
<!ATTLIST file uri CDATA #REQUIRED>

<!ELEMENT boot_env EMPTY>
<!ATTLIST boot_env name CDATA #IMPLIED>

<!ELEMENT cmd_options (#PCDATA)>