1529
This clause outlines the support for internationalization and localization provided for by the CLP 1530
specification. For the purposes of the CLP specification, internationalization is interpreted to mean the 1531
substitution of strings in one language for strings having equivalent meaning in another language. 1532
Localization refers to the formatting of information for conformance with the norms of a particular locale. 1533
5.2.5.1 Command Input 1534
CLP implementations shall not provide support for internationalization of Command Line terms. CLP 1535
implementations may provide support for localization of input data. Furthermore, a CLP implementation 1536
shall not support alternative strings for CLP command verbs, option names, and target property names 1537
except as OEM extensions (see 228H5.2.6). Commands written using alternative strings for these Command 1538
Line terms will not be portable from implementation to implementation. 1539
5.2.5.2 Command Output 1540
This clause details requirements related to localized command output. 1541
5.2.5.2.1 CLP Service-Side Localization 1542
CLP implementations may support localized CLP command output. If the implementation supports 1543
localized output, the implementation shall support the language session setting and follow the described 1544
use of the setting as given in Error! Reference source not found.. 1545
5.2.5.2.2 Client-Side Localization 1546
It is possible that a CLP implementation will support localization of CLP command output by the Client. To 1547
support localization of output data at the Client, a CLP implementation could support the following 1548
capabilities: 1549
• at least one of the structured output modes (see 229H5.2.4.3) 1550
• capability to report a Message Owner and Message Identifier for each translatable message 1551
when a structured output mode is selected (see 230H5.2.2) 1552
5.2.5.3 Locale 1553
The CLP does not specify a mechanism for setting a locale in the environment in order to perform 1554
translations of units of data. Implementations are expected to manage establishment of data units 1555
(measures, date and time, and so on) through Managed Element settings. 1556
Implementations shall include the appropriate units designation in "text" and structured output formats for 1557
each Managed Element property returned. This provides the Client the information needed to perform any 1558
translation of units locally. 1559
OEMs may provide extensions to the standard unit designations per the OEM extensions described in the 1560
next clause. 1561
5.2.6 OEM Extensions
1562
The CLP allows an OEM to add support for vendor-unique commands and output data. This clause 1563
details requirements related to OEM extensions to the CLP. 1564
5.2.6.1 General 1565
A vendor may extend the CLP in the following ways: 1566
• by providing OEM commands that conform to one of the specified CLP Extended Forms 1567
• by providing OEM output keywords 1568
5.2.6.2 OEM Extension Name Strings 1569
Implementations shall identify any OEM Extension Name Strings used for CLP Command Line terms with 1570
the CLP standard prefix "OEM" followed by a vendor-unique identification string so that they will exist in a 1571
namespace separate from those that are specified by this document. Conversely, implementations shall 1572
not support any other command verbs other than those specified in this specification or those identified as 1573
vendor-specific using an OEM Extension Name String as documented here. 1574
Implementations shall use a value for the OEM string portion of the prefix that uniquely identifies the 1575
entity that owns and defines the command. The string shall include a copyrighted, trademarked, or 1576
otherwise unique name that is owned by the business entity or standards body defining the command. 1577
Implementations shall interpret and recognize the standard portion of the string, "OEM", and the vendor 1578
identifier string as case insensitive. 1579
EXAMPLE ("OEM"=="oem"=="Oem" and "VENDOR"=="vendor"=="Vendor"), where the term "vendor" is not
1580
taken to be a literal and instead is a value such as "Acme".
1581
5.2.6.3 Command Extension Forms 1582
The CLP recognizes two forms of command extension: 1583
• CLP Verb Extended Form 1584
• OEM Command Line Extended Form 1585
5.2.6.3.1 General 1586
If a Command Line contains an OEM Extension Name String that is not supported by the implementation, 1587
the implementation shall return a Command Status of COMMAND PROCESSING FAILED and a 1588
Processing Error of UNRECOGNIZED OEM EXTENSION. 1589
5.2.6.3.2 CLP Verb Extended Form 1590
The CLP Verb Extended Form requires that a standard CLP command verb appear as the first term on 1591
the Command Line. 1592
5.2.6.3.2.1 General 1593
A vendor may define vendor-specific Command Line terms for options, option arguments, option 1594
argument values, target addresses, and target properties, as long as those terms follow the semantics 1595
defined in the CLP specification. 1596
5.2.6.3.2.2 Terms 1597
• CLP Verb/Options and/or Option Arguments 1598
• OEM Options and/or Option Argument(s) 1599
• OEM Target Addresses and/or Property Names 1600
5.2.6.3.2.3 Syntax 1601
<CLP verb> *["-"<CLP option> [OEM<vendor><arg name string>]] `
1602
*[-OEM<vendor><optionname> [OEM<vendor><arg name string>]] `
1603
OEM<vendor><target address string>
1604
`
1605
*(OEM<vendor><property name string>)
1606
5.2.6.3.2.4 Rules 1607
The CLP specification defines the behavior of the verb and associated CLP options when the option is 1608
specified with a CLP-defined argument. 1609
• OEM Arguments to SM CLP options and property names and values shall observe CLP syntax 1610
and delimiter rules. 1611
• The implementation shall not support OEM option arguments or option argument values that are 1612
inconsistent with the behavior of the CLP option. The behavior of the OEM-defined argument is 1613
vendor specific. For example, an OEM argument to the display option cannot be used to 1614
modify the targets of a command. 1615
• Implementations shall not accept a short form for an OEM Option. 1616
• Implementations of OEM targets/properties shall observe/adhere to the specified CLP 1617
verb/option behaviors. 1618
• When defining OEM target name addresses, implementations shall observe the CLP command 1619
delimiter characters and may follow CLP target naming addressing syntax or semantics. 1620
The behavior of OEM-defined options is outside the scope of this specification. Vendors are free to define 1621
the format of arguments to OEM options as their needs dictate. This specification places no restrictions 1622
on whether options are separated from their arguments by a delimiter, whether options conditionally 1623
accept arguments, and so on. Therefore, when an OEM-defined option is included in a command, it is 1624
likely to be necessary to have a priori knowledge of the option in order to deterministically parse the 1625
Command Line. 1626
5.2.6.3.3 OEM Command Line Extended Form 1627
OEM Command Line Extended Form, or OEM Command Form, allows a vendor to provide access to 1628
vendor-specific commands and command formats. OEM Command Form is indicated by an OEM 1629
Extension Name String as the first term on the Command Line. This term signals a fully OEM-defined 1630
command format. Other than this requirement, the commands specified in OEM commands space, 1631
arguments, and so on are suggested to remain in line with those presented in the CLP specification, but 1632
are not controlled or defined in any way by this document. 1633
5.2.6.3.3.1 Terms 1634
• Full OEM-specified command format 1635
• Includes form where an OEM extension appears in every CLP Command Line term position 1636
5.2.6.3.3.2 Syntax 1637
OEM<vendor> <vendor-specified command line syntax>
1638
OEM<vendor><verb> <vendor-specified command line syntax>
1639
Note the CLP term separator after the first term.
1640
5.2.6.3.3.3 Rules 1641
The vendor completely defines the command syntax, behavior, target addressing, and so on that appear 1642
after the first term, where the first term is prefixed by "OEM". 1643
5.2.6.4 Output Extensions 1644
This clause details requirements related to vendor extensions to the CLP output. 1645
5.2.6.4.1 Vendor-Specific Keywords 1646
A vendor may supply additional output data elements in the response to any CLP command. An 1647
implementation may support vendor-supplied keyword names. The implementation shall define any 1648
vendor-supplied keyword names such that they comply with the rules for defining OEM Extension Name 1649
Strings defined in 231H5.2.6.2. 1650
EXAMPLE If vendor "ZYX" introduced an output data element keyword "foobar", the resulting keyword would
1651
be "OEMZYXfoobar".
1652
5.2.6.4.2 Vendor-Specific Messages and Message Files 1653
Vendors may define and identify vendor-specific messages using the standard SM CLP message 1654
keywords message_id, message_arg, and owningentity as defined in 232H5.2.2. 1655
While the keywords and schema for command output are defined by SM CLP, the format of any message 1656
files local to the Client is outside the scope of this specification. 1657