How to get submitted items' content during a DecisionPoint in a Subscriber ?

Hi!
(If this is not the right msdn forum for my question, thx in advance to redirect me to the correct one ;)
I have to develop "server side event handlers" for TFS (kind of server-side "Check-in Policies" which may not be disabled/skipped by the developers and which do not require distribution/maintenance on thousands of workstations).
Concretely, I am going to implement Subscribers (inheriting from Microsoft.TeamFoundation.Framework.Server.ISubscriber)
In some of those Subscribers, I have to decide to accept or reject the "check-in" based on the submitted items' content. 
Concretely, it will result in something like the code bellow. My current issue is that I am only able to retrieve the server name of the submitted item, not its content. Do you know if there is a shelveset available with the submitted item, streams readable
server side, a list with the objects in the notification's argument, a "temporary" file in source control ? Or do I have to read the file in the developers' local workspace (I have indeed the workspace name and machine name) ?
I did debug my code server side (in TFS) but didn't find anything (obvious) in  notificationEventArgs' subtree :/
class ServerSidePolicy : ISubscriber
    public EventNotificationStatus ProcessEvent(TeamFoundationRequestContext requestContext,
                                        NotificationType notificationType,
                                        object notificationEventArgs,
                                        out int statusCode,
                                        out string statusMessage,
                                        out ExceptionPropertyCollection properties)
        EventNotificationStatus response = EventNotificationStatus.ActionApproved;
        properties = new ExceptionPropertyCollection();
        statusMessage = String.Empty;
        statusCode = 0;
        // If this is a Check-in notification
        if (notificationEventArgs is CheckinNotification)
            // If this is a Decision point
            if (notificationType == NotificationType.DecisionPoint)
                CheckinNotification args = notificationEventArgs as CheckinNotification;
                foreach (var submittedItem in args.SubmittedItems)
                    if (!MyValidate(submittedItem))
                        statusMessage = string.Format("{0} is not valid.", submittedItem);
                        response = EventNotificationStatus.ActionDenied;
                        properties.Set("Violated Rule", "Item's content not valid");
                        statusCode = -1;
                        break;
        return response;
    private bool MyValidate(string item)
Really, thx a lot of any info! I didn't find anything in the msdn either :(
PS.: Is there anyone who knows where I could find more information/documenation on the class {Microsoft.TeamFoundation.VersionControl.Server.PendingItemDbPagingManager}. This is the type of the SubmittedItems... I sounds like an object to access the
content of those SubmittedItems... However, I did explore it without any interesting finding.

Hello Valéry,
Thanks for your post.
Based on your description it seems that you would like to use TFS API to get the content of these checked in files programmatically.
You can use the following code to get all the pending changes in your workspace:
public
static void GetItem()
NetworkCredential cre =
new NetworkCredential("userName","password","domain");
TfsTeamProjectCollection tfs = new TfsTeamProjectCollection(new Uri("http://serverName:8080/tfs/CollectionName"), cre);
VersionControlServer versionControl =(VersionControlServer)tfs.GetService(typeof(VersionControlServer));
var workspace = vcs.GetWorkspace("WorkspaceName",
"WorkspaceOwner");
var changes=workspace.GetPendingChanges();
foreach (var change
in changes)
var item= vcs.GetItem(change.ServerItem);
Thanks.
Vicky Song [MSFT]
MSDN Community Support | Feedback to us
Get or Request Code Sample from Microsoft
Please remember to mark the replies as answers if they help and unmark them if they provide no help.

