Mapping OSM Data to Service Action XML Parameters Using XSLT

To map and optionally transform OSM XML data structures with child elements to an ASAP or IP Service Activator XML parameter using XSLT snippets:

  1. Open a data schema associated to an OSM project.

    The Data Schema editor is displayed.

  2. Create an OSM structure with any number of child elements and child structures with child elements.

  3. Open an OSM order that you want to associate the structure to.

    The Order editor is displayed.

  4. Right-click in the Order Template area and select Select from Dictionary.

    The Select Data Elements dialog box is displayed.

  5. Select the structure.

  6. Click OK.

    The structure is displayed in the Order Template area.

  7. Open an Activation Task that you want to associate the structure to.

    The Activation Task editor is displayed.

  8. In the Request Data tab Task Data area, select Task Data.

  9. Right-click in the Task Data area and select Select from Order Template.

    The Select an Order Template Node dialog box is displayed.

  10. Select the empty structure and click OK.

    The structure is displayed in the Task Data area.

  11. Right-click in the Service Actions area and select Add Service Action.

    The Select a Service Action dialog box is displayed.

  12. Select a service action that includes the XML parameter you want to map to the OSM structure.

  13. Click OK.

    The service action is displayed in the Service Actions area.

  14. Expand the newly added service action.

    All parameters associated with the service action are displayed.

  15. From the Task Data area, drag the structure to the corresponding service action XML parameter in the Service Action area.

    A check mark appears next to the parameter to indicate that it is mapped to the OSM structure.

    Note:

    The OSM structure and children do not map to structures in the Service Actions area, only to individual parameters.

  16. Click the service action parameter. Verify the following fields in the Properties tab:

    1. In the Binding Type field, ensure that the XSLT snippet field is selected.

    2. In the Binding field, ensure that the XSLT snippet maps the OSM structure to the ASAP or IP Service Activator structure.

      For example:

      <mslv-sa:serviceValue xsi:type="mslv-sa:ASAPServiceValue">
          <mslv-sa:name>stuff1</mslv-sa:name>
          <mslv-sa:xmlValue>
              <ASAPproj:XMLData xmlns:ASAPproj="http://xmlns.oracle.com/communications/sce/dictionary/ASAPproj/ASAPproj">
                  <ASAPproj:data>
                      <ASAPproj:Title>
                          <xsl:value-of select="osm:XMLData/osm:data/osm:Title"/>
                      </ASAPproj:Title>
                      <ASAPproj:LineItem>
                          <xsl:value-of select="osm:XMLData/osm:data/osm:LineItem"/>
                      </ASAPproj:LineItem>
                  </ASAPproj:data>
                  <ASAPproj:XMLId>
                      <xsl:value-of select="osm:XMLData/osm:XMLId"/>
                  </ASAPproj:XMLId>
                  <ASAPproj:XMLType>
                      <xsl:value-of select="osm:XMLData/osm:XMLType"/>
                  </ASAPproj:XMLType>
              </ASAPproj:XMLData>
          </mslv-sa:xmlValue>
          <mslv-sa:type>OPTIONAL_XML</mslv-sa:type>
      </mslv-sa:serviceValue>

      Note:

      By default, Design Studio assumes that the OSM and Activation parameters structures are identical. If the parameters are different, modify the default mapping as described in the next step.

    3. (Optional) If the default XSLT expression mapping does not correspond to the ASAP or IP Service Activator parameter structure, change the parameter mappings within the <mslv-sa:xmlValue> element.

      For example:

      <mslv-sa:serviceValue xsi:type="mslv-sa:ASAPServiceValue">
          <mslv-sa:name>stuff1</mslv-sa:name>
          <mslv-sa:xmlValue>
              <ASAPproj:NewValue1 xmlns:ASAPproj="http://xmlns.oracle.com/communications/sce/dictionary/ASAPproj/ASAPproj">
                  <ASAPproj:NewValue2>
                      <ASAPproj:NewValue3>
                          <xsl:value-of select="osm:XMLData/osm:data/osm:Title"/>
                      </ASAPproj:NewValue3>
                      <ASAPproj:NewValue4>
                          <xsl:value-of select="osm:XMLData/osm:data/osm:LineItem"/>
                      </ASAPproj:NewValue4>
                  </ASAPproj:NewValue2>
                  <ASAPproj:NewValue5>
                      <xsl:value-of select="osm:XMLData/osm:XMLId"/>
                  </ASAPproj:NewValue5>
                  <ASAPproj:NewValue6>
                      <xsl:value-of select="osm:XMLData/osm:XMLType"/>
                  </ASAPproj:NewValue6>
              </ASAPproj:NewValue1>
          </mslv-sa:xmlValue>
          <mslv-sa:type>OPTIONAL_XML</mslv-sa:type>
      </mslv-sa:serviceValue>
      

      where NewValue1 to NewValue6 correspond to the ASAP or IP Service Activator XML parameters.