Xslt sample for entities to keyboard character

We need the xslt sample for entities replacement text. For instance I have to convert the entities ‘(’  to keyboard character ‘(’.

Hi,
Here's a very simple one... If the param1 matches with any value in the input it will return true...
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
  <xsl:param name="param1"/>
  <xsl:template match="/">
  <xsl:value-of select=".//*/text() = $param1"/>
  </xsl:template>
</xsl:stylesheet>
Cheers,
Vlad

Similar Messages

  • XSLT samples for XML- ABAP mapping

    Hi all,
    Does anyone have a XSLT samples for XML->ABAP mapping ?
    regards

    first create XSLT program by copy pasting the below given code and give the program name as "Y_TEST"
    <b>XSLT code</b>
    <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
      <xsl:strip-space elements="*"/>
      <xsl:output indent="yes"/>
      <xsl:template match="NewDataSet">
        <asx:abap xmlns:asx="http://www.sap.com/abapxml" version="1.0">
          <asx:values>
            <OUTTAB>
              <xsl:for-each select="Table">
                <OUTTAB1>
                  <AIRPORTCODE>
                    <xsl:value-of select="AirportCode"/>
                  </AIRPORTCODE>
                  <CITYOFAIRPORTNAME>
                    <xsl:value-of select="CityOrAirportName"/>
                  </CITYOFAIRPORTNAME>
                  <COUNTRY>
                    <xsl:value-of select="Country"/>
                  </COUNTRY>
                  <COUNTRYABBRIVATION>
                    <xsl:value-of select="CountryAbbrviation"/>
                  </COUNTRYABBRIVATION>
                  <COUNTRYCODE>
                    <xsl:value-of select="CountryCode"/>
                  </COUNTRYCODE>
                  <GMTOFFSET>
                    <xsl:value-of select="GMTOffset"/>
                  </GMTOFFSET>
                  <RUNWAYLENGTHFEET>
                    <xsl:value-of select="RunwayLengthFeet"/>
                  </RUNWAYLENGTHFEET>
                  <RUNWAYELEVATIONFEET>
                    <xsl:value-of select="RunwayElevationFeet"/>
                  </RUNWAYELEVATIONFEET>
                  <LATITUDEDEGREE>
                    <xsl:value-of select="LatitudeDegree"/>
                  </LATITUDEDEGREE>
                  <LATITUDEMINUTE>
                    <xsl:value-of select="LatitudeMinute"/>
                  </LATITUDEMINUTE>
                  <LATITUDESECOND>
                    <xsl:value-of select="LatitudeSecond"/>
                  </LATITUDESECOND>
                  <LATITUDENPEERS>
                    <xsl:value-of select="LatitudeNpeerS"/>
                  </LATITUDENPEERS>
                  <LONGITUDEDEGREE>
                    <xsl:value-of select="LongitudeDegree"/>
                  </LONGITUDEDEGREE>
                  <LONGITUDEMINUTE>
                    <xsl:value-of select="LongitudeMinute"/>
                  </LONGITUDEMINUTE>
                  <LONGITUDESECONDS>
                    <xsl:value-of select="LongitudeSeconds"/>
                  </LONGITUDESECONDS>
                  <LONGITUDEEPERW>
                    <xsl:value-of select="LongitudeEperW"/>
                  </LONGITUDEEPERW>
                </OUTTAB1>
              </xsl:for-each>
            </OUTTAB>
          </asx:values>
        </asx:abap>
      </xsl:template>
    </xsl:stylesheet>
    <b>just create a type 1 program and paste the below given code.</b>
    report y_consume_webservice .
    data: wf_user type string .
    data: wf_password type string .
    types: begin of outtab1 ,
       airportcode(6)  ,
       cityofairportname(50),
       country(30)  ,
       countryabbrivation(10),
       countrycode(6)  ,
       gmtoffset(10)  ,
       runwaylengthfeet(15),
       runwayelevationfeet(15),
       latitudedegree(10)  ,
       latitudeminute(10)  ,
       latitudesecond(10)  ,
       latitudenpeers(10)  ,
       longitudedegree(10)  ,
       longitudeminute(10)  ,
       longitudeseconds(10)  ,
       longitudeeperw(10) ,
       end of outtab1 .
    data: outtab type  table of outtab1.
    data: wf_o like line of outtab .
    data: g_okcode like sy-ucomm .
    data: my_container   type ref to cl_gui_custom_container .
    data: g_dock type ref to cl_gui_docking_container .
    data: mygrid type ref to cl_gui_alv_grid .
    data: wf_field_cat type lvc_t_fcat .
    data: wf_field_cat_wa like line of wf_field_cat ,
          wf_is_layout type lvc_s_layo .
    data: wf_fld_cat type slis_t_fieldcat_alv .
    data: wf_fld_cat_wa like line of wf_fld_cat .
    data: wf_repid like sy-repid .
    data: int_tab_name type slis_tabname .
    data: xslt_err type ref to cx_xslt_exception .
    constants:
    * encoding for download of XML files
    encoding     type string value 'utf-8' .
    data: rlength type i,
          txlen type string  .
    data: http_client type ref to if_http_client .
    data: wf_string type string .
    data: wf_string1 type string .
    data: wf_proxy type string ,
          wf_port type string .
    selection-screen: begin of block a with frame .
    parameters: uri2(132) type c lower case .
    selection-screen skip 1.
    parameters: user(50) lower case,
                password(50) lower case ,
                p_proxy(100) lower case default 'proxy.xxx.com' ,
                p_port(4) default '80'.
    selection-screen: end of block a .
    at selection-screen output.
      loop at screen.
        if screen-name = 'PASSWORD'.
          screen-invisible = '1'.
          modify screen.
        endif.
      endloop.
    start-of-selection .
    clear wf_string .
    concatenate
    '<?xml version="1.0" encoding="utf-8"?>'
    '<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">'
    '<soap:Body>'
    '<GetAirportInformationByCountry xmlns="http://www.webserviceX.NET">'
    '<country>' uri2 '</country>'
    '</GetAirportInformationByCountry>'
    '</soap:Body>'
    '</soap:Envelope>'
    into wf_string .
    clear :rlength , txlen .
    rlength = strlen( wf_string ) .
    move: rlength to txlen .
    clear: wf_proxy, wf_port .
    move: p_proxy to wf_proxy ,
          p_port to wf_port .
    call method cl_http_client=>create
      exporting
        host          = 'www.webservicex.net'
        service       = '80'
        scheme        = '1'
        proxy_host    =  wf_proxy
        proxy_service =  wf_port
      importing
        client        = http_client.
    http_client->propertytype_logon_popup = http_client->co_disabled.
    wf_user = user .
    wf_password = password .
    call method http_client->authenticate
      exporting
        proxy_authentication = 'X'
        username             = wf_user
        password             = wf_password.
    call method http_client->request->set_header_field
      exporting
        name  = '~request_method'
        value = 'POST'.
    call method http_client->request->set_header_field
      exporting
        name  = '~server_protocol'
        value = 'HTTP/1.1'.
    call method http_client->request->set_header_field
      exporting
        name  = '~request_uri'
        value = '/airport.asmx'.
    call method http_client->request->set_header_field
      exporting
        name  = 'Content-Type'
        value = 'text/xml; charset=utf-8'.
    call method http_client->request->set_header_field
      exporting
        name  = 'Content-Length'
        value = txlen.
    call method http_client->request->set_header_field
      exporting
        name  = 'SOAPAction'
        value = 'http://www.webserviceX.NET/GetAirportInformationByCountry'.
    call method http_client->request->set_cdata
      exporting
        data   = wf_string
        offset = 0
        length = rlength.
    call method http_client->send
      exceptions
        http_communication_failure = 1
        http_invalid_state         = 2.
    call method http_client->receive
      exceptions
        http_communication_failure = 1
        http_invalid_state         = 2
        http_processing_failed     = 3.
    clear wf_string1 .
    wf_string1 = http_client->response->get_cdata( ).
    replace all occurrences of
        '<' in wf_string1 with '<' .
    replace all occurrences of
    '>' in wf_string1 with '>' .
    replace all occurrences of
    'xmlns=' in wf_string1 with 'xmlns:xsl=' .
    try .
        call transformation (`Y_TEST`)
                source xml wf_string1
                result     outtab = outtab.
      catch cx_xslt_exception into xslt_err.
        data: s type string.
        s = xslt_err->get_text( ).
        write: ': ', s.
        stop.
    endtry .
    break-point .
    Try this and give me your feedback.
    Regards
    Raja

  • Cannot enable keyboard & character viewer

    After a fresh install of 10.7.5, I cannot enable the keyboard & character viewer. Neither the checkbox will stay checked, nor does the option appear in the input sources menu...
    Any ideas?
    Thanks,
    Klaus

    Thanks, Tom, for your speedy reply.
    This is what the Terminal commands produced:
    Last login: Sat May 11 21:33:45 on console
    You have mail.
    Macintosh-7:~ klausblume$ sudo rm /System/Library/Caches/com.apple.IntlDataCache*
    Password:
    Macintosh-7:~ klausblume$ sudo rm /var/folders/*/*/-Caches-/com.apple.IntlDataCache*
    rm: /var/folders/*/*/-Caches-/com.apple.IntlDataCache*: No such file or directory
    Macintosh-7:~ klausblume$
    No such file or directory
    As far as Onyx is concerned, the homepage is flogging MacKeeper (ugh). Is Onyx MacKeeper in disguise?

  • Frame 9 keystrokes for entering Paragraph and Character Tags

    I have been using the F9 and F8 keystrokes for entering paragraph and character tags, respectively, for 25 years. I just upgarde to Frame 9, and suddenly they behave differently. Instead of being able to type the first few characters of the tag name and pressing Enter to select the tag, you can now only type the first letter and to get to the next tag in the list that starts with the same letter, you type the letter again. Furthermore, if there is only one tag with the letter you type, it automatically selects it without requiring you type press Enter, which might seem like a feature except if you're used to pressing Enter.
    Does anyone know if there is a way to go back to the way it was?

    While this did solve the problem partially, it seems Frame 9 with the patches still has slighly different behavior from the way I've been using F8 and F9 for the past 20 years. To return to the old behavior, what we need is a combination of the behavior of Frame 9 and Frame 9 with the patches. That is, press F9, type the first letter of the tag name, type the same letter again to scroll down the list, then press Enter to apply it. So, for example, if you have Body and Bullet, if you type "b" you get Body and if type "b" again, you get Bullet. This isn't so bad if you have these two tags, because you can easily type "bu" to get Bullet. But if you have Body1, Body2, Body3, Bullet1, Bullet2, Bullet3, it's kind of a pain to have to type "bullet2" to apply this tag using the keyboard. Kind of defeats the purpose of using the keystroke in the first place.
    The other thing I've gotten used to over the years is being able to press F8 + Enter or F9 + Enter and have it apply the first tag in the list, which was always Default Para Font and Body. Not anymore. Now you have to type the first letter of the first tag in the list. Grrr.
    While you can teach and old dog new tricks, I don't think it's very nice of them to change the behavior of these very common keystrokes.
    Other opinions? I've never submitted a bug to Frame before, but perhaps the time has come.

  • Keyboard character repeat delay

    I have JDK 5 Update 4. Does anybody have an idea on how to access the keyboard character repeat delay and repeat rate?
    I want to shorten the delay and possibly the repeat rate. Is there a way to get the keyboard and it's properties somehow?

    lol I delt with the same issue while making a galaxian clone.
    I wanted to completely get rid of the delay and make the repeat rate equal to as fast as java could execute it (meaning assume that it repeats every single time the paint() method gets executed).
    for instance, if I want the ship to move left and keep moving left (meaning no delay and incredibly fast repeat rate), I did this:
    inside my KeyListener I have boolean Left. inside keyPressed, I have a switch statement that, if the left key is pressed, sets Left to true. inside my paint() method, I check to see if myKeyListener.Left == true. if it does, I move my ship to the left. inside of keyReleased I have a switch that sets Left to false. therefore, there is no delay at all between the key being pressed and the ship moving, and so long as you hold the key down, the ship keeps moving over at a constant rate that has absolutely nothing to do with the repeat rate of the KeyListener. hacking into the OS is way unnecessary.
    if you want there to be a significant delay (the way my firing of bullets does), then do this
    //inside the constructor of your GUI, set long milliSec to System.currentTimeMillis().
    if (MyKeyListener.SpaceBarIsPressed == true && System.currentTimeMillis() >= 500+milliSec)
         //the code necessary to shoot a bullet
         milliSec = System.currentTimeMillis()
    }that will make it so the next bullet cannot be fired until its been at least 500 milliseconds since the last bullet was fired. giving you a constant repeat rate with no start delay.

  • Dirver for the aluminium keyboard for a windows XP Lenovo Notebook

    Hi,
    I desperately searching for a working keyboard driver for my Apple aluminium keyboard, connected to my Windows XP Notebook at my offcie (at home, I use a Mac, of course
    So I cannot use Bootcamp, but isn't there any usual XP-driver for the keyboard, or some other work around.
    I searched already a lot in the web, but with no sucess.
    thanks for your help

    Hello spidermains,
    Happy to see that I have a friend in that adventure
    Look I have a blog entry here:
    http://www.happytocode.com/post/Can-I-use-the-new-Apple-USB-Aluminium-keyboard-o n-Windows.aspx
    That post describes all the steps I followed to extract the drivers from the dual boot camp CD.
    I'm using a PC, only a PC. I do not have any Apple computer (yet).
    When I mention boot camp, I mean the boot camp CD on one side and the boot camp utilities on the other side. To be more specific the tool I'm talking about is the kbrmgr.exe
    That tool sits in the systray and is handling the special keys of the keyboard.
    If you have other questions... let me know,
    John.

  • Sample for A/R invoice and Incoming Payment

    Hi,
    Have any samples for create A/R invoice and incoming payment by SDK?
    Which related tables are used?
    Thanks!
    Regards,
    On

    On,
    If you look at the SDK Help Documentation, specifically at the Documents, Document_Lines and Payments Objects for the DI API, the help discusses the tables involved as well as gives samples of common documents.
    Eddy

  • Hi, i have been searching high and low for a new keyboard for an HP DV7 6B51EA but with no success

     HP DV7 6B51EA but with no success..............................I have tried every site i can think off, any idea's.  Great computer, shame about the keyboard...
    Hopefully you can help 
    Many thanks in advance

    Hi,
    We do not have many choices with laptop keyboards that why 95% of my time I use external keyboards (for all my laptops). This is a list for dv7 machines:
    Keyboard
    NOTE: The keyboard spare part kit includes a keyboard cable.
    For use with all computer models: For use in Italy 639396-061
    For use in Belgium 639396-A41 For use in the Netherlands 639396-B31
    For use in Canada 639396-121 For use in Portugal 639396-131
    For use in the Czech Republic 639396-221
    For use in Russia 639396-251
    For use in Denmark, Finland,and Norway 639396-DH1
    For use in Slovenia 639396-BA1
    For use in France 639396-051
    For use in Spain 639396-071
    For use in Germany 639396-041
    For use in Switzerland 639396-BG1
    For use in Greece 639396-DJ1
    For use in the United Kingdom and Singapore 639396-031
    For use in Hungary 639396-211 For use in the United States 639396-001
    For use only with computer models equipped with an Intel processor:
    For use in Saudi Arabia 639396-171
    For use in Bulgaria 639396-261
    For use in South Korea 639396-AD1
    For use in India 639396-D61
    For use in Taiwan 639396-AB1
    For use in Israel 639396-BB1
    For use in Thailand 639396-281
    For use in Japan 639396-291
    For use in Turkey 639396-141
    Regards.
    BH
    **Click the KUDOS thumb up on the left to say 'Thanks'**
    Make it easier for other people to find solutions by marking a Reply 'Accept as Solution' if it solves your problem.

  • Mac Pro stuck on gray screen after installing software for a new keyboard

    I am having a huge issue with my very important work computer! For a few weeks, my Mac has been freezing on the gray screen during start up. Since I had two external hard drives plugged in, I would unplug one of them and the Mac would always restart correctly once one was unplugged. Well today I was installing software for a new keyboard and the mac prompted me to restart. Once I restarted, the gray screen came up again and no matter what I did it would not start up correctly again. I tried unplugging everything except the keyboard and monitor and nothing works. I tried ejecting the crash-causing CD with the keyboard using all of the commands I found on this forum board and nothing worked. I saw forums about manually ejecting the CD by pushing a pin-hole but I cannot find that pinhole anywhere! Then again, the CD might not even be the problem but since the computer gave me the gray screen of death right after using the CD I am thinking that it is the problem. I use this computer for editing a TV show and creating websites so there is a ton of files on it and I need to get it up and running again ASAP. Any suggestions would be appreciated and I am sure by now you can tell that I am not a Mac expert so please dumb it down for me. Thank you!!

    I would start by breaking your thoughts and sentences out from one long paragraph.
    Start at the basics.
    Always have backups.
    One at least that is a spare boot system you can use.
    Clone your system. SuperDuper does a great job for only $29
    Boot from another hard drive or last OS X DVD
    Repair your drive with Apple Disk Utility along with 3rd party disk maintenance and repair
    Hold Option key until the boot manager, then hold mouse to open optical drive.
    You can hold mouse on startup and it will eject also.
    Hold and continue to hold Shift key during startup to repair the boot drive in minimal fashion.
    What device and driver? hint: never use CD, just go online as the CD is usually out of date anyway.
    Fill in Mac OS X version and more about hardware would help in posts and in your profile signature.
    http://www.shirt-pocket.com/SuperDuper/SuperDuperDescription.html
    http://www.macintouch.com/readerreports/harddrives/index.html#d12aug2010
    http://www.alsoft.com/DiskWarrior

  • File TO File-Using XSLT mapping (for Beginners) --- Error in XSLT

    Hi,
    I am following this wiki (TO File-Using XSLT mapping (for Beginners))
    https://wiki.sdn.sap.com/wiki/display/XI/FileTOFile-UsingXSLTmapping%28forBeginners%29
    When creating  Xslt from the MapForce, when I click on the XSLT Tab I am getting the following error
    http://www.flickr.com/photo_zoom.gne?id=1216715484&size=o
    How to correct this error ?.....
    Thanks
    srini
    Message was edited by:
            srinivas

    Hello,
    The XSD you are using is from Data Type and you are using it for mapping.
    Instead export XSD for Message Type and also pass the XML schema for source that will solve the issue and your XSLT will be generated.
    Regards,

  • XSLT transformation for deep structure .....

    Hello,
            I am trying to do an XSLT transformation for a deep structure HAP_S_PDF_DOCUMENT (see it in SE11), I have managed to achieve this. but not with perfection. i still get some redundant data and data have been experiencing Data duplication. I was hoping if you people point out the what is wrong in the transfromation. The data repeats for every once under node DATA and then under node of the refered structure name. Besides it also create a blank row even if the record is 0. I am mostly facing problem with nodes T_ELEMENTS. T_COL_CELL and T_FIELD. These are the nested structures, Can anybody help / guide me to achieve these transforamtion?
    <xsl:transform xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:sap="http://www.sap.com/sapxsl" version="1.0">
    <xsl:strip-space elements="*"/>
    <xsl:template match="HAP_DOCUMENT">
    <xsl:element name="HAP_DOCUMENT" namespace="">
    <xsl:apply-templates select="MAIN_HEADER"/>
    <xsl:apply-templates select="T_ELEMENTS"/>
    <xsl:apply-templates select="T_STAT_CHG_BUTTONS"/>
    <xsl:apply-templates select="S_APPRAISAL_ID"/>
    <xsl:apply-templates select="S_HEADER"/>
    <xsl:apply-templates select="POSITIONS"/>
    <xsl:element name="STAT_CHG_BUTTON">
    <xsl:value-of select="../STAT_CHG_BUTTON"/>
    </xsl:element>
    <xsl:element name="OFFLINE_ID">
    <xsl:value-of select="OFFLINE_ID"/>
    </xsl:element>
    <xsl:element name="BSP_FLAG">
    <xsl:value-of select="BSP_FLAG"/>
    </xsl:element>
    <xsl:element name="ROLE">
    <xsl:value-of select="ROLE"/>
    </xsl:element>
    <xsl:element name="APPRAISAL_YEAR">
    <xsl:value-of select="APPRAISAL_YEAR"/>
    </xsl:element>
    </xsl:element>
    </xsl:template>
    <xsl:template match="MAIN_HEADER">
    <xsl:element name="MAIN_HEADER">
    <xsl:for-each select="ZBGAPR_FORM_HEADER">
    <xsl:element name="DATA">
    <xsl:copy-of select="child::node()"/>
    </xsl:element>
    </xsl:for-each>
    </xsl:element>
    </xsl:template>
    <xsl:template match="T_ELEMENTS">
    <xsl:element name="T_ELEMENTS">
    <xsl:for-each select="ZHAP_S_PDF_ELEMENTS">
    <xsl:element name="DATA">
    <xsl:apply-templates select="T_COL_CELL"/>
    <xsl:copy-of select="child::node()"/>
    </xsl:element>
    </xsl:for-each>
    </xsl:element>
    </xsl:template>
    <xsl:template match="T_COL_CELL">
    <xsl:element name="T_COL_CELL">
    <xsl:for-each select="ZHAP_S_PDF_COL_CELL">
    <xsl:element name="DATA">
    <xsl:apply-templates select="T_FIELD"/>
    <xsl:copy-of select="child::node()"/>
    </xsl:element>
    </xsl:for-each>
    </xsl:element>
    </xsl:template>
    <xsl:template match="T_FIELD">
    <xsl:element name="T_FIELD">
    <xsl:for-each select="ZHAP_S_PDF_FIELD">
    <xsl:element name="DATA">
    <xsl:apply-templates select="T_VAL_VALUES"/>
    <xsl:apply-templates select="T_VAL_RANGES"/>
    <xsl:copy-of select="child::node()"/>
    </xsl:element>
    </xsl:for-each>
    </xsl:element>
    </xsl:template>
    <xsl:template match="T_VAL_VALUES">
    <xsl:element name="T_VAL_VALUES">
    <xsl:for-each select="HAP_S_BODY_CELL_VAL_VALUES">
    <xsl:element name="DATA">
    <xsl:copy-of select="child::node()"/>
    </xsl:element>
    </xsl:for-each>
    </xsl:element>
    </xsl:template>
    <xsl:template match="T_VAL_RANGES">
    <xsl:element name="T_VAL_RANGES">
    <xsl:for-each select="HAP_S_BODY_CELL_VAL_RANGES">
    <xsl:element name="DATA">
    <xsl:copy-of select="child::node()"/>
    </xsl:element>
    </xsl:for-each>
    </xsl:element>
    </xsl:template>
    <xsl:template match="T_STAT_CHG_BUTTONS">
    <xsl:element name="T_STAT_CHG_BUTTONS">
    <xsl:for-each select="HAP_S_BODY_CELL_VAL_RANGES">
    <xsl:element name="DATA">
    <xsl:copy-of select="child::node()"/>
    </xsl:element>
    </xsl:for-each>
    </xsl:element>
    </xsl:template>
    <xsl:template match="S_APPRAISAL_ID">
    <xsl:element name="S_APPRAISAL_ID">
    <xsl:copy-of select="node()"/>
    </xsl:element>
    </xsl:template>
    <xsl:template match="S_HEADER">
    <xsl:element name="S_HEADER">
    <xsl:apply-templates select="S_TEXTS"/>
    <xsl:apply-templates select="T_APPRAISER"/>
    <xsl:apply-templates select="T_APPRAISEE"/>
    <xsl:apply-templates select="T_PART_APPRAISER"/>
    <xsl:apply-templates select="T_OTHERS"/>
    <xsl:apply-templates select="S_STATUS"/>
    <xsl:apply-templates select="S_DATES"/>
    <xsl:apply-templates select="S_DISPLAY"/>
    </xsl:element>
    </xsl:template>
    <xsl:template match="POSITIONS">
    <xsl:element name="POSITION">
    <xsl:for-each select="ZBGHR_APR_POSITION_DET">
    <xsl:element name="DATA">
    <xsl:copy-of select="child::node()"/>
    </xsl:element>
    </xsl:for-each>
    </xsl:element>
    </xsl:template>
    <xsl:template match="S_TEXTS">
    <xsl:element name="S_TEXTS">
    <xsl:copy-of select="node()"/>
    </xsl:element>
    </xsl:template>
    <xsl:template match="T_APPRAISER">
    <xsl:element name="T_APPRAISER">
    <xsl:for-each select="HAP_S_PDF_APPRAISER">
    <xsl:element name="DATA">
    <xsl:copy-of select="child::node()"/>
    </xsl:element>
    </xsl:for-each>
    </xsl:element>
    </xsl:template>
    <xsl:template match="T_APPRAISEE">
    <xsl:element name="T_APPRAISEE">
    <xsl:for-each select="HAP_S_PDF_APPRAISEE">
    <xsl:element name="DATA">
    <xsl:copy-of select="child::node()"/>
    </xsl:element>
    </xsl:for-each>
    </xsl:element>
    </xsl:template>
    <xsl:template match="T_OTHERS">
    <xsl:element name="T_OTHERS">
    <xsl:for-each select="HAP_S_PDF_OTHERS">
    <xsl:element name="DATA">
    <xsl:copy-of select="child::node()"/>
    </xsl:element>
    </xsl:for-each>
    </xsl:element>
    </xsl:template>
    <xsl:template match="T_PART_APPRAISER">
    <xsl:element name="T_PART_APPRAISER">
    <xsl:for-each select="HAP_S_PDF_PART_APPRAISERS">
    <xsl:element name="DATA">
    <xsl:copy-of select="child::node()"/>
    </xsl:element>
    </xsl:for-each>
    </xsl:element>
    </xsl:template>
    <xsl:template match="T_PART_APPRAISER">
    <xsl:element name="T_PART_APPRAISER">
    <xsl:for-each select="HAP_S_PDF_PART_APPRAISERS">
    <xsl:element name="DATA">
    <xsl:copy-of select="child::node()"/>
    </xsl:element>
    </xsl:for-each>
    </xsl:element>
    </xsl:template>
    <xsl:template match="S_STATUS">
    <xsl:element name="S_STATUS">
    <xsl:copy-of select="node()"/>
    </xsl:element>
    </xsl:template>
    <xsl:template match="S_DATES">
    <xsl:element name="S_DATES">
    <xsl:copy-of select="node()"/>
    </xsl:element>
    </xsl:template>
    <xsl:template match="S_DISPLAY">
    <xsl:element name="S_DISPLAY">
    <xsl:copy-of select="node()"/>
    </xsl:element>
    </xsl:template>
    <xsl:template match="STAT_CHG_BUTTON">
    </xsl:template>
      <xsl:template match="OFFLINE_ID">
    </xsl:template>
      <xsl:template match="BSP_FLAG">
    </xsl:template>
      <xsl:template match="ROLE">
    </xsl:template>
      <xsl:template match="APPRAISAL_YEAR">
    </xsl:template>
    </xsl:transform>
    Regards,
    Shishir.P

    "XSLT transformation for a deep structure"
    which way abap to xml or xml to abap?
    you may want to check this thread
    Re: Problem converting XML back to structure using XSLT

  • Using the XSLT processor for non-workbench XSLT

    Hi there,
    is it possible to use the built-in XSLT processor for arbitrary XSLT transformations which aren't checked in in the ABAP workbench but instead given as a runtime object (string or iXML)?
    Instead of the built-in command CALL TRANSFORMATION which according to the doc is restricted to workbench transformations, I am looking for an option like this:
    data: lo_transformation type ref to if_ixml_document,
          lo_source         type ref to if_ixml_document,
          lo_target         type ref to if_ixml_focument.
    * I get lo_transformation and lo_source from somewhere out there
    try.
        lo_target ?= cl_some_fine_class_which_i_am_looking_for=>transform(
                          io_source         = lo_source
                          io_transformation = lo_transformation ).
      catch cx_xslt_runtime_error.
    endtry.
    Does anybody know such a feature?
    For a background about this problem - in German language - see my blog
    http://ruediger-plantiko.blogspot.com/2007/08/xslt-in-bsp-anwendungen-und-in-abap.html
    Thanks and Regards,
    Rüdiger

    Dear Rashid,
    thanks - this is the answer! I wonder why I didn't find this class one year ago. A little test prog shows that it works fine and even performant (about 0.5 millisec for creating the new dynamic XSLT program with the method set_source_stream( ) ). For usage in web apps, it would be nice to know whether the temporary program remains available in the application servers' buffer after end of process. I can't check this, since this is performed on the C/C++ level, and SE30 doesn't track the method set_source_stream() itself (it could show a decrease of runtime after the first call).
    Here comes a little self-contained ABAP program to test the functionality. It works well on our system with SAPKB70012.
    Thanks and regards,
    Rüdiger
    * --- Test usage of a dynamically given non-workbench XSLT program
    report  zz_test_cl_xslt_processor.
    data:
    * iXML master
      go_xml type ref to if_ixml,
    * iXML stream factory
      go_sf  type ref to if_ixml_stream_factory.
    load-of-program.
      go_xml = cl_ixml=>create( ).
      go_sf  = go_xml->create_stream_factory( ).
    start-of-selection.
      perform start.
    * --- Start
    form start.
      data: lo_source    type ref to if_ixml_document,
            lo_result    type ref to if_ixml_document,
            lo_processor type ref to cl_xslt_processor,
            lv_p         type progname,
            lo_ex        type ref to cx_xslt_exception.
      perform get_source changing lo_source.
      create object lo_processor.
      try.
    * Set source
          lo_processor->set_source_node( lo_source ).
    * Set result
          lo_result = go_xml->create_document( ).
          lo_processor->set_result_document( lo_result ).
    * This could be time-critical, the creation of a dynamical XSLT prog?
          perform set_transformation using lo_processor
                                     changing lv_p.
    * call xslt-proc
          lo_processor->run( lv_p ).
    * Display result
          call function 'SDIXML_DOM_TO_SCREEN'
            exporting
              document    = lo_result
              title       = 'Result of Transformation'
            exceptions
              no_document = 1
              others      = 2.
        catch cx_xslt_exception into lo_ex.
          sy-msgli = lo_ex->get_text( ).
          message sy-msgli type 'I'.
      endtry.
    endform.                    "start
    * --- Set XSLT transformation from stream
    form set_transformation using io_processor type ref to cl_xslt_processor
                            changing cv_p type progname.
      data: lo_trans     type ref to if_ixml_istream.
    * sv_p contains temp. name of XSLT program after first call
      statics: sv_p   type string.
      if sv_p is initial.
    * It seems that the name can be buffered on appserver level?
        import progname to sv_p
               from shared buffer indx(zx) id 'ZZ_TEST_XSLT_PROC'.
        if sv_p is initial.
          sv_p = 'X'.
        endif.
      endif.
    * Provide the stream containing the XSLT document (as a stream)
      perform get_transformation changing lo_trans.
    * Set transformation
      io_processor->set_source_stream( exporting stream = lo_trans
                                       changing  p      = sv_p ).
    * Buffer progname on server - seems to work
      export progname from sv_p
             to shared buffer indx(zx) id 'ZZ_TEST_XSLT_PROC'.
    * string -> c move necessary, since xslt-proc-interface doesn't use
    * the generic type csequence for program name
      cv_p = sv_p.
    endform.                    "set_transformation
    * --- Parse a source given as string into an if_ixml_document
    form get_source changing co_src type ref to if_ixml_document.
      data: lv_s      type string,
            lo_stream type ref to if_ixml_istream,
            lo_parser type ref to if_ixml_parser.
      concatenate
    `<?xml version="1.0" encoding="iso-8859-1"?>`
    `<countings filiale="2412" invnu="TIEFKUEHL SEPT.07">`
    `<count recNum="1" gid="1" ean="59111828843" menge="1"`
    `preis="0" recNumFrom="1"></count>`
    `</countings>`
    into lv_s.
    * Eingabestream erzeugen und in if_ixml_document abbilden
      lo_stream   = go_sf->create_istream_string( lv_s ).
      co_src      = go_xml->create_document( ).
      lo_parser   = go_xml->create_parser( document       = co_src
                                           istream        = lo_stream
                                           stream_factory = go_sf ).
      lo_parser->parse( ).
    endform.                    "get_source
    * --- Put the transformation given as string into an if_ixml_istrean
    form get_transformation changing co_trans type ref to if_ixml_istream.
      data: lv_s   type string.
      concatenate
      `<?xml version="1.0" encoding="iso-8859-1"?>`
      `<xsl:transform version="1.0"`
      ` xmlns:xsl="http://www.w3.org/1999/XSL/Transform"`
      ` xmlns:asx="http://www.sap.com/abapxml">`
      `<xsl:strip-space elements="*"></xsl:strip-space>`
      `<xsl:template match="countings">`
      ` <asx:abap>`
      `   <asx:values>`
      `     <SELOPT>`
      `       <WERKS><xsl:value-of select="@filiale"></xsl:value-of></WERKS>`
      `       <INVNU><xsl:value-of select="@invnu"></xsl:value-of></INVNU>`
      `     </SELOPT>`
      `     <COUNTINGS>`
      `       <xsl:for-each select="count">`
      `         <ZSRS_ZWSTI_LINE>`
      `           <MATNR></MATNR>`
      `           <EAN11><xsl:value-of select="@ean"></xsl:value-of></EAN11>`
      `           <MAKTX></MAKTX>`
      `           <MENGE><xsl:value-of select="@menge"></xsl:value-of></MENGE>`
      `           <MEINH></MEINH>`
      `           <UNAME></UNAME>`
      `           <EXVKW></EXVKW>`
      `           <WAERS></WAERS>`
      `           <FF></FF>`
      `           <GID><xsl:value-of select="@gid"></xsl:value-of></GID>`
      `           <RECNUM><xsl:value-of select="@recNum"></xsl:value-of></RECNUM>`
      `           <RECNUM_FROM><xsl:value-of select="@recNumFrom"></xsl:value-of></RECNUM_FROM>`
      `           <REF_RECNUM><xsl:value-of select="@refRecNum"></xsl:value-of></REF_RECNUM>`
      `         </ZSRS_ZWSTI_LINE>`
      `       </xsl:for-each>`
      `     </COUNTINGS>`
      `   </asx:values>`
      ` </asx:abap>`
      `</xsl:template>`
      `</xsl:transform>`
      into lv_s.
      co_trans = go_sf->create_istream_string( lv_s ).
    endform.                    "get_transformation
    Edited by: Rüdiger Plantiko on Jul 4, 2008 10:25 AM

  • Read in a single keyboard character

    Could someone help me with the following?
    Read in a single keyboard character and display an appropriate message depending on whether it was a letter, a digit or some other type of character. Use a nested else-if statement.
    I would appreciate it, thanks.

    objJTextField.addKeyListener(new KeyboardEvent());
    class KeyboardEvent extends KeyAdapter{
    public void keyPressed(KeyEvent objKeyEvent){
              if (objKeyEvent.getKeyCode()!=KeyEvent.VK_BACK_SPACE)){
                   System.out.println("You make a click on Back Space");
    }

  • Non Keyboard character.

    Hi all,
    I web host a folder of files in the apache. There a file name which contains non keyboard character. I use URLENCODER, it been encoded to %E2%80%98. Sorry that i cannot passte the character here, as is a offline system.
    Although is being encoded, is still returns a 404 when try to access the files. Anyone met this issue before?
    By the way, what is the culture? Should i really allow all these non-keyboard character?
    Regards,
    becks

    becks wrote:
    URLencoder is java.Yeah I know.
    Just wondering how other people do it as well? I feel that should not let users copy paste those funny character into the system.Well it's not a very good system if it doesn't support Unicode. It's not that big an effort after all. Of course if you're not familiar with character encoding and unicode, I recommend you read this:
    http://www.joelonsoftware.com/articles/Unicode.html

  • Hello! Does anyone knows if its possible to change a US keyboard of a macbook pro for a portuguese keyboard. And how much it is approximatedlly. Thanks

    Hello! Does anyone knows if its possible to change a US keyboard of a macbook pro for a portuguese keyboard. And how much it is approximatedlly. Thanks

    Welcome to the Apple Support Communities
    You will have to return the Mac and order one with a Portuguese keyboard, if you bought it less than 14 days ago.
    If not, you will have to buy a new Mac (that's because some keys may not fit onto your MacBook Pro keyboard) or just set up OS X with a Portuguese keyboard but with US keys

Maybe you are looking for