Similar Messages

  • How to get(copy) the contents i.e the cell of an excel sheet to other excel

    How to get(copy) the contents i.e the cells of an excel sheet to another excel sheet.
    I can read the contents i.e the text in the cells and able to display it in the Java console
    i want these contents to be copied to another excel sheet with the cells data.
    I am using Java Swing for the UI, POI framework for the excel work.
    Please anyone suggest some code to this requirement.

    [spreadsheets with poi|http://poi.apache.org/spreadsheet/converting.html] Hi
    on the poi apache site there's a number of good examples...
    I started with poi only a week ago, but just from reading these examples
    (especially SS Usermodel code) i managed all i needed to know (so far).
    kind regards
    BB
    Edited by: BugBunny on Feb 22, 2010 4:36 AM

  • How to get line item net price and net value?

    I have using "BAPI_SALESORDER_SIMULATE" to SIMULATE to create SO,
    the return table
    ORDER_ITEMS_OUT-NET_VALUE is not equals than created by VA01 .
    how to get line item net price and net value?

    Hi,
    Can u elaborate ur query ?
    By this FM you cannot create a SO . Use FM --> BAPI_SALESORDER_CREATEFROMDAT2
    Regards,
    MAdhukar Shetty

  • How to get List Item attachments name without write any custom code or any database query?

    Hi,
    How to get List Items attachments name without write any custom code or any database query?

    You can get it from Rest,
    There are 2 options,
    1) create a 'Result Source' which has a search query for that List which has attachments 
     - Use rest query to get the 'Filename' , it will have the attachment file name 
    For example, if the result source id is : 73e6b573-abf8-4407-9e5f-8a85a4a95159 , then the query will be 
    http://[site URL]/_api/search/query?querytext='*'&selectproperties='Title,Path,FileExtension,SecondaryFileExtension,Filename'&sourceid='73e6b573-abf8-4407-9e5f-8a85a4a95159'&startrow=0&rowLimit=100
    You can refine the query, be giving proper 'querytext'
    2) Use the List rest api
    For example if your list guid is :38d524a1-e95c-439f-befd-9ede6ecd242e
    You can get he attachments for 1st item using this 
    http://[Site URL]/_api/lists(guid'38d524a1-e95c-439f-befd-9ede6ecd242e')/items(1)/AttachmentFiles
    get2pallav
    Please click "Propose As Answer" if this post solves your problem or "Vote As Helpful" if this post has been useful to you.

  • How to get page item list in  a page?

    how to get page item list in  a page?

    Have a look at ISpread::GetItemsOnPage().
    That should get you started.

  • How to get po item condition type according schema group

    hi experts,
    i want to get po item condition type according schema group.
    for example, in xk03, if the "schema group, vendor"in purchasing data view is set to 'Z3', in the purchase order which is made for this vendor, the po item's gross price condition type is hwxx.
    if the "schema group, vendor" is set to 'Z2', the po item's gross price condition type is pbxx.
    my question is : how to get po item condition type according schema group?
    hunger for ur advice and thanks a lot!

    several steps you need to go
    1. you need to get the purcahsing group schema against your purchasing group from table T024E.
    2. get the vendor group schema from vendor master data table LFxxxxxx
    3. get the pricing schema from table TMKS via the selection criteria purchasing group schema and vendor group schema
    4. go to the table T683S via inputing Usage, application and pricing determination procedure.
    5. now you got it.

  • How to get Po item Delivery Date ?

    who can tell me how to get PO Item Delivery Date ?
    Thank You!

    hi
    good
    go through these links,hope these ll help you to solve your probelm
    http://web.mit.edu/sapr3/windocs/bpors03m.htm
    http://www.sap.com/southafrica/services/education/pdf/BPP.pdf
    thanks
    mrutyun^

  • How to get work item details programatically ?

    Hi All,
    I have a list of work items (process instances) and I want to retrieve each item details such as: attachments, notes, id, ...
    All the items are filtered and represented as Fuego.Papi.Instance:
    Fuego.Papi.Instance[] inst = busProcess.getInstancesByFilter(filter : instFilter);
    But the work item details are inherited from Fuego.Lib.ProcessInstance. So, how to get the item details from inst[] ?
    Would appreciate any help, may be Dan will have an advise ?
    Regards,
    Kim

    If you have instances returned by your filter, you could extract variable information for each instance by doing something like this:
    for each inst in getInstancesByFilter(ps, filter : instF) do
        // here's how to get the value inside a primitive instance variable
        orderAmtObj as Object = getVar(inst, var : "orderAmount")
        // here's how to get the value of attributes inside a complex BPM Object instance variable
        //    - in this case this is an "order" object with two attributes (customerName and amount)
        orderObj as Object = (getVar(inst, var : "order"))
        xmlObject = Fuego.Xml.XMLObject(createXmlTextFor(DynamicXml, object : orderObj, topLevelTag : "xsi"))
        logMessage "The value of the order object's customer name is: " +
               selectString(xmlObject, xpath : "customerName")
        logMessage "The value of the order object's order amount is: " +
               selectNumber(xmlObject, xpath : "amount")
        // here's a rather uninspired way to retrieve who the participant is that was assigned the instance
        logMessage "The participant assigned to this instance is: " + inst.participantId
    endInside the above "for" loop, you could retrieve these predefined variables (this example assumes you use "inst" in your "for" loop):
        objRet as Any
        objRet = inst.getVar(var : "PREDEFINE_ACTIVITY")
        logMessage "Activity name = " + objRet using severity = DEBUGSubstitute "PREDEFINE_ACTIVITY" in the above logic to get this information:
    PREDEFINE_PRIORITY (priority)
    PREDEFINE_ACTIVITY_DEADLINE (activity.deadline)
    PREDEFINE_CREATION_TIME (creation.time)
    PREDEFINE_PROCESS_DEADLINE (deadline)
    PREDEFINE_DESCRIPTION (description)
    PREDEFINE_PROCESS (process)
    PREDEFINE_RECEIVED_TIME (receptionTime)
    PREDEFINE_PARTICIPANT (participant)
    PREDEFINE_COPY (id.copy)
    PREDEFINE_STATUS (status)
    Similarly, you might want to try to get instance information using the Fuego.Papi.VarDefinition object a try. Never used it, but the logic might be as simple as:
        logMessage "who created? = " + inst.getVar(Fuego.Papi.VarDefinition.CREATOR_ID) using severity = DEBUG
        logMessage "does it have attachments? = " + inst.getVar(Fuego.Papi.VarDefinition.HAS_ATTACHMENTS) using severity = DEBUG   
        logMessage "does it have notes? = " + inst.getVar(Fuego.Papi.VarDefinition.hasnotes) using severity = DEBUGDan

  • How to get submitted Value from SelectOneMenu?

    Hi.
    At the beginning, i would like to say, that i am at the beginning to learn JSP and JSF. I am from germany, so please excuse my english.
    For work i have to develop a form, where the user can select a manufacturer, insert a unique key and get a list of devices after he submits this two attributes.
    At the moment i can not get the value of the selected Item in the selectonemenu.
    I deleted all my trys to get this value, to show you the working parts.
    We work with faces-config.xml, tiles.xml and hybris as platform.
    My code:
    deviceFamilyMain.jsp:
    <%@ taglib uri="http://java.sun.com/jsf/html" prefix="h" %>
    <%@ taglib uri="http://java.sun.com/jsf/core" prefix="f" %>
    <h:form id="frmDeviceFamilySelect">
      <h:selectOneMenu binding="#{DeviceFamilyBean.selectOneMenuDeviceFamilies}" id="selectOneMenuDeviceFamilies">
         <f:selectItems binding="#{DeviceFamilyBean.dropdownDeviceFamilySelectItems}" id="dropdownDeviceFamilySelectItems" />
      </h:selectOneMenu>
      <h:commandButton action="#{DeviceFamilyBean.detailsAction}" value="Main"/>
    </h:form>
    DeviceFamilyBean:
    public class DeviceFamilyBean extends TC_JSFBean
         //selectOneMenuDeviceFamilies
         HtmlSelectOneMenu selectOneMenuDeviceFamilies = new HtmlSelectOneMenu();
         public HtmlSelectOneMenu getSelectOneMenuDeviceFamilies() {
              return selectOneMenuDeviceFamilies;
         public void setSelectOneMenuDeviceFamilies(HtmlSelectOneMenu selectOneMenuDeviceFamilies) {
              this.selectOneMenuDeviceFamilies = selectOneMenuDeviceFamilies;
         //dropdownDeviceFamilySelectItems
         private UISelectItems dropdownDeviceFamilySelectItems = new UISelectItems();
         public UISelectItems getDropdownDeviceFamilySelectItems() {
                  Object objFacesSession = FacesContext.getCurrentInstance().getApplication()
               .getVariableResolver().resolveVariable(getFacesContext(), "SessionBean");
                  SessionBean sessionBean = (SessionBean) objFacesSession;
              dropdownDeviceFamilySelectItems.setValue(getDropdownDeviceFamilyDefaultItems());
              return dropdownDeviceFamilySelectItems;
         public void setDropdownDeviceFamilySelectItems(UISelectItems dropdownDeviceFamiliesSelectItems) {
                  this.dropdownDeviceFamilySelectItems = dropdownDeviceFamiliesSelectItems;
         //dropdownDeviceFamilyDefaultItems
         private ArrayList dropdownDeviceFamilyDefaultItems = new ArrayList();
         public ArrayList getDropdownDeviceFamilyDefaultItems() {
              Object objFacesSession = FacesContext.getCurrentInstance().getApplication()
              .getVariableResolver().resolveVariable(getFacesContext(), "SessionBean");
              SessionBean sessionBean = (SessionBean) objFacesSession;
            TC_Manager tcDeviceFamilyManager = TC_Manager.getInstance();
            dropdownDeviceFamilyDefaultItems.clear();             
              Collection col = this.getAllDeviceFamilies();
              Iterator itDev = col.iterator();
              while (itDev.hasNext())
                   DeviceFamily deviceFamily = (DeviceFamily) itDev.next();
                   dropdownDeviceFamilyDefaultItems.add(new SelectItem(deviceFamily.getCode()));
              return dropdownDeviceFamilyDefaultItems;
         public void setDropdownDeviceFamilyDefaultItems(ArrayList dropdownDeviceFamilieDefaultItems) {
              this.dropdownDeviceFamilyDefaultItems = dropdownDeviceFamilieDefaultItems;
         //OutputText DeviceFamily Name
         private HtmlOutputText outputTextDevFamName = new HtmlOutputText();
         public HtmlOutputText getOutputTextDevFamName()
             Object obj = FacesContext.getCurrentInstance().getApplication()
            .getVariableResolver().resolveVariable(getFacesContext(), "SessionBean");
             SessionBean sessionBean = (SessionBean) obj;
             if (sessionBean.getCurrentDeviceFamily() != null)
                  outputTextDevFamName.setValue(sessionBean.getCurrentDeviceFamily().getCode());
             } else {
                  outputTextDevFamName.setValue("CurDevFam = null");
              return outputTextDevFamName;
         public void setOutputTextDevFamName(HtmlOutputText outputTextDevFamName) {
              this.outputTextDevFamName = outputTextDevFamName;
         //detailsAction
         public String detailsAction()
                  Object objFacesSession = FacesContext.getCurrentInstance().getApplication()
              .getVariableResolver().resolveVariable(getFacesContext(), "SessionBean");
                  SessionBean sessionBean = (SessionBean) objFacesSession;
                  //sessionBean.setCurrentDeviceFamily((DeviceFamily) this.getDropdownDeviceFamilySelectItems().getValue());
                  return "go_devicefamily_details";
    SessionBean:
         private DeviceFamily currentDeviceFamily;
         public DeviceFamily getCurrentDeviceFamily() {
              return currentDeviceFamily;
         public void setCurrentDeviceFamily(DeviceFamily currentDeviceFamily) {
              this.currentDeviceFamily = currentDeviceFamily;
    go_devicefamily_details is referenced to deviceFamilyDetails:
    <%@ taglib uri="http://java.sun.com/jsf/html" prefix="h" %>
    <%@ taglib uri="http://java.sun.com/jsf/core" prefix="f" %>
    <f:view>
        <h:form id="frmDevFamDetails">
            <h:outputText value="#{DeviceFamilyBean.outputTextDevFamName}" />
        </h:form>
    </f:view>I hope i did not forget anything needfull.
    Maybe someone could explain how to get the value and complete the code.
    Thanks.

    Thx 4 the tip.
    I found an other way. It was such easy, that i could kick myself. :-)
    Only in the detailsAction() i needed:
    sessionBean.setCurrentDeviceFamilyName((String) this.getSelectOneMenuDeviceFamilies().getValue());
    I allways looked for dropdownDeviceFamilySelectItems and tryed to get the selected Index, but it is the HtmlSelectOneMenu that carries the value. :-(
    The DeviceFamily Class is an HybrisObject and not easy to initialize.
    I just created a new String (currentDeviceFamilyName).
    Now it works.

  • How to get JSON item in web service workflow?

    Im tried to get json item in workflow,But was unable to obtain "RtnCode",how to do it?
    This my JSON,
    "MerchantID": "1032017",
    "RtnCode": "2",
    "RtnMsg": "Get Succeeded",
    My workflow :
    Get RtnCodefrom
    Variable: DealItems
    Error code:
    RequestorId: f85b0795-6682-fde7-0000-000000000000.
    Details: An unhandled exception occurred during the execution of the workflow instance.
    Exception details: System.InvalidOperationException: Looking up a value using a key is not supported on an instance of 'Microsoft.Activities.Dynamic.DynamicPrimitive'. at Microsoft.Activities.Dynamic.DynamicItem.TryGetValue(String key, DynamicItem&
    value) at Microsoft.Activities.Dynamic.DynamicValueBuilder.PathSegmentFactory.ObjectPathSegment.Get(DynamicItem obj) at Microsoft.Activities.GetDynamicValueProperty`1.Execute(CodeActivityContext context) at System.Activities.CodeActivity`1.InternalExecute(ActivityInstance
    instance, ActivityExecutor executor, BookmarkManager bookmarkManager) at System.Activities.Runtime.ActivityExecutor.ExecuteActivityWorkItem.ExecuteBody(ActivityExecutor executor, BookmarkManager bookmarkManager, Location resultLocation) Exception from activity
    GetDynamicValueProperty<String> Start Sequence Flowchart Sequence Pay.WorkflowXaml_07f732da_c82a_4234_abd5_34c32c637413

    Hi Felaray,
    I have a similar issue and what I tried to do is to install JSON.NET in my project and used the "Assign" activity (under "Primitives" category on the toolbox) to assign the string to an object:
    Newtonsoft
    .Json.JsonConvert.DeserializeObject(resultFromCustomActivity)
    but unfortunately did not work. I am getting this exception:
    Visual Studio 2013 Workflow: Failed to translate expression because of the following error: Translating the method or one of its overloads to an activity is not supported
    If you cannot really change the source header, you might need to create a code custom activity and pass in your string and use JSON.NET, parse it and return what you want.
    Another "easier" option might involve doing some nasty parsing (using the Assign Activity) by finding the index of your "RntCode:" and getting the next set of characters before the comma. Since the .NET classes to utilize are limited
    it would be worth trying to use a RegEx
    resultFromCustomActivity
    .Substring(0,
    10)

  • How to create Confirmation Item QUANTITY during Runtime

    Hi Experts,
    I am trying to create Confirmation ITEM with QUANTITY during runtime.
    I have successfully created item using CRM_ORDERADM_I_MAINTAIN_OW however it doesnot have scheduling_i structure which hold QUANTITY. I tried with CRM_ORDER_MAINTAIN_MULTI_OW. getting following error, I tried with CRM_SCHEDLIN_I_READ_OW it creating quantity on CRM Confirmation screen.
    Can you pls tell me how to get quantity. 
    Thanks
    Anee
    The current application program detected a situation which really
    should not occur. Therefore, a termination with a short dump was
    triggered on purpose by the key word MESSAGE (type X)
    ls_fund_h         TYPE  crmt_fund_h_com,
            ls_cla_h          TYPE  crmt_cla_h_com,
            ls_lawref_h       TYPE  crmt_lawref_h_com,
            lt_lawref_h       TYPE  crmt_lawref_h_comt,
            ls_orderadm_i     TYPE  crmt_orderadm_i_com,
            lt_orderadm_h     TYPE  crmt_orderadm_h_comt,
            lt_chngproc_i     TYPE  crmt_chngproc_i_comt,
            ls_chngproc_i     TYPE  crmt_chngproc_i_com.
      DATA:
            ls_entry            TYPE  crmt_guid_handle,
            lv_dummy            TYPE  crmt_msgtext,
            lv_vona_kind_copy   TYPE  crmt_boolean,
            lv_count            TYPE  i,
            ls_msg_handle       TYPE  balmsghndl,
            ls_exception        TYPE  crmt_exception_logical_ke
            lv_subrc            TYPE  sy-subrc.
      FIELD-SYMBOLS:
            <ls_order_item>   TYPE  crmt_order_items.
    * check correct call
      ADD 1 TO gv_recursive_call.
      ADD 1 TO gv_maintain_active.
      CALL FUNCTION 'CRM_ORDER_CHECK_RECURSIVE_OW'
        EXCEPTIONS
          recursive_call              = 1
          call_without_order_maintain = 2
          OTHERS                      = 0.
      IF sy-subrc <> 0.
        MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
                WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
        EXIT.
      ENDIF.

    Did you solve the problem?

  • How to get selected items from a tree in backing bean without adfbc

    Hi ADF Experts,
    Below is my code for af:tree. My question is how can I get selected Items from the selectionListener (without adf bc) this uses formation of tree from backing bean.
    Using Jdev 11.1.1.7.0
    <af:tree var="node" value="#{pageFlowScope.MerchandizeBean.model}"
                      binding="#{pageFlowScope.MerchandizeBean.treeModel}"     id="tree" immediate="true" autoHeightRows="0"
                           styleClass="AFStretchWidth" rowSelection="multiple"
                           selectionListener="#{pageFlowScope.MerchandizeBean.treeNodeSelection}">
                    <f:facet name="nodeStamp">
                      <af:commandLink text="#{node.classDescription}"
                           actionListener="#{pageFlowScope.MerchandizeBean.createListManyItemForMerchandise}"           id="displayTable" partialSubmit="true">
                      </af:commandLink>
                    </f:facet>
                  </af:tree>
        public void treeNodeSelection(SelectionEvent selectionEvent) {
            // Add event code here...
            RichTree tree = (RichTree)selectionEvent.getSource();
                    TreeModel model = (TreeModel)tree.getValue();
                    //get selected value
    Thanks
    Roy

    Hi,
    in a multi select case, try
    RowKeySet rks = tree.getSelectedRowKeys();
    Iterator iter = rks.iterator();
    while(iterator.hasNext()){
    Object aKey = iterator.next();
    tree. setRowKey(aKey);
    Object rowData ? tree.getRowData();
      .... do something with the data here ...
    Frank

  • How to get open items as on a key date

    Hi experts,
    I want to show a report Agewise report of offsets: 0-30, 30-60,....
    Only the open items of Vendor as on a particular key date to be considered...
    How to get the open items as on a particular key date ?
    Regards,
    Rao.

    Hi All,
    Thanks for the reply..
    ==============================================================
    Basically create one ckf and two rkfs for each aging bucket
    ie ckf 0-30 days = rkf 0-30 days open + rkf 0-30 days subsequently cleared
    Because you need to restate the AP report to a key date - some items have changed their status since that key date but were open at the key date (ie we call those subsequently cleared)
    so rkf 0-30 days open is
    posting date <= key date
    item status = O
    net due date between variable date (cmod which reads key date) offset 0 and variable date (cmod which reads key date) offset -30
    rkf 0-30 days subsequently cleared is
    posting date <= key date
    cleared date > variable date (which reads cmod of key date)
    net due date between variable date (cmod which reads key date) offset 0 and variable date (cmod which reads key date) offset -30
    ========================================================================
    In the above two cases, while creating restricted key figures how to design this;
    net due date between variable date (cmod which reads key date) offset 0 and variable date (cmod which reads key date) offset -30
    And also after creation of two rkfs i created a ckf i.e ckf = rkf1+rkf2.
    Now i dragged this ckf into columns and when i checked the query it is giving error that key date variable is used more than once. ( Bcz we have used key date variable both in rkf1 and rkf2 for getting posting date <= to key date )
    What is the solution for this ?
    Regards,
    Rao.

  • How to remove the item content from my alert Template (alerttemplates.xml) .

    I have enabled alerts to be send from my enterprise wiki & announcement list. Currently the alert email, will display the item content inside the email (the wiki page content or the announcement list content), which i do not want to have. So is
    there a way to remove the item content , so my alert message contains only the following info such as:-
    Our Group Intranet
    TestItem has been added
    Modify my alert settings
    |
    View TestItem
    |
    View News & Announcements
    |
    Mobile View

    Hi johnjohn123,
    According to your description, my understanding is that you want to change the notification message in the alert template.
    You can edit the ImmediateNotificationExcludedFields and DigestNotificationExcludedFields tags to achieve it. After editing the xml, remember apply the template
    to your site using the command below.
    execute command stsadm -o updatealerttemplates -filename <your modified xml file> -url <your site>
    Also, It is not suggested to edit the alert template directly, I suggest you back up the template firstly before customization.
    More information:
    How to change alert email notification message:
    http://dirkvandenberghe.com/2008/01/08/how-to-change-the-alert-email-notification-message-for-announcements.html
    AlertTemplates schema:
    http://msdn.microsoft.com/en-us/library/office/bb802961(v=office.15).aspx
    Best regards,
    Zhengyu Guo
    Zhengyu Guo
    TechNet Community Support

  • How to get the text content of an XMLElement

    Hi,
    Here is a XML sample:
    <toto attrib1="titi">tata</toto>
    We want to get the text content "tata".
    Using an XMLElement (from the class "oracle.xml.parser.v2.XMLElement) to manipulate the element "toto", when we use the getNodeValue method, we always retrieve "null".
    So, what is wrong in our procedure and how to resolve this problem?
    Thanks in advance for your help
    Bye

    You need to get the child nodes of the Element and iterate until you find a node of type Node.TEXT_NODE.
    Elements don't have text content, they instead contain text node children.
    Just remember, too, that they can also contain comments, processing instructions, etc., in addition to the text you are looking for:
    <toto><!-- a comment --><?pi?>Tata</toto>

Maybe you are looking for