// Copyright (c) 2005 DMTF.  All rights reserved.
   [Version ( "2.6.0" ), 
    UMLPackagePath ( "PRS::Support" ), 
    Description ( 
       "PRS_Statement contains the text describing a problem, any "
       "relevant background information, and its resolution. "
       "Statements are units of text ranging from brief sentences or "
       "phrases to paragraphs or pages. There is no limit to the "
       "number of PRS_Statements within a Solution, as long as they "
       "support the intent and focus of their root class. Root classes "
       "include: PRS_Reference, PRS_Problem or PRS_Resolution. \n"
       "\n"
       "PRS_Statements may be grouped together to build compound "
       "\'sentences\'. For example, \n"
       "StatementA = Printer output is blotchy. \n"
       "StatementB = Print jobs per day are less than 50. \n"
       "ExpressionA = StatementA AND StatementB." )]
class PRS_Statement : PRS_ExpressionElement {

      [Description ( 
          "StatementRole describes how the PRS_Statement relates to "
          "the larger context. For example, is the PRS_Statement "
          "describing a Fix or a Symptom? \'Description\' is "
          "generic text without a specific diagnostic application. "
          "\'Symptom\' describes initial observable incident or "
          "behavior that the user reports. \'Error_Message\' is a "
          "specific type of symptom that the user reports, "
          "describing the specific error condition. \'Objective\' "
          "is what the user wants to accomplish, often expressed as "
          "a positive condition. FOr example, how to print on a "
          "network. \'Evidence\' is information that is collected "
          "to diagnose the problem after the symptom is reported. "
          "\'Cause\' is a description of the underlying facts or "
          "factors that engender or relate this behavior. "
          "\'Work_around\' is information that lets the user work, "
          "but does not correct the problem completely. \'Fix\' is "
          "information that fixes the problem completely. \'Answer\' "
          "is the information given to the user such as steps to "
          "perform, wording to support their environment and "
          "understanding. \'Keyword\' is a specific classification "
          "using defined words or phrases. \'Changes\' describe "
          "recent changes in the environment which could affect the "
          "problem or resolution. \'Title\' is the title applying "
          "to associated PRS_Statements (usually associated via an "
          "\'and\' expression." ), 
       ValueMap { "0", "1", "2", "3", "4", "5", "6", "7", "8", "9", 
          "10", "11", "254", "255" }, 
       Values { "Description", "Symptom", "Error_Message", 
          "Objective", "Evidence", "Cause", "Work_Around", "Fix", 
          "Answer", "Keyword", "Changes", "Title", "Other", "Unknown" }]
   uint8 StatementRole;

      [Description ( 
          "The descriptive text used for the PRS_Statement." )]
   string Text;

      [Description ( 
          "When the PRS_Adminstrative object indicates Level 2 "
          "compliance, StatementOperator describes the relationship "
          "between an associated PRS_Feature and the FeatureValue "
          "property. This property is ignored if there is no "
          "PRS_Feature associated with this PRS_Statement." )]
   string StatementOperator;

      [Description ( 
          "When the PRS_Adminstrative object indicates Level 2 "
          "compliance, FeatureValue is the specific value selected "
          "from the associated PRS_Feature. This property is "
          "ignored if there is no PRS_Feature associated with this "
          "PRS_Statement." )]
   string FeatureValue;

      [Description ( 
          "Order is used to sequence PRS_Statements associated with "
          "a single PRS_Expression to allow a Consumer to process "
          "the information in the order desired by the Producer." )]
   string Order;

      [Description ( 
          "Importance of this Statement. The value of this property "
          "shall be an integer value in the range of 0 to 100, "
          "inclusive." ), 
       MinValue ( 0 ), 
       MaxValue ( 100 )]
   uint16 Relevance;


};
