# fss-0002 iki-0000
#
# license open-standard-license-1.0-or-later
# version 2023/07/14
#
# This file (assumed to be named fss-000d.txt) can be more easily read using the following iki_read commands:
#   iki_read fss-000d.txt +Q -w -r FSS FSS -WW character "'" "'" code '"' '"'
#
# To read the "Featureless Settings Specification: 000D - Basic Rule" section of this file, use this command sequence:
#   fss_basic_list_read fss-000d.txt +Q -cn "Featureless Settings Specification: 000D - Basic Rule" | iki_read +Q -w -r FSS FSS -WW character "'" "'" code '"' '"'
#

Featureless Settings Specification: 000D - Basic Rule:
  This is a special case that follows code:"FSS-0002 (Basic List)", and different FSS:"Featureless Settings Specifications" formats inside this code:"FSS-0002 (Basic List)".
  This code:"FSS-0002 (Basic List)" is considered the "Outer List" and the Content of this Outer List is considered the "Inner Content".

  The Inner Content may be any of the following FSS:"Featureless Settings Specifications" formats: code:"FSS-0000 (Basic)", code:"FSS-0001 (Extended)", and code:"FSS-0003 (Extended List)".
  The way in which each format is determined is first to see if the Inner Content Object would be a valid Extended List Object.
  If the Inner Content Object is not a valid code:"FSS-0003 (Extended List)" Object, then check to see if it is an code:"FSS-0000 (Basic)" or code:"FSS-0001 (Extended)" Object.

  The code:"FSS-0000 (Basic)" and code:"FSS-0001 (Extended)" Objects have the same format for Object names but the code:"FSS-0003 (Extended List)" Object is slightly different.
  Anything that would match an code:"FSS-0003 (Extended List)" Object must therefore be an code:"FSS-0003 (Extended List)" Object.

  This supports the use of code:"iki-0000 (Unrestricted)" but only within the Content of the outermost code:"FSS-0002 (Basic List)".
  That is to say, the IKI is only processed once.
  Additional restrictions on the use of IKI syntax is allowed if explicitly defined in the implementing specification.
  This additional restriction may also include using a more restrictive IKI syntax, such as code:"iki-0001 (Basic)".

  Anything implementing this specification may impose its own restrictions on when to determine if the Inner Content is what FSS:"Featureless Settings Specifications" format, based on Object names.

  See the file:"fss-0000.txt", file:"fss-0001.txt", and file:"fss-0003.txt" specification files for details on the syntax rules.

  Example\:
    \# fss-000d
    main\:
      name "Boot Devices"

    script\:
      start {
        ip addr add 127.0.0.1/8 label lo dev lo;
        ip link set lo up;
      }

      stop {
        ip link set lo down;
      }

    command\:
      start mount -a -O no_netdev
      stop umount -arf -O no_netdev

  Outer List Objects would be\:
    1) main
    2) script
    3) command

  Outer List Contents would be\:
    1.1) name "Boot Devices"

    2.1) start {
           ip addr add 127.0.0.1/8 label lo dev lo;
           ip link set lo up;
         }

         stop {
           ip link set lo down;
         }

    3.1) begin mount -a -O no_netdev
         end umount -arf -O no_netdev

  Inner Content Objects would be\:
    1.1.1) name
    2.1.1) start
    2.1.2) stop
    3.1.1) begin
    3.1.2) end

  Inner Content Contents would be (without breaking Content into its individual parts)\:
    1.1.1) Boot Devices
    2.1.1) ip addr add 127.0.0.1/8 label lo dev lo;
           ip link set lo up;
    2.1.2) ip link set lo down;
    3.1.1) mount -a -O no_netdev
    3.1.2) umount -arf -O no_netdev
