ISpeechPhraseProperty Parent Property (SAPI 5.3)

Microsoft Speech API 5.3

Interface: ISpeechPhraseProperty

Parent Property

The Parent property specifies the parent of the semantic property.

A parent is a rule containing a child. A child is a rule within a rule. That is, within a command and control grammar, rules are explicitly defined with the Rule tag. To allow greater flexibility, it is possible to allow another rule to be used within one by declaring it with the RuleRef tag. In this case, the second rule being referenced by the RuleRef tag could be a child. Child rules are defined with the RULE tag, and referenced with the RULEREF tag. In this way, a rule can contain several levels of children and children rules can have several levels of parents.

An example of this is sol.xml for the card game solitaire. A user may play a card such as "move the red five on the black seven." Examine sol.xml; the rule is set up so that both the color of the card as well as the rank are referenced within the MoveCard rule. In this case, a successful recognition would have two top parent nodes: From and To. In turn, each parent node would have two children: color and rank. This way, an application could sort through the rules and know exactly which card moves (the From node) and which card receives it (the To node). The rule name would still be MoveCard.

In contrast, the more simple command "play the red ace," has only two nodes (color and rank). Neither node is considered a parent nor child since since the rule PlayCard does not have PROPNAME tag. Both nodes are peers of each other.


Set: (This property is read-only)
Get: ISpeechPhraseProperty = ISpeechPhraseProperty.Parent


  • ISpeechPhraseProperty
    The owning object.
  • ISpeechPhraseProperty
    Set: (This property is read-only)
    Get: An ISpeechPhraseProperty variable that gets the property.


See ISpeechPhraseProperty.Children for a complete code sample.