1<?xml version="1.0" encoding="UTF-8"?> 2<!-- 3 Copyright 2009 Sun Microsystems, Inc. All rights reserved. 4 Use is subject to license terms. 5 6 CDDL HEADER START 7 8 The contents of this file are subject to the terms of the 9 Common Development and Distribution License (the "License"). 10 You may not use this file except in compliance with the License. 11 12 You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 13 or http://www.opensolaris.org/os/licensing. 14 See the License for the specific language governing permissions 15 and limitations under the License. 16 17 When distributing Covered Code, include this CDDL HEADER in each 18 file and include the License file at usr/src/OPENSOLARIS.LICENSE. 19 If applicable, add the following below this CDDL HEADER, with the 20 fields enclosed by brackets "[]" replaced with your own identifying 21 information: Portions Copyright [yyyy] [name of copyright owner] 22 23 CDDL HEADER END 24--> 25 26<!-- 27 Service description DTD 28 29 Most attributes are string values (or an individual string from a 30 restricted set), but attributes with a specific type requirement are 31 noted in the comment describing the element. 32--> 33 34<!-- 35 XInclude support 36 37 A series of service bundles may be composed via the xi:include tag. 38 smf(5) tools enforce that all bundles be of the same type. 39--> 40<!ELEMENT xi:include 41 (xi:fallback) 42 > 43<!ATTLIST xi:include 44 href CDATA #REQUIRED 45 parse (xml|text) "xml" 46 encoding CDATA #IMPLIED 47 xmlns:xi CDATA #FIXED "http://www.w3.org/2001/XInclude" 48 > 49 50<!ELEMENT xi:fallback 51 ANY 52 > 53<!ATTLIST xi:fallback 54 xmlns:xi CDATA #FIXED "http://www.w3.org/2001/XInclude" 55 > 56 57<!-- 58 stability 59 60 This element associates an SMI stability level with the parent 61 element. See attributes(5) for an explanation of interface 62 stability levels. 63 64 Its attribute is 65 66 value The stability level of the parent element. 67--> 68 69<!ELEMENT stability EMPTY> 70 71<!ATTLIST stability 72 value ( Standard | Stable | Evolving | Unstable | 73 External | Obsolete ) #REQUIRED > 74 75<!-- Property value lists --> 76 77<!-- 78 value_node 79 80 This element represents a single value within any of the typed 81 property value lists. 82 83 Its attribute is 84 85 value The value for this node in the list. 86--> 87 88<!ELEMENT value_node EMPTY> 89 90<!ATTLIST value_node 91 value CDATA #REQUIRED> 92 93<!-- 94 count_list 95 integer_list 96 opaque_list 97 host_list 98 hostname_list 99 net_address_v4_list 100 net_address_v6_list 101 time_list 102 astring_list 103 ustring_list 104 boolean_list 105 fmri_list 106 uri_list 107 108 These elements represent the typed lists of values for a property. 109 Each contains one or more value_node elements representing each 110 value on the list. 111 112 None of these elements has attributes. 113--> 114 115<!ELEMENT count_list 116 ( value_node+ )> 117 118<!ATTLIST count_list> 119 120<!ELEMENT integer_list 121 ( value_node+ )> 122 123<!ATTLIST integer_list> 124 125<!ELEMENT opaque_list 126 ( value_node+ )> 127 128<!ATTLIST opaque_list> 129 130<!ELEMENT host_list 131 ( value_node+ )> 132 133<!ATTLIST host_list> 134 135<!ELEMENT hostname_list 136 ( value_node+ )> 137 138<!ATTLIST hostname_list> 139 140<!ELEMENT net_address_v4_list 141 ( value_node+ )> 142 143<!ATTLIST net_address_v4_list> 144 145<!ELEMENT net_address_v6_list 146 ( value_node+ )> 147 148<!ATTLIST net_address_v6_list> 149 150<!ELEMENT time_list 151 ( value_node+ )> 152 153<!ATTLIST time_list> 154 155<!ELEMENT astring_list 156 ( value_node+ )> 157 158<!ATTLIST astring_list> 159 160<!ELEMENT ustring_list 161 ( value_node+ )> 162 163<!ATTLIST ustring_list> 164 165<!ELEMENT boolean_list 166 ( value_node+ )> 167 168<!ATTLIST boolean_list> 169 170<!ELEMENT fmri_list 171 ( value_node+ )> 172 173<!ATTLIST fmri_list> 174 175<!ELEMENT uri_list 176 ( value_node+ )> 177 178<!ATTLIST uri_list> 179 180<!-- Properties and property groups --> 181 182<!-- 183 property 184 185 This element is for a singly or multiply valued property within a 186 property group. It contains an appropriate value list element, 187 which is expected to be consistent with the type attribute. 188 189 Its attributes are 190 191 name The name of this property. 192 193 type The data type for this property. 194 195 override These values should replace values already in the 196 repository. 197--> 198 199<!ELEMENT property 200 ( count_list | integer_list | opaque_list | host_list | hostname_list | 201 net_address_v4_list | net_address_v6_list | time_list | 202 astring_list | ustring_list | boolean_list | fmri_list | 203 uri_list )? > 204 205<!ATTLIST property 206 name CDATA #REQUIRED 207 type ( count | integer | opaque | host | hostname | 208 net_address_v4 | net_address_v6 | time | 209 astring | ustring | boolean | fmri | uri ) #REQUIRED 210 override ( true | false ) "false" > 211 212<!-- 213 propval 214 215 This element is for a singly valued property within a property 216 group. List-valued properties must use the property element above. 217 218 Its attributes are 219 220 name The name of this property. 221 222 type The data type for this property. 223 224 value The value for this property. Must match type 225 restriction of type attribute. 226 227 override This value should replace any values already in the 228 repository. 229--> 230 231<!ELEMENT propval EMPTY> 232 233<!ATTLIST propval 234 name CDATA #REQUIRED 235 type ( count | integer | opaque | host | hostname | 236 net_address_v4 | net_address_v6 | time | astring | 237 ustring | boolean | fmri | uri ) #REQUIRED 238 value CDATA #REQUIRED 239 override ( true | false ) "false" > 240 241<!-- 242 property_group 243 244 This element is for a set of related properties on a service or 245 instance. It contains an optional stability element, as well as 246 zero or more property-containing elements. 247 248 Its attributes are 249 250 name The name of this property group. 251 252 type A category for this property group. Groups of type 253 "framework", "implementation" or "template" are primarily 254 of interest to the service management facility, while 255 groups of type "application" are expected to be only of 256 interest to the service to which this group is attached. 257 Other types may be introduced using the service symbol 258 namespace conventions. 259 260 delete If in the repository, this property group should be removed. 261--> 262 263<!ELEMENT property_group 264 ( stability?, ( propval | property )* )> 265 266<!ATTLIST property_group 267 name CDATA #REQUIRED 268 type CDATA #REQUIRED 269 delete ( true | false ) "false" > 270 271<!-- 272 service_fmri 273 274 This element defines a reference to a service FMRI (for either a 275 service or an instance). 276 277 Its attribute is 278 279 value The FMRI. 280--> 281 282<!ELEMENT service_fmri EMPTY> 283 284<!ATTLIST service_fmri 285 value CDATA #REQUIRED> 286 287<!-- Dependencies --> 288 289<!-- 290 dependency 291 292 This element identifies a group of FMRIs upon which the service is 293 in some sense dependent. Its interpretation is left to the 294 restarter to which a particular service instance is delegated. It 295 contains a group of service FMRIs, as well as a block of properties. 296 297 Its attributes are 298 299 name The name of this dependency. 300 301 grouping The relationship between the various FMRIs grouped 302 here; "require_all" of the FMRIs to be online, "require_any" 303 of the FMRIs to be online, or "exclude_all" of the FMRIs 304 from being online or in maintenance for the dependency to 305 be satisfied. "optional_all" dependencies are satisfied 306 when all of the FMRIs are either online or unable to come 307 online (because they are disabled, misconfigured, or one 308 of their dependencies is unable to come online). 309 310 restart_on The type of events from the FMRIs that the service should 311 be restarted for. "error" restarts the service if the 312 dependency is restarted due to hardware fault. "restart" 313 restarts the service if the dependency is restarted for 314 any reason, including hardware fault. "refresh" restarts 315 the service if the dependency is refreshed or restarted for 316 any reason. "none" will never restart the service due to 317 dependency state changes. 318 319 type The type of dependency: on another service ('service'), on 320 a filesystem path ('path'), or another dependency type. 321 322 delete This dependency should be deleted. 323--> 324 325<!ELEMENT dependency 326 ( service_fmri*, stability?, ( propval | property )* ) > 327 328<!ATTLIST dependency 329 name CDATA #REQUIRED 330 grouping ( require_all | require_any | exclude_all | 331 optional_all ) #REQUIRED 332 restart_on ( error | restart | refresh | none ) #REQUIRED 333 type CDATA #REQUIRED 334 delete ( true | false ) "false" > 335 336<!-- Dependents --> 337 338<!-- 339 dependent 340 341 This element identifies a service which should depend on this service. It 342 corresponds to a dependency in the named service. The grouping and type 343 attributes of that dependency are implied to be "require_all" and 344 "service", respectively. 345 346 Its attributes are 347 348 name The name of the dependency property group to create in the 349 dependent entity. 350 351 grouping The grouping relationship of the dependency property 352 group to create in the dependent entity. See "grouping" 353 attribute on the dependency element. 354 355 restart_on The type of events from this service that the named service 356 should be restarted for. 357 358 delete True if this dependent should be deleted. 359 360 override Whether to replace an existing dependent of the same name. 361 362--> 363 364<!ELEMENT dependent 365 ( service_fmri, stability?, ( propval | property )* ) > 366 367<!ATTLIST dependent 368 name CDATA #REQUIRED 369 grouping ( require_all | require_any | exclude_all | 370 optional_all) #REQUIRED 371 restart_on ( error | restart | refresh | none) #REQUIRED 372 delete ( true | false ) "false" 373 override ( true | false ) "false" > 374 375<!-- Method execution context, security profile, and credential definitions --> 376 377<!-- 378 envvar 379 380 An environment variable. It has two attributes: 381 382 name The name of the environment variable. 383 value The value of the environment variable. 384--> 385 386<!ELEMENT envvar EMPTY> 387 388<!ATTLIST envvar 389 name CDATA #REQUIRED 390 value CDATA #REQUIRED > 391 392<!-- 393 method_environment 394 395 This element defines the environment for a method. It has no 396 attributes, and one or more envvar child elements. 397--> 398 399<!ELEMENT method_environment (envvar+) > 400 401<!ATTLIST method_environment> 402 403<!-- 404 method_profile 405 406 This element indicates which exec_attr(5) profile applies to the 407 method context being defined. 408 409 Its attribute is 410 411 name The name of the profile. 412--> 413 414<!ELEMENT method_profile EMPTY> 415 416<!ATTLIST method_profile 417 name CDATA #REQUIRED > 418 419<!-- 420 method_credential 421 422 This element specifies credential attributes for the execution 423 method to use. 424 425 Its attributes are 426 427 user The user ID, in numeric or text form. 428 429 group The group ID, in numeric or text form. If absent or 430 ":default", the group associated with the user in the 431 passwd database. 432 433 supp_groups Supplementary group IDs to be associated with the 434 method, separated by commas or spaces. If absent or 435 ":default", initgroups(3C) will be used. 436 437 privileges An optional string specifying the privilege set. 438 439 limit_privileges An optional string specifying the limit 440 privilege set. 441--> 442 443<!ELEMENT method_credential EMPTY> 444 445<!ATTLIST method_credential 446 user CDATA #REQUIRED 447 group CDATA #IMPLIED 448 supp_groups CDATA #IMPLIED 449 privileges CDATA #IMPLIED 450 limit_privileges CDATA #IMPLIED > 451 452<!-- 453 method_context 454 455 This element combines credential and resource management attributes 456 for execution methods. It may contain a method_environment, or 457 a method_profile or method_credential element. 458 459 Its attributes are 460 461 working_directory The home directory to launch the method from. 462 ":default" can be used as a token to indicate use of the 463 user specified by the credential or profile specified. 464 465 project The project ID, in numeric or text form. ":default" can 466 be used as a token to indicate use of the project 467 identified by getdefaultproj(3PROJECT) for the non-root 468 user specified by the credential or profile specified. 469 If the user is root, ":default" designates the project 470 the restarter is running in. 471 472 resource_pool The resource pool name to launch the method on. 473 ":default" can be used as a token to indicate use of the 474 pool specified in the project(4) entry given in the 475 "project" attribute above. 476--> 477<!ELEMENT method_context 478 ( (method_profile | method_credential)?, method_environment? ) > 479 480<!ATTLIST method_context 481 working_directory CDATA #IMPLIED 482 project CDATA #IMPLIED 483 resource_pool CDATA #IMPLIED > 484 485<!-- Restarter delegation, methods, and monitors --> 486 487<!-- 488 exec_method 489 490 This element describes one of the methods used by the designated 491 restarter to act on the service instance. Its interpretation is 492 left to the restarter to which a particular service instance is 493 delegated. It contains a set of attributes, an optional method 494 context, and an optional stability element for the optional 495 properties that can be included. 496 497 Its attributes are 498 499 type The type of method, either "method" or "monitor". 500 501 name Name of this execution method. The method names are 502 usually a defined interface of the restarter to which an 503 instance of this service is delegated. 504 505 exec The string identifying the action to take. For 506 svc.startd(1M), this is a string suitable to pass to 507 exec(2). 508 509 timeout_seconds [integer] Duration, in seconds, to wait for this 510 method to complete. A '0' or '-1' denotes an infinite 511 timeout. 512 513 delete If in the repository, the property group for this method 514 should be removed. 515--> 516 517<!ELEMENT exec_method 518 ( method_context?, stability?, ( propval | property )* ) > 519 520<!ATTLIST exec_method 521 type ( method | monitor ) #REQUIRED 522 name CDATA #REQUIRED 523 exec CDATA #REQUIRED 524 timeout_seconds CDATA #REQUIRED 525 delete ( true | false ) "false" > 526 527<!-- 528 restarter 529 530 A flag element identifying the restarter to which this service or 531 service instance is delegated. Contains the FMRI naming the 532 delegated restarter. 533 534 This element has no attributes. 535--> 536 537<!ELEMENT restarter 538 ( service_fmri ) > 539 540<!ATTLIST restarter> 541 542<!-- 543 Templates 544--> 545 546<!-- 547 doc_link 548 549 The doc_link relates a resource described by the given URI to the 550 service described by the containing template. The resource is 551 expected to be a documentation or elucidatory reference of some 552 kind. 553 554 Its attributes are 555 556 name A label for this resource. 557 558 uri A URI to the resource. 559--> 560 561<!ELEMENT doc_link EMPTY> 562 563<!ATTLIST doc_link 564 name CDATA #REQUIRED 565 uri CDATA #REQUIRED > 566 567<!-- 568 manpage 569 570 The manpage element connects the reference manual page to the 571 template's service. 572 573 Its attributes are 574 575 title The manual page title. 576 577 section The manual page's section. 578 579 manpath The MANPATH environment variable, as described in man(1) 580 that is required to reach the named manual page 581--> 582 583<!ELEMENT manpage EMPTY> 584 585<!ATTLIST manpage 586 title CDATA #REQUIRED 587 section CDATA #REQUIRED 588 manpath CDATA ":default" > 589 590<!-- 591 documentation 592 593 The documentation element groups an arbitrary number of doc_link 594 and manpage references. 595 596 It has no attributes. 597--> 598 599<!ELEMENT documentation 600 ( doc_link | manpage )* > 601 602<!ATTLIST documentation> 603 604<!-- 605 loctext 606 607 The loctext element is a container for localized text. 608 609 Its sole attribute is 610 611 xml:lang The name of the locale, in the form accepted by LC_ALL, 612 etc. See locale(5). 613--> 614<!ELEMENT loctext 615 (#PCDATA) > 616 617<!ATTLIST loctext 618 xml:lang CDATA #REQUIRED > 619 620<!-- 621 description 622 623 The description holds a set of potentially longer, localized strings that 624 consist of a short description of the service. 625 626 The description has no attributes. 627--> 628<!ELEMENT description 629 ( loctext+ ) > 630 631<!ATTLIST description> 632 633<!-- 634 common_name 635 636 The common_name holds a set of short, localized strings that 637 represent a well-known name for the service in the given locale. 638 639 The common_name has no attributes. 640--> 641<!ELEMENT common_name 642 ( loctext+ ) > 643 644<!ATTLIST common_name> 645 646<!-- 647 units 648 649 The units a numerical property is expressed in. 650--> 651 652<!ELEMENT units 653 ( loctext+ ) > 654 655<!ATTLIST units> 656 657<!-- 658 visibility 659 660 Expresses how a property is typically accessed. This isn't 661 intended as access control, but as an indicator as to how a 662 property is used. 663 664 Its attributes are: 665 666 value 'hidden', 'readonly', or 'readwrite' indicating that 667 the property should be hidden from the user, shown but 668 read-only, or modifiable. 669--> 670 671<!ELEMENT visibility EMPTY> 672 673<!ATTLIST visibility 674 value ( hidden | readonly | readwrite ) #REQUIRED > 675 676<!-- 677 value 678 679 Describes a legal value for a property value, and optionally contains a 680 human-readable name and description for the specified property 681 value. 682 683 Its attributes are: 684 685 name A string representation of the value. 686--> 687 688<!ELEMENT value 689 ( common_name?, description? ) > 690 691<!ATTLIST value 692 name CDATA #REQUIRED > 693 694<!-- 695 values 696 697 Human-readable names and descriptions for valid values of a property. 698--> 699 700<!ELEMENT values 701 (value+) > 702 703<!ATTLIST values> 704 705<!-- 706 cardinality 707 708 Places a constraint on the number of values the property can take 709 on. 710 711 Its attributes are: 712 min minimum number of values 713 max maximum number of values 714 715 Both attributes are optional. If min is not specified, it defaults to 716 0. If max is not specified it indicates an unlimited number of values. 717 If neither is specified this indicates 0 or more values. 718--> 719 720<!ELEMENT cardinality EMPTY> 721 722<!ATTLIST cardinality 723 min CDATA "0" 724 max CDATA "18446744073709551615"> 725 726<!-- 727 internal_separators 728 729 Indicates the separators used within a property's value used to 730 separate the actual values. Used in situations where multiple 731 values are packed into a single property value instead of using a 732 multi-valued property. 733--> 734 735<!ELEMENT internal_separators 736 (#PCDATA) > 737 738<!ATTLIST internal_separators> 739 740<!-- 741 range 742 743 Indicates a range of possible integer values. 744 745 Its attributes are: 746 747 min The minimum value of the range (inclusive). 748 max The maximum value of the range (inclusive). 749--> 750 751<!ELEMENT range EMPTY> 752 753<!ATTLIST range 754 min CDATA #REQUIRED 755 max CDATA #REQUIRED > 756 757<!-- 758 constraints 759 760 Provides a set of constraints on the values a property can take on. 761--> 762 763<!ELEMENT constraints 764 ( value*, range* ) > 765<!ATTLIST constraints> 766 767<!-- 768 include_values 769 770 Includes an entire set of values in the choices block. 771 772 Its attributes are: 773 774 type Either "constraints" or "values", indicating an 775 inclusion of all values allowed by the property's 776 constraints or all values for which there are 777 human-readable names and descriptions, respectively. 778--> 779 780<!ELEMENT include_values EMPTY> 781 782<!ATTLIST include_values 783 type ( constraints | values ) #REQUIRED > 784 785<!-- 786 choices 787 788 Provides a set of common choices for the values a property can take 789 on. Useful in those cases where the possibilities are unenumerable 790 or merely inconveniently legion, and a manageable subset is desired 791 for presentation in a user interface. 792--> 793 794<!ELEMENT choices 795 ( value*, range*, include_values* ) > 796 797<!ATTLIST choices> 798 799<!-- 800 prop_pattern 801 802 803 The prop_pattern describes one property of the enclosing property group 804 pattern. 805 806 Its attributes are: 807 808 name The property's name. 809 type The property's type. 810 required 811 If the property group is present, this property is required. 812 813 type can be omitted if required is false. 814--> 815 816<!ELEMENT prop_pattern 817 ( common_name?, description?, units?, visibility?, cardinality?, 818 internal_separators?, values?, constraints?, choices? ) > 819 820<!ATTLIST prop_pattern 821 name CDATA #REQUIRED 822 type ( count | integer | opaque | host | hostname | 823 net_address_v4 | net_address_v6 | time | astring | 824 ustring | boolean | fmri | uri ) #IMPLIED 825 required ( true | false ) "false" > 826 827<!-- 828 pg_pattern 829 830 The pg_pattern describes one property group. 831 Depending on the element's attributes, these descriptions may apply 832 to just the enclosing service/instance, instances of the enclosing 833 service, delegates of the service (assuming it is a restarter), or 834 all services. 835 836 Its attributes are: 837 838 name The property group's name. If not specified, it 839 matches all property groups with the specified type. 840 type The property group's type. If not specified, it 841 matches all property groups with the specified name. 842 required 843 If the property group is required. 844 target The scope of the pattern, which may be all, delegate, 845 instance, or this. 'all' is reserved for framework use 846 and applies the template to all services on the system. 847 'delegate' is reserved for restarters, and means the 848 template applies to all services which use the restarter. 849 'this' would refer to the defining service or instance. 850 'instance' can only be used in a service's template block, 851 and means the definition applies to all instances of this 852 service. 853 854--> 855 856<!ELEMENT pg_pattern 857 ( common_name?, description?, prop_pattern* ) > 858 859<!ATTLIST pg_pattern 860 name CDATA "" 861 type CDATA "" 862 required ( true | false ) "false" 863 target ( this | instance | delegate | all ) "this" > 864 865<!-- 866 template 867 868 The template contains a collection of metadata about the service. 869 It contains a localizable string that serves as a common, 870 human-readable name for the service. (This name should be less than 871 60 characters in a single byte locale.) The template may optionally 872 contain a longer localizable description of the service, a 873 collection of links to documentation, either in the form of manual 874 pages or in the form of URI specifications to external documentation 875 sources (such as docs.sun.com). 876 877 The template has no attributes. 878--> 879<!ELEMENT template 880 ( common_name, description?, documentation?, pg_pattern* ) > 881 882<!ATTLIST template> 883 884<!-- Services and instances --> 885 886<!-- 887 create_default_instance 888 889 A flag element indicating that an otherwise empty default instance 890 of this service (named "default") should be created at install, with 891 its enabled property set as given. 892 893 Its attribute is 894 895 enabled [boolean] The initial value for the enabled state of 896 this instance. 897--> 898 899<!ELEMENT create_default_instance EMPTY > 900 901<!ATTLIST create_default_instance 902 enabled ( true | false ) #REQUIRED > 903 904<!-- 905 single_instance 906 907 A flag element stating that this service can only have a single 908 instance on a particular system. 909--> 910 911<!ELEMENT single_instance EMPTY> 912 913<!ATTLIST single_instance> 914 915<!-- 916 instance 917 918 The service instance is the object representing a software component 919 that will run on the system if enabled. It contains an enabled 920 element, a set of dependencies on other services, potentially 921 customized methods or configuration data, an optional method 922 context, and a pointer to its restarter. (If no restarter is 923 specified, the master restarter, svc.startd(1M), is assumed to be 924 responsible for the service.) 925 926 Its attributes are 927 928 name The canonical name for this instance of the service. 929 930 enabled [boolean] The initial value for the enabled state of 931 this instance. 932--> 933 934<!ELEMENT instance 935 ( restarter?, dependency*, dependent*, method_context?, 936 exec_method*, property_group*, template? ) > 937 938<!ATTLIST instance 939 name CDATA #REQUIRED 940 enabled ( true | false ) #REQUIRED > 941 942<!-- 943 service 944 945 The service contains the set of instances defined by default for 946 this service, an optional method execution context, any default 947 methods, the template, and various restrictions or advice applicable 948 at installation. The method execution context and template elements 949 are required for service_bundle documents with type "manifest", but 950 are optional for "profile" or "archive" documents. 951 952 Its attributes are 953 954 name The canonical name for the service. 955 956 version [integer] The integer version for this service. 957 958 type Whether this service is a simple service, a delegated 959 restarter, or a milestone (a synthetic service that 960 collects a group of dependencies). 961--> 962 963<!ELEMENT service 964 ( create_default_instance?, single_instance?, restarter?, 965 dependency*, dependent*, method_context?, exec_method*, 966 property_group*, instance*, stability?, template? ) > 967 968<!ATTLIST service 969 name CDATA #REQUIRED 970 version CDATA #REQUIRED 971 type ( service | restarter | milestone ) #REQUIRED > 972 973<!-- 974 service_bundle 975 976 The bundle possesses two attributes: 977 978 type How this file is to be understood by the framework (or 979 used in a non-framework compliant way). Standard types 980 are 'archive', 'manifest', and 'profile'. 981 982 name A name for the bundle. Manifests should be named after 983 the package which delivered them; profiles should be 984 named after the "feature set nickname" they intend to 985 enable. 986--> 987 988<!ELEMENT service_bundle 989 ( service_bundle* | service* | xi:include* )> 990 991<!ATTLIST service_bundle 992 type CDATA #REQUIRED 993 name CDATA #REQUIRED> 994