Editing XML for SPRY Demos

Hello All,
Apologies in advance if this is a topic that has been covered
in the past. I searched through the previous posts, but didn't see
what I was looking for.
I am pretty new to SPRY, but have been able to put together a
few different apps that I think are interesting. These are mostly
based off of the demos I have seen on here such as the products
& photo gallery demos. After completing these though, the first
thing that pops in to my mind is how to build a backend edit tool
that would allow a potential client to edit the underlaying XML
that drives these apps without having to have me perform updates
for them. While looking around online I have seen several possible
solutions, but they all seem to have one problem or another.
What I am wondering is if there is an easy way to set up a
form that will edit/add/delete different entries in the XML files.
I would prefer to use PHP if at all possible. Of all the solutions
I have seen thus far, it seems that they all require me to use
either ASP, .NET, MYSQL or some other database system to extract
data from and create the XML dynamically. This is all well and
good, but I seem to have clients that have lots of different
hosting environments, so all of the above mentioned options seem to
be a bit to specialized for my needs. I'm really thinking that a
PHP solution that edits the XML file directly would be able to
cover more ground.
Is this even possible? Any direction that you could point me
in would be greatly appreciated!
Thanks!!!

Hello,
As Kin said in the above post, if you are using HTML data
sets InContexEditing would be great service to use.
But what if you don't.. I doesn't mean it cannot be done with
XML and databases. While i was Adobe MAX 2008 milano I spend my
spare time building an example that allows users easy CRUD with
Spry. You can also purchase a system but why do so if you already
have all tools you need :)
http://www.spry-it.com/examples/crud/
Its very early stage of this example but I got all basic
actions covered.
Inline edit that posts the changed data to a server file. And
places the returned server value inside your data set and updates
the data set. (updating the data set is not necessary but i just
added it to show that the data is actually updated inside the data
set to)
You can also delete rows and duplicate rows. I did not tie a
server side action to those yet. But it would be easy to do as I
did with inline Editing function. I fully commented the
SpryFullCRUD.js so it might help you out..
If you don't understand it feel free to ask questions, and I
hope it helps you out a bit. I will be writing a large article
about this and hope this example give you some inspiration.

Similar Messages

  • Generate Photo Gallery XML for Spry with Adobe Bridge

    Wanted to post a note to what I've discovered/worked out -- a
    way to
    generate a very useful photos.xml from Adobe Bridge. If you
    use Bridge,
    it's very easy to add titles, keywords, ratings -- all kinds
    of metadata
    that one might use in a photo gallery. Here it is in case
    anyone wants
    to use.
    The script is based on one I found at the Adobe User to User
    Bridge
    Scripting Forum for exporting a CSV file.
    Note 1: this particular script doesn't take into account
    CDATA that
    might exist in your metadata, like ampersands in your title.
    I've just
    avoided using those, but you could also have the script write
    out a
    CDATA node for that info instead.
    Note 2: this script does not write out a thumbpath,
    thumbwidth or
    thumbheight attribute. But usually the thumbpath is the exact
    same as
    the regular "path" attribute, and the thumbwidth and
    thumbheight are
    just a ratio of the regular "width" and "height" attributes.
    I added a
    bit of JS to the gallery.js file to calculate those before
    growing the
    thumbnail on rollover.
    Personally I'm using keywords as categories and titles as
    captions and
    sorting by rating (stars in Bridge), so here's the .jsx file
    I created.
    The script should be saved to the folder "StartupScripts" in
    Program
    Files/Common Files/Adobe.
    Hope this is useful for others too!
    #target bridge
    if (BridgeTalk.appName == "bridge" ) {
    // create menu
    var menu = MenuElement.create( "command", "Export XML File",
    "at the end
    of Tools");
    menu.onSelect = function(m) {
    try {
    // ask for the name of the output file
    var f = File.saveDialog("Export XML file to:", "XML
    File:*.XML");
    if ( !f ) { return; }
    // open filestream and write first line
    f.open("w");
    f.writeln("\<photos\>\r\r");
    // get a list of all the visible thumbnails in Bridge
    var items = app.document.visibleThumbnails;
    for (var i = 0; i < items.length; ++i) { var item = items
    f.writeln("\<photo path = \"" + item.name + "\"" + "\r" +
    "width = " +
    "\""+ getWidth(item) + "\"" + "\r" + "height = " + "\""+
    getHeight(item)
    + "\"" + "\r" + "rating = " + "\""+ getRating(item) + "\"" +
    "\r" +
    "categories = " + "\""+ listKeywords(item) + "\"" + "\r" +
    "caption = "
    + "\""+ getTitle(item) + "\"" + " \>" + "\r" +
    "\<\/photo\>\r\r" ); }
    f.writeln("\<\/photos\>");
    f.close();
    } catch(e) {
    function getTitle(tn) {
    md = tn.metadata;
    md.namespace = "
    http://purl.org/dc/elements/1.1/";
    var varTitle = md.title;
    return varTitle;
    function getWidth(tn) {
    md = tn.metadata;
    md.namespace = "
    http://ns.adobe.com/tiff/1.0/"
    var varWidth = md.ImageWidth;
    return varWidth;
    function getHeight(tn) {
    md = tn.metadata;
    md.namespace = "
    http://ns.adobe.com/tiff/1.0/"
    var varHeight = md.ImageLength;
    return varHeight;
    function getRating(tn) {
    md = tn.metadata;
    md.namespace = "
    http://ns.adobe.com/xap/1.0/"
    var varRating = md.Rating;
    return varRating;
    function listKeywords(tn) {
    md = tn.metadata;
    md.namespace = "
    http://ns.adobe.com/photoshop/1.0/";
    var Keywords = md.Keywords;
    var varKeywords = "" ;
    for ( var i = 0; i < Keywords.length; ++i ) { varKeywords
    = varKeywords
    + Keywords + ","; }
    return varKeywords;

    I updated the script so it exports an XML file from Bridge
    with full
    compatibility with the Spry Demo Photo Gallery, to use as
    photos.xml.
    It's at the same address:
    http://www.imagicdigital.com/spry/bridge_export_xml.zip
    To Use:
    The script goes in the folder "StartupScripts" in Program
    Files/Common
    Files/Adobe.
    Launch Bridge and browse to a folder that contains the files
    you want in
    your gallery -- the "source" folder, as it were.
    Choose the menu command "Tools > Export XML for Spry
    Gallery".
    Type a name for your XML file in the Save dialog box, choose
    a location,
    and hit "Save".
    In the dialog box that pops up, enter a max length/width for
    your
    thumbnails, in pixels. Some common sizes are "75" , "100" or
    "125".
    Hit "OK". You should see an alert pop up telling you "XML
    file
    successfully created!"

  • Excel to XML for spry

    O.k. i am a designer and i can see the benefit of spry big
    time in my work flow. BIG TIME. But i have a client site i am
    working on that has a bunch of data but its all in excel files.
    Right now to make useful web pages out of it i am using web merge.
    i can see using spry to remove my need or dependence on web merge
    to create the web galleries forms from the data i have. What I
    wanted to know is there any tools you guys have or can recommend to
    get my data from excel (I currently export to csv format) to the
    xml format that spry uses.
    my excel data looks something like this.
    picture | fragrance name | small bottle| medium bottle |
    Large bottle| item number
    also i use webmerge to populate data for a paypal form. is
    there any way to do that on the fly also???
    so the paypal code would be : <item name>fragrance name
    <price> bottle size<item> Item: number right now i have
    that data populating with field names from my csv. it replaces on
    running the script. so i have one page which is a template and it
    makes the 300 or so other pages from that. Now i know your thinking
    um.. no we don't create pages automatically like that. Thats not
    what i am trying to do i am trying to eliminate doing all those
    pages. ..
    I hope my rambling made sense.
    -adam

    o.k, i dont understand xml very well...but i think i am
    figuring it out. what i have done is turned my excel file into an
    xml file with oxygen xml editor and i am trying to figure out how
    to format it correctly so that spry can read it. once i get this
    figured out i should be good. i am working with a much smaller file
    only 16 records instead of the files i have for my client that
    average 300 or so records

  • Using external xml for spry menu help

    Just started playing with DW CS3, I would like to know how to
    insert a spry menu and get the xml data from an external file. Can
    anyone point me at a suitable example or tutorial please?

    The video workshop has some great tutorials with spry.
    http://www.adobe.com/designcenter/video_workshop/
    Aram

  • Spry Demos not working for IE7

    When using IE 7 to view the Spry demos, like the
    products/index.html which is supposed to display an interactive
    data grid from xml based data, the page display the error "
    Exception caught while loading products.xml: Access is
    denied."

    Workaround - change IE 7 options NOT to use native
    xmlhttprequest.when using local disk xml files.
    Funny that IE7 gets kicked for following international
    standards.
    From my OReilly Javascript: the Definitive Guide...
    xhr does not support URLs that use file://protocol - part of
    the same-origin security
    policy.
    /sjhs

  • Troubleshoot Main Image for spry photo gallery

    Hello, I am modifying some spry files to see if I can get the
    hang of it using my images. I have taken the photo gallery files
    gallery.js
    SpryData.js
    SpryEffects.js
    xpath.js
    The folder structure contains images and thumbnails on the
    root folder as well as the ap.css sheet and photos.xml
    The page is
    http://www.proximita.com/learning/index.html.
    Since I only have 1 photo gallery (and I did the getting
    started tutorial and worked fine I wanted to add the slideshow
    effect in the spry demo functionality) I only have one xml doc and,
    as mentioned, the both image folders and the css sheet are on the
    root, and the all the js files are in an includes folder.
    The thumbnails show up fine, but, the main image does not
    show up at all. I am almost sure this is a bad reference somewhere
    or a begginners mistake but I cant find it.
    I did modify the gallery.js because it referenced 2 or three
    variables (like dsPhotos and dsGalleries that are used for the demo
    I only have dsGallery) and I cahnged all of the other refrences to
    dsGallery.
    I think I am having problems here:
    function ShowCurrentImage()
    var curRow = dsPhotos.getCurrentRow();
    SetMainImage("galleries/" +
    dsGalleries.getCurrentRow()["@base"] + "images/" + curRow["@path"],
    curRow["@width"], curRow["@height"], "tn" + curRow["ds_RowID"]);
    you can check out the whole code here:
    http://proximita.com/learning/includes/gallery.js
    Im unconcerned with appearance for the moment, and would just
    like to see the main image and the slideshow functionality.
    If you can help, please do. Thanks, Mario.

    yes, I suspect that is because the tutorial talks about
    building this from scratch and uses that name for the "thumbnails"
    div rather than what they actually use in the demo files...
    confusing, to say the least.
    It would be nice if there were a simple document with demo
    files that didn't include other stuff unrelated to JUST the slide
    show (gallery)... and if the whole layout were more simple,
    css-layout-wise...
    or, if the demo files were commented with what each bit is
    for and how to modify it.
    quote:
    Originally posted by:
    Dragos GEORGITA
    Hi Mario,
    I took a look at your sample and I've noticed you change the
    ID of the container that holds the thumbnails (it was called:
    "thumbnails". now it's "thumbContainer").
    You need to open gallery.js and change the observer to point
    to the new container:
    Change
    Spry.Data.Region.addObserver("thumbnails", function(nType,
    notifier, data) {
    To
    Spry.Data.Region.addObserver("
    thumbContainer", function(nType, notifier, data) {
    Regards,
    Dragos

  • MX 6 - prob generating xml for gallery example

    See
    http://coolabah.com/spry/demos/gallery/xml.cfm
    I have MX 6 and think this is a problem.
    I can generate what looks like xml in the browser, but when I
    try to save it to a file I get this sort of output for the above,
    <style>
    table.cfdump_wddx,
    table.cfdump_xml,
    table.cfdump_struct,
    table.cfdump_array,
    table.cfdump_query,
    table.cfdump_cfc,
    table.cfdump_object,
    table.cfdump_binary,
    table.cfdump_udf,
    table.cfdump_udfbody,
    table.cfdump_udfarguments {
    font-size: xx-small;
    font-family: verdana, arial, helvetica, sans-serif;
    cell-spacing: 2;
    etc.
    Can anyone help?
    Thanks,
    Kate

    You shouldn't search for line 145 into the CFM file but into
    the answer that is sent to the browser. The resulting XML sent by
    the CFM is invalid so you have to identify first the line 145 into
    the response and than to look where the line is generated.
    As Don did I opened the URL into Firefox and when the XML
    error displayed I look into the source (View Source). The server
    instead of serving a valid XML answer a HTML content which is not
    correct. (Maybe a CF server error ?!)
    Cristian

  • Failed to retrieve data set (dsLibrary) for spry:repeat

    I've tried to make this work with an external xml file,
    external html table, and finally this version with an internal html
    table for the data set source. The source table shows up in the
    browser along with the error message in a box with red header
    "Failed to retrieve data set (dsLibrary) for spry:repeat".
    I used one of the Adobe Samples as a base for my page. I've
    checked and recheck, and I can't find the source of my problem.
    Please help!!!
    My code is below and the url to the page is
    http://www.healthy-horse.info/articles.html
    Thanks!
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0
    Transitional//EN" "
    http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="
    http://www.w3.org/1999/xhtml"
    xmlns:spry="
    http://ns.adobe.com/spry/">
    <head>
    <meta http-equiv="Content-Type" content="text/html;
    charset=utf-8" />
    <title>hh1</title>
    <link href="matt_layout.css" rel="stylesheet"
    type="text/css" />
    <link href="matt_style.css" rel="stylesheet"
    type="text/css" />
    <link rel="stylesheet" type="text/css"
    href="chromestyle.css" />
    <script type="text/javascript"
    src="SpryAssets/SpryHTMLDataSet.js"></script>
    <script type="text/javascript"
    src="SpryAssets/SpryData.js"></script>
    <script type="text/javascript">
    var dsLibrary = new Spry.Data.HTMLDataSet(null,
    "ArticleLibrary");
    </script>
    <style type="text/css">
    .style1 {color:black}
    .product {
    cursor: pointer;
    .hover {
    background-color: #A6C4E1;
    .selected {
    background-color: #D5C897;
    </style>
    </head>
    <body>
    <div id="masthead"><img class="title"
    src="images/articles_title.gif"/>
    <div class="headerinfo">Great informational articles
    that cover a wide variety of topics relating to
    <strong><em>Horse Health</em></strong> and
    <strong><em>Natural Horse
    Keeping</em></strong>. </div>
    </div>
    <!-- end masthead -->
    <div class="chromestyle" id="chromemenu">
    <ul>
    <li ><a href="default.html"
    >HOME</a></li>
    <li><a
    href="articles.html">ARTICLES</a></li>
    <li><a
    href="faqs.html">FAQ'S</a></li>
    <li><a
    href="links.html">LINKS</a></li>
    <li><a target="_blank" href="
    http://www.healthy-horse.info/forum">FORUM</a></li>
    <li><a href="mailto:[email protected]"
    >EMAIL</a></li>
    </ul>
    </div>
    <div id="wrapper">
    <table width="100%" border="0">
    <tr>
    <td width="30%" valign="top">
    <ul spry:region="dsLibrary"
    spry:repeatchildren="dsLibrary">
    <li class="product" spry:setrow="dsLibrary"
    spry:select="selected" spry:hover="hover">{category}</li>
    </ul>
    </td>
    <td width="70%" valign="top">
    <div spry:detailregion="dsLibrary">
    <div><strong>Articles:</strong>
    {articles}</div>
    </div>
    </td>
    </tr>
    </table>
    <br/>
    <!--SOURCE TABLE-->
    <table id="ArticleLibrary" border="1" cellspacing="0"
    cellpadding="10">
    <tr>
    <th>category</th>
    <th>articles</th>
    </tr>
    <tr>
    <td>Adobe Photoshop CS2</td>
    <td>
    <ul>
    <li>Revolutionary Vanishing Point</li>
    <li>Multiple layer control</li>
    <li>Smart Objects</li>
    <li>Multi-image digital camera raw file
    processing</li>
    <li>Image Warp</li>
    </ul></td>
    </tr>
    <tr>
    <td>Adobe Illustrator CS2</td>
    <td>
    <ul>
    <li>Live Trace</li>
    <li>Live Paint</li>
    <li>Control palette</li>
    <li>Custom workspaces</li>
    <li>Photoshop layer comp support</li>
    </ul></td>
    </tr>
    <tr>
    <td>Adobe InDesign CS2</td>
    <td>
    <ul>
    <li>Object styles</li>
    <li>Adobe Photoshop and Adobe PDF layer
    support</li>
    <li>InDesign snippets</li>
    <li>Adobe InCopy CS2 assignments</li>
    <li>Save backwards to InDesign CS</li>
    </ul></td>
    </tr>
    <tr>
    <td>Adobe GoLive CS2</td>
    <td>
    <ul>
    <li>Enhanced live rendering</li>
    <li>Simple visual tools to build and edit CSS-based
    pages</li>
    <li>Visual CSS authoring for mobile devices</li>
    <li>Visual SVG-t inspection and authoring for
    mobile</li>
    <li>Total site management</li>
    </ul></td>
    </tr>
    <tr>
    <td>Adobe Fireworks 8</td>
    <td>
    <ul>
    <li>Get top-quality design results.</li>
    <li>Produce highly optimized files that still look
    great.</li>
    <li>Slice and export page comps.</li>
    <li>Create sophisticated web navigation.</li>
    </ul></td>
    </tr>
    <tr>
    <td>Adobe Acrobat Professional</td>
    <td>
    <ul>
    <li>Enjoy improved performance</li>
    <li>Extend commenting capabilities</li>
    <li>Easily design Adobe PDF forms</li>
    <li>Enjoy improved attachment capabilities</li>
    </ul></td>
    </tr>
    <tr>
    <td>Adobe Acrobat Standard</td>
    <td>
    <ul>
    <li>Create Adobe PDF documents from Microsoft
    Outlook</li>
    <li>Enjoy improved performance</li>
    <li>Use enhanced headers, footers, and
    watermarks</li>
    <li>Enjoy improved attachment capabilities</li>
    <li>Organize Adobe PDF documents</li>
    </ul></td>
    </tr>
    </table>
    <!--END SOURCE TABLE-->
    </div>
    <!--end wrapper-->
    <div id="footer"><p class="footer">Mathew Baker
       <a
    href="mailto:[email protected]">[email protected]</a>   
    *     Waynesville, OH</p>
    </div>
    <!--end footer-->
    <br/>
    <p class="center" style="font-size:9px"><img
    src="/cgi-sys/Count.cgi?df=matt.dat|display=Counter|ft=6|md=5|frgb=228;224;224|dd=E"/>
    <span class="style1">Web Design by:   Maria Lee
      -  <a
    href="mailto:[email protected]">[email protected]</a> 
    -   (937)554-4116</span></p>
    </body>
    </html>

    Try moving the SpryHTMLDataSet.js script tag below the
    SpryData.js script tag.

  • Please Help! There has to be a quick .js fix for Spry dropdown to work for iPads...

    I know I can upgrade, download, purchase or any combination of these to get and use a new dropdown menu format that would work, but that is not what I want to work on learning today.  Our top coder/developer is out of town right now, and I am just trying to fix a menu bar that was done in CS4 with Spry 1.6.1, and I have to believe that someone out there knows the fix to get it to work on an ipad.  I can make the parent li not a link and it still does not work.  Here is my .JS code:
    // SpryMenuBar.js - version 0.12 - Spry Pre-Release 1.6.1
    // Copyright (c) 2006. Adobe Systems Incorporated.
    // All rights reserved.
    // Redistribution and use in source and binary forms, with or without
    // modification, are permitted provided that the following conditions are met:
    //   * Redistributions of source code must retain the above copyright notice,
    //     this list of conditions and the following disclaimer.
    //   * Redistributions in binary form must reproduce the above copyright notice,
    //     this list of conditions and the following disclaimer in the documentation
    //     and/or other materials provided with the distribution.
    //   * Neither the name of Adobe Systems Incorporated nor the names of its
    //     contributors may be used to endorse or promote products derived from this
    //     software without specific prior written permission.
    // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
    // AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
    // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
    // ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
    // LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
    // CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
    // SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
    // INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
    // CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
    // ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
    // POSSIBILITY OF SUCH DAMAGE.
    SpryMenuBar.js
    This file handles the JavaScript for Spry Menu Bar.  You should have no need
    to edit this file.  Some highlights of the MenuBar object is that timers are
    used to keep submenus from showing up until the user has hovered over the parent
    menu item for some time, as well as a timer for when they leave a submenu to keep
    showing that submenu until the timer fires.
    var Spry; if (!Spry) Spry = {}; if (!Spry.Widget) Spry.Widget = {};
    Spry.BrowserSniff = function()
              var b = navigator.appName.toString();
              var up = navigator.platform.toString();
              var ua = navigator.userAgent.toString();
              this.mozilla = this.ie = this.opera = this.safari = false;
              var re_opera = /Opera.([0-9\.]*)/i;
              var re_msie = /MSIE.([0-9\.]*)/i;
              var re_gecko = /gecko/i;
              var re_safari = /(applewebkit|safari)\/([\d\.]*)/i;
              var r = false;
              if ( (r = ua.match(re_opera))) {
                        this.opera = true;
                        this.version = parseFloat(r[1]);
              } else if ( (r = ua.match(re_msie))) {
                        this.ie = true;
                        this.version = parseFloat(r[1]);
              } else if ( (r = ua.match(re_safari))) {
                        this.safari = true;
                        this.version = parseFloat(r[2]);
              } else if (ua.match(re_gecko)) {
                        var re_gecko_version = /rv:\s*([0-9\.]+)/i;
                        r = ua.match(re_gecko_version);
                        this.mozilla = true;
                        this.version = parseFloat(r[1]);
              this.windows = this.mac = this.linux = false;
              this.Platform = ua.match(/windows/i) ? "windows" :
                                                      (ua.match(/linux/i) ? "linux" :
                                                      (ua.match(/mac/i) ? "mac" :
                                                      ua.match(/unix/i)? "unix" : "unknown"));
              this[this.Platform] = true;
              this.v = this.version;
              if (this.safari && this.mac && this.mozilla) {
                        this.mozilla = false;
    Spry.is = new Spry.BrowserSniff();
    // Constructor for Menu Bar
    // element should be an ID of an unordered list (<ul> tag)
    // preloadImage1 and preloadImage2 are images for the rollover state of a menu
    Spry.Widget.MenuBar = function(element, opts)
              this.init(element, opts);
    Spry.Widget.MenuBar.prototype.init = function(element, opts)
              this.element = this.getElement(element);
              // represents the current (sub)menu we are operating on
              this.currMenu = null;
              this.showDelay = 250;
              this.hideDelay = 600;
              if(typeof document.getElementById == 'undefined' || (navigator.vendor == 'Apple Computer, Inc.' && typeof window.XMLHttpRequest == 'undefined') || (Spry.is.ie && typeof document.uniqueID == 'undefined'))
                        // bail on older unsupported browsers
                        return;
              // Fix IE6 CSS images flicker
              if (Spry.is.ie && Spry.is.version < 7){
                        try {
                                  document.execCommand("BackgroundImageCache", false, true);
                        } catch(err) {}
              this.upKeyCode = Spry.Widget.MenuBar.KEY_UP;
              this.downKeyCode = Spry.Widget.MenuBar.KEY_DOWN;
              this.leftKeyCode = Spry.Widget.MenuBar.KEY_LEFT;
              this.rightKeyCode = Spry.Widget.MenuBar.KEY_RIGHT;
              this.escKeyCode = Spry.Widget.MenuBar.KEY_ESC;
              this.hoverClass = 'MenuBarItemHover';
              this.subHoverClass = 'MenuBarItemSubmenuHover';
              this.subVisibleClass ='MenuBarSubmenuVisible';
              this.hasSubClass = 'MenuBarItemSubmenu';
              this.activeClass = 'MenuBarActive';
              this.isieClass = 'MenuBarItemIE';
              this.verticalClass = 'MenuBarVertical';
              this.horizontalClass = 'MenuBarHorizontal';
              this.enableKeyboardNavigation = true;
              this.hasFocus = false;
              // load hover images now
              if(opts)
                        for(var k in opts)
                                  if (typeof this[k] == 'undefined')
                                            var rollover = new Image;
                                            rollover.src = opts[k];
                        Spry.Widget.MenuBar.setOptions(this, opts);
              // safari doesn't support tabindex
              if (Spry.is.safari)
                        this.enableKeyboardNavigation = false;
              if(this.element)
                        this.currMenu = this.element;
                        var items = this.element.getElementsByTagName('li');
                        for(var i=0; i<items.length; i++)
                                  if (i > 0 && this.enableKeyboardNavigation)
                                            items[i].getElementsByTagName('a')[0].tabIndex='-1';
                                  this.initialize(items[i], element);
                                  if(Spry.is.ie)
                                            this.addClassName(items[i], this.isieClass);
                                            items[i].style.position = "static";
                        if (this.enableKeyboardNavigation)
                                  var self = this;
                                  this.addEventListener(document, 'keydown', function(e){self.keyDown(e); }, false);
                        if(Spry.is.ie)
                                  if(this.hasClassName(this.element, this.verticalClass))
                                            this.element.style.position = "relative";
                                  var linkitems = this.element.getElementsByTagName('a');
                                  for(var i=0; i<linkitems.length; i++)
                                            linkitems[i].style.position = "relative";
    Spry.Widget.MenuBar.KEY_ESC = 27;
    Spry.Widget.MenuBar.KEY_UP = 38;
    Spry.Widget.MenuBar.KEY_DOWN = 40;
    Spry.Widget.MenuBar.KEY_LEFT = 37;
    Spry.Widget.MenuBar.KEY_RIGHT = 39;
    Spry.Widget.MenuBar.prototype.getElement = function(ele)
              if (ele && typeof ele == "string")
                        return document.getElementById(ele);
              return ele;
    Spry.Widget.MenuBar.prototype.hasClassName = function(ele, className)
              if (!ele || !className || !ele.className || ele.className.search(new RegExp("\\b" + className + "\\b")) == -1)
                        return false;
              return true;
    Spry.Widget.MenuBar.prototype.addClassName = function(ele, className)
              if (!ele || !className || this.hasClassName(ele, className))
                        return;
              ele.className += (ele.className ? " " : "") + className;
    Spry.Widget.MenuBar.prototype.removeClassName = function(ele, className)
              if (!ele || !className || !this.hasClassName(ele, className))
                        return;
              ele.className = ele.className.replace(new RegExp("\\s*\\b" + className + "\\b", "g"), "");
    // addEventListener for Menu Bar
    // attach an event to a tag without creating obtrusive HTML code
    Spry.Widget.MenuBar.prototype.addEventListener = function(element, eventType, handler, capture)
              try
                        if (element.addEventListener)
                                  element.addEventListener(eventType, handler, capture);
                        else if (element.attachEvent)
                                  element.attachEvent('on' + eventType, handler);
              catch (e) {}
    // createIframeLayer for Menu Bar
    // creates an IFRAME underneath a menu so that it will show above form controls and ActiveX
    Spry.Widget.MenuBar.prototype.createIframeLayer = function(menu)
              var layer = document.createElement('iframe');
              layer.tabIndex = '-1';
              layer.src = 'javascript:""';
              layer.frameBorder = '0';
              layer.scrolling = 'no';
              menu.parentNode.appendChild(layer);
              layer.style.left = menu.offsetLeft + 'px';
              layer.style.top = menu.offsetTop + 'px';
              layer.style.width = menu.offsetWidth + 'px';
              layer.style.height = menu.offsetHeight + 'px';
    // removeIframeLayer for Menu Bar
    // removes an IFRAME underneath a menu to reveal any form controls and ActiveX
    Spry.Widget.MenuBar.prototype.removeIframeLayer =  function(menu)
              var layers = ((menu == this.element) ? menu : menu.parentNode).getElementsByTagName('iframe');
              while(layers.length > 0)
                        layers[0].parentNode.removeChild(layers[0]);
    // clearMenus for Menu Bar
    // root is the top level unordered list (<ul> tag)
    Spry.Widget.MenuBar.prototype.clearMenus = function(root)
              var menus = root.getElementsByTagName('ul');
              for(var i=0; i<menus.length; i++)
                        this.hideSubmenu(menus[i]);
              this.removeClassName(this.element, this.activeClass);
    // bubbledTextEvent for Menu Bar
    // identify bubbled up text events in Safari so we can ignore them
    Spry.Widget.MenuBar.prototype.bubbledTextEvent = function()
              return Spry.is.safari && (event.target == event.relatedTarget.parentNode || (event.eventPhase == 3 && event.target.parentNode == event.relatedTarget));
    // showSubmenu for Menu Bar
    // set the proper CSS class on this menu to show it
    Spry.Widget.MenuBar.prototype.showSubmenu = function(menu)
              if(this.currMenu)
                        this.clearMenus(this.currMenu);
                        this.currMenu = null;
              if(menu)
                        this.addClassName(menu, this.subVisibleClass);
                        if(typeof document.all != 'undefined' && !Spry.is.opera && navigator.vendor != 'KDE')
                                  if(!this.hasClassName(this.element, this.horizontalClass) || menu.parentNode.parentNode != this.element)
                                            menu.style.top = menu.parentNode.offsetTop + 'px';
                        if(Spry.is.ie && Spry.is.version < 7)
                                  this.createIframeLayer(menu);
              this.addClassName(this.element, this.activeClass);
    // hideSubmenu for Menu Bar
    // remove the proper CSS class on this menu to hide it
    Spry.Widget.MenuBar.prototype.hideSubmenu = function(menu)
              if(menu)
                        this.removeClassName(menu, this.subVisibleClass);
                        if(typeof document.all != 'undefined' && !Spry.is.opera && navigator.vendor != 'KDE')
                                  menu.style.top = '';
                                  menu.style.left = '';
                        if(Spry.is.ie && Spry.is.version < 7)
                                  this.removeIframeLayer(menu);
    // initialize for Menu Bar
    // create event listeners for the Menu Bar widget so we can properly
    // show and hide submenus
    Spry.Widget.MenuBar.prototype.initialize = function(listitem, element)
              var opentime, closetime;
              var link = listitem.getElementsByTagName('a')[0];
              var submenus = listitem.getElementsByTagName('ul');
              var menu = (submenus.length > 0 ? submenus[0] : null);
              if(menu)
                        this.addClassName(link, this.hasSubClass);
              if(!Spry.is.ie)
                        // define a simple function that comes standard in IE to determine
                        // if a node is within another node
                        listitem.contains = function(testNode)
                                  // this refers to the list item
                                  if(testNode == null)
                                            return false;
                                  if(testNode == this)
                                            return true;
                                  else
                                            return this.contains(testNode.parentNode);
              // need to save this for scope further down
              var self = this;
              this.addEventListener(listitem, 'mouseover', function(e){self.mouseOver(listitem, e);}, false);
              this.addEventListener(listitem, 'mouseout', function(e){if (self.enableKeyboardNavigation) self.clearSelection(); self.mouseOut(listitem, e);}, false);
              if (this.enableKeyboardNavigation)
                        this.addEventListener(link, 'blur', function(e){self.onBlur(listitem);}, false);
                        this.addEventListener(link, 'focus', function(e){self.keyFocus(listitem, e);}, false);
    Spry.Widget.MenuBar.prototype.keyFocus = function (listitem, e)
              this.lastOpen = listitem.getElementsByTagName('a')[0];
              this.addClassName(this.lastOpen, listitem.getElementsByTagName('ul').length > 0 ? this.subHoverClass : this.hoverClass);
              this.hasFocus = true;
    Spry.Widget.MenuBar.prototype.onBlur = function (listitem)
              this.clearSelection(listitem);
    Spry.Widget.MenuBar.prototype.clearSelection = function(el){
              //search any intersection with the current open element
              if (!this.lastOpen)
                        return;
              if (el)
                        el = el.getElementsByTagName('a')[0];
                        // check children
                        var item = this.lastOpen;
                        while (item != this.element)
                                  var tmp = el;
                                  while (tmp != this.element)
                                            if (tmp == item)
                                                      return;
                                            try{
                                                      tmp = tmp.parentNode;
                                            }catch(err){break;}
                                  item = item.parentNode;
              var item = this.lastOpen;
              while (item != this.element)
                        this.hideSubmenu(item.parentNode);
                        var link = item.getElementsByTagName('a')[0];
                        this.removeClassName(link, this.hoverClass);
                        this.removeClassName(link, this.subHoverClass);
                        item = item.parentNode;
              this.lastOpen = false;
    Spry.Widget.MenuBar.prototype.keyDown = function (e)
              if (!this.hasFocus)
                        return;
              if (!this.lastOpen)
                        this.hasFocus = false;
                        return;
              var e = e|| event;
              var listitem = this.lastOpen.parentNode;
              var link = this.lastOpen;
              var submenus = listitem.getElementsByTagName('ul');
              var menu = (submenus.length > 0 ? submenus[0] : null);
              var hasSubMenu = (menu) ? true : false;
              var opts = [listitem, menu, null, this.getSibling(listitem, 'previousSibling'), this.getSibling(listitem, 'nextSibling')];
              if (!opts[3])
                        opts[2] = (listitem.parentNode.parentNode.nodeName.toLowerCase() == 'li')?listitem.parentNode.parentNode:null;
              var found = 0;
              switch (e.keyCode){
                        case this.upKeyCode:
                                  found = this.getElementForKey(opts, 'y', 1);
                                  break;
                        case this.downKeyCode:
                                  found = this.getElementForKey(opts, 'y', -1);
                                  break;
                        case this.leftKeyCode:
                                  found = this.getElementForKey(opts, 'x', 1);
                                  break;
                        case this.rightKeyCode:
                                  found = this.getElementForKey(opts, 'x', -1);
                                  break;
                        case this.escKeyCode:
                        case 9:
                                  this.clearSelection();
                                  this.hasFocus = false;
                        default: return;
              switch (found)
                        case 0: return;
                        case 1:
                                  //subopts
                                  this.mouseOver(listitem, e);
                                  break;
                        case 2:
                                  //parent
                                  this.mouseOut(opts[2], e);
                                  break;
                        case 3:
                        case 4:
                                  // left - right
                                  this.removeClassName(link, hasSubMenu ? this.subHoverClass : this.hoverClass);
                                  break;
              var link = opts[found].getElementsByTagName('a')[0];
              if (opts[found].nodeName.toLowerCase() == 'ul')
                        opts[found] = opts[found].getElementsByTagName('li')[0];
              this.addClassName(link, opts[found].getElementsByTagName('ul').length > 0 ? this.subHoverClass : this.hoverClass);
              this.lastOpen = link;
              opts[found].getElementsByTagName('a')[0].focus();
            //stop further event handling by the browser
              return Spry.Widget.MenuBar.stopPropagation(e);
    Spry.Widget.MenuBar.prototype.mouseOver = function (listitem, e)
              var link = listitem.getElementsByTagName('a')[0];
              var submenus = listitem.getElementsByTagName('ul');
              var menu = (submenus.length > 0 ? submenus[0] : null);
              var hasSubMenu = (menu) ? true : false;
              if (this.enableKeyboardNavigation)
                        this.clearSelection(listitem);
              if(this.bubbledTextEvent())
                        // ignore bubbled text events
                        return;
              if (listitem.closetime)
                        clearTimeout(listitem.closetime);
              if(this.currMenu == listitem)
                        this.currMenu = null;
              // move the focus too
              if (this.hasFocus)
                        link.focus();
              // show menu highlighting
              this.addClassName(link, hasSubMenu ? this.subHoverClass : this.hoverClass);
              this.lastOpen = link;
              if(menu && !this.hasClassName(menu, this.subHoverClass))
                        var self = this;
                        listitem.opentime = window.setTimeout(function(){self.showSubmenu(menu);}, this.showDelay);
    Spry.Widget.MenuBar.prototype.mouseOut = function (listitem, e)
              var link = listitem.getElementsByTagName('a')[0];
              var submenus = listitem.getElementsByTagName('ul');
              var menu = (submenus.length > 0 ? submenus[0] : null);
              var hasSubMenu = (menu) ? true : false;
              if(this.bubbledTextEvent())
                        // ignore bubbled text events
                        return;
              var related = (typeof e.relatedTarget != 'undefined' ? e.relatedTarget : e.toElement);
              if(!listitem.contains(related))
                        if (listitem.opentime)
                                  clearTimeout(listitem.opentime);
                        this.currMenu = listitem;
                        // remove menu highlighting
                        this.removeClassName(link, hasSubMenu ? this.subHoverClass : this.hoverClass);
                        if(menu)
                                  var self = this;
                                  listitem.closetime = window.setTimeout(function(){self.hideSubmenu(menu);}, this.hideDelay);
                        if (this.hasFocus)
                                  link.blur();
    Spry.Widget.MenuBar.prototype.getSibling = function(element, sibling)
              var child = element[sibling];
              while (child && child.nodeName.toLowerCase() !='li')
                        child = child[sibling];
              return child;
    Spry.Widget.MenuBar.prototype.getElementForKey = function(els, prop, dir)
              var found = 0;
              var rect = Spry.Widget.MenuBar.getPosition;
              var ref = rect(els[found]);
              var hideSubmenu = false;
              //make the subelement visible to compute the position
              if (els[1] && !this.hasClassName(els[1], this.MenuBarSubmenuVisible))
                        els[1].style.visibility = 'hidden';
                        this.showSubmenu(els[1]);
                        hideSubmenu = true;
              var isVert = this.hasClassName(this.element, this.verticalClass);
              var hasParent = els[0].parentNode.parentNode.nodeName.toLowerCase() == 'li' ? true : false;
              for (var i = 1; i < els.length; i++){
                        //when navigating on the y axis in vertical menus, ignore children and parents
                        if(prop=='y' && isVert && (i==1 || i==2))
                                  continue;
                        //when navigationg on the x axis in the FIRST LEVEL of horizontal menus, ignore children and parents
                        if(prop=='x' && !isVert && !hasParent && (i==1 || i==2))
                                  continue;
                        if (els[i])
                                  var tmp = rect(els[i]);
                                  if ( (dir * tmp[prop]) < (dir * ref[prop]))
                                            ref = tmp;
                                            found = i;
              // hide back the submenu
              if (els[1] && hideSubmenu){
                        this.hideSubmenu(els[1]);
                        els[1].style.visibility =  '';
              return found;
    Spry.Widget.MenuBar.camelize = function(str)
              if (str.indexOf('-') == -1){
                        return str;
              var oStringList = str.split('-');
              var isFirstEntry = true;
              var camelizedString = '';
              for(var i=0; i < oStringList.length; i++)
                        if(oStringList[i].length>0)
                                  if(isFirstEntry)
                                            camelizedString = oStringList[i];
                                            isFirstEntry = false;
                                  else
                                            var s = oStringList[i];
                                            camelizedString += s.charAt(0).toUpperCase() + s.substring(1);
              return camelizedString;
    Spry.Widget.MenuBar.getStyleProp = function(element, prop)
              var value;
              try
                        if (element.style)
                                  value = element.style[Spry.Widget.MenuBar.camelize(prop)];
                        if (!value)
                                  if (document.defaultView && document.defaultView.getComputedStyle)
                                            var css = document.defaultView.getComputedStyle(element, null);
                                            value = css ? css.getPropertyValue(prop) : null;
                                  else if (element.currentStyle)
                                                      value = element.currentStyle[Spry.Widget.MenuBar.camelize(prop)];
              catch (e) {}
              return value == 'auto' ? null : value;
    Spry.Widget.MenuBar.getIntProp = function(element, prop)
              var a = parseInt(Spry.Widget.MenuBar.getStyleProp(element, prop),10);
              if (isNaN(a))
                        return 0;
              return a;
    Spry.Widget.MenuBar.getPosition = function(el, doc)
              doc = doc || document;
              if (typeof(el) == 'string') {
                        el = doc.getElementById(el);
              if (!el) {
                        return false;
              if (el.parentNode === null || Spry.Widget.MenuBar.getStyleProp(el, 'display') == 'none') {
                        //element must be visible to have a box
                        return false;
              var ret = {x:0, y:0};
              var parent = null;
              var box;
              if (el.getBoundingClientRect) { // IE
                        box = el.getBoundingClientRect();
                        var scrollTop = doc.documentElement.scrollTop || doc.body.scrollTop;
                        var scrollLeft = doc.documentElement.scrollLeft || doc.body.scrollLeft;
                        ret.x = box.left + scrollLeft;
                        ret.y = box.top + scrollTop;
              } else if (doc.getBoxObjectFor) { // gecko
                        box = doc.getBoxObjectFor(el);
                        ret.x = box.x;
                        ret.y = box.y;
              } else { // safari/opera
                        ret.x = el.offsetLeft;
                        ret.y = el.offsetTop;
                        parent = el.offsetParent;
                        if (parent != el) {
                                  while (parent) {
                                            ret.x += parent.offsetLeft;
                                            ret.y += parent.offsetTop;
                                            parent = parent.offsetParent;
                        // opera & (safari absolute) incorrectly account for body offsetTop
                        if (Spry.is.opera || Spry.is.safari && Spry.Widget.MenuBar.getStyleProp(el, 'position') == 'absolute')
                                  ret.y -= doc.body.offsetTop;
              if (el.parentNode)
                                  parent = el.parentNode;
              else
                        parent = null;
              if (parent.nodeName){
                        var cas = parent.nodeName.toUpperCase();
                        while (parent && cas != 'BODY' && cas != 'HTML') {
                                  cas = parent.nodeName.toUpperCase();
                                  ret.x -= parent.scrollLeft;
                                  ret.y -= parent.scrollTop;
                                  if (parent.parentNode)
                                            parent = parent.parentNode;
                                  else
                                            parent = null;
              return ret;
    Spry.Widget.MenuBar.stopPropagation = function(ev)
              if (ev.stopPropagation)
                        ev.stopPropagation();
              else
                        ev.cancelBubble = true;
              if (ev.preventDefault)
                        ev.preventDefault();
              else
                        ev.returnValue = false;
    Spry.Widget.MenuBar.setOptions = function(obj, optionsObj, ignoreUndefinedProps)
              if (!optionsObj)
                        return;
              for (var optionName in optionsObj)
                        if (ignoreUndefinedProps && optionsObj[optionName] == undefined)
                                  continue;
                        obj[optionName] = optionsObj[optionName];

    Try the following changes to the JS file
    Lines 103 and 104 change the values
    this.showDelay = 100; // was 250
    this.hideDelay = 200; // was 600
    Comment out line 286
    Spry.Widget.MenuBar.prototype.bubbledTextEvent = function()
    //    return Spry.is.safari && (event.target == event.relatedTarget.parentNode || (event.eventPhase == 3 && event.target.parentNode == event.relatedTarget));
    Comment out line 366 and add new lines 366 and 367
    var self = this;
    this.addEventListener(listitem, 'click', function(e){self.Click(listitem, e);}, false);
    this.addEventListener(listitem, 'click', function(e){self.mouseOver(listitem, e);}, false);
    //   this.addEventListener(listitem, 'mouseover', function(e){self.mouseOver(listitem, e);}, false);
    this.addEventListener(listitem, 'mouseout', function(e){if (self.enableKeyboardNavigation) self.clearSelection(); self.mouseOut(listitem, e);}, false);
    I have not tested the above changes ontouch screens; they do seem to work Ok on desktops.
    NOTE: Line numbers could be different because of the difference in our versions.

  • How to edit xml file particular value. and how to send xml file over ip address 192.168.2.10 using ftp

    how to edit xml file particular value. and how to send xml file over ip address 192.168.2.10 device using ftp through Ethernet

    Hello
    For using FTP function in LabVIEW, I recommend you to check this document: FTP Basics
    Also, take a look at FTP Browser.vi, which is available at the Example Finder.
    To edit a XML file, try to use VIs in XML palette. Maybe Write to XML.vi helps you.
    Post your current VI if possible.
    Regards
    Mondoni

  • Editing xml in java

    hello everybody,
    i'm trying to write a java application for editing xml documents.
    I know It is possible to use xsl stylesheets to transform xml documents but it is possible to display the result of the transformation process in java?
    I mean,
    I make the transformation XML --->XSL ---->but i don't want to view the output in a browser!! I want to view that in my java application !!
    Can i display this output in swing objects?? Can i modify this output??
    Thanks to all.

    I make the transformation XML --->XSL ---->but i don'tYou mean XML+XSLT=>XML
    want to view the output in a browser!! I want to view
    that in my java application !!
    Can i display this output in swing objects?? Can i
    modify this output??Here is an example for saxon:
    // I didn't compile or run this code, please refer to API documentation for more detail instructions.
    // Transformer factory.
    TransformerFactory transformerFactory = TransformerFactory.newInstance();
    // XML source file
    File source_file = new File("xml_file.xml");
    // output file
    File outputFile = new File( "output.out");
    // Transformation source
    Source source = new StreamSource(source_file);
    // Transformation result
    out = new java.io.FileOutputStream(outputFile);
    StreamResult result = new StreamResult(out);
    result.setSystemId(outputFile.toURI().toString());
    // Must be synchronized by factory, since factory isn't thread safe
    synchronized (transformerFactory) {
    // obtain a transformer
    transformer = transformerFactory.newTransformer(new StreamSource(new File("xslt_template.xsl")));
    // perform transformation
    transformer.transform(source, result);
    As you can see, you easely can redirect result to your Swing editor.
    If you don't want to bother about streams and so on, you can use this example to write the result into the file, and open the file in your editor.

  • How to edit template for report generator in stimulus profile editor in Veristand 2011?

    How to edit template for report generator in stimulus profile editor in veristand 2011?
    We are using Veristand 2011.When we run any sequence in stimulus profle editor,we get test results in form of ATML file.
    We want to customise the template for this test result generation as per our requirement.
    For example:
    Test case No.: Description of test case.
    Objectives: Explanation of objectives.
    Result: Passed/ Failed.
    Graph: If any.
    Please suggest how to do this.

    You cant really change too much in the report, you can customize TRML.xsl which is created every time in the Test Results\UUT 1 folder and that would give you some flexibility on what is shown. I dont know what a xsl is actually able to do in terms of composing data from multiple files (if at all possible) but it definitely allows you to change the visual format of the existing xml data.
    Otherwise I modified the xsl to customize the look of the xml report when opened in a browser to have less clutter and some coloring on the Pass/Fail but, the reports are XML files anyway so it's easy to extract data out of them and you can probably write your own report creation tool to compose the report in whatever format you like.

  • SQL to XML to Spry Table not working

    I have created a table that uses PHP to pull mySQL data... it
    works fine.
    But if I copy the SQL statement into another php file, then
    use the "Export to XML" function in order to use that XML file as a
    Spry dataset, so that I can sort my columns, I receive an error
    while creating the dataset.
    The problem is in the WHERE statement in the SQL. The code is
    attached... But here it is as well
    WHERE subtbltripparticipants.tripid = '$_GET[trip_id]'
    It's the $_GET that is freaking it out. This code is supposed
    to pull the variable from the URL. It works in a regular recordset
    in DW, but not in a recordset that is exported to XML. Is there a
    different syntax to use? How can I get the variable that is sent
    via URL to be used in the Spry dataset as a filter?
    When I created the dataset, and choose the php file with the
    SQL in it as the "XML Source", I get "Expected comment or
    processing instruction(2,1) in the "Row Element" section, where the
    nodes should show up. I don't understand this error and don't
    understand why the SQL works in a standard table, but not in an XML
    export for Spry.
    Please advise. Thanks,
    Bubba

    Ok,
    I tried that and it basically bring you to OLI7BW as suggested above.
    1. At this point, how do you know which of these it is actually filling:
    2LIS_11_VAHDR Sales Document Header Data
    2LIS_11_VAITM Sales Document Item Data
    2LIS_11_VAKON Sales Document Condition
    2LIS_11_VASCL Sales Document Schedule Line
    2LIS_11_VASTH Sales Document Header Status
    2LIS_11_VASTI Sales Document Item Status
    2LIS_11_V_ITM Sales-Shipping Allocation Item Data
    2LIS_11_V_SCL Sales-Shipping Allocation Schedule Line
    2LIS_11_V_SSL Sales Document Order Delivery
    2. Also, what does it mean when after running OLI7BW wide, with no restriction on my system, still rsa3 shows no records for 2LIS_11_V_SCL?
    Any other way to confirm that there may not be any data in 2LIS_11_V_SCL?
    Or any way, to make an entry which reflect in 2LIS_11_V_SCL so that I can verify if OLI7BW actually fills the setup table?
    Thanks

  • How to pass apex item value into custom xml for chart or guage?

    Re-opening the old thread : Re: How to pass apex item value into custom xml for chart or guage?
    Which was not answered.
    Roel - Thanks. Its working - but in a semi quotes in the custom XML
    <pointers>
    <pointer value= '&P5_RUNNING_TOTAL.'
    <label enabled="true">
    <position placement_mode="ByPoint" x="50" y="15" />
    <format>{%Value}{numDecimals:1}</format>
    <background enabled="false" />
    </label>
    </pointer>
    </pointers>This question was helpful for us to resolving one recent thread : AnyChart - set Dial axis intervals dynamically?
    (Re: AnyChart - set Dial axis intervals dynamically?
    Edited by: P.Ranish on Dec 13, 2012 6:23 AM

    P.Ranish wrote:
    Is there any update for this question ???
    Edited by: P.Ranish on Dec 13, 2012 3:36 AMNo, And there won't be in the future.
    Please stop posting followup's to old threads, if you have a real problem please search the forum first and post a new question with all information
    Roel wrote:
    Try using &P5_RUNNING_TOTAL. or #P5_RUNNING_TOTAL#Just to make it clear - this will only work if page is reloaded after setting the item values dynamically via AJAX

  • Custom Edit Page for Portlets

    Hi
    I'm looking to customize the look and feel of the edit page for a portlet programmatically. I have extended my own class from the DefaultContainerRenderer class and have overridden the renderDesignFormBodyBegin() method.
    And have also made an entry into the provider.xml for this as follows
    <portlet class="oracle.portal.provider.v2.DefaultPortletDefinition">
    <id>3</id>
    <name>SynergyLatestIDDBDrugs</name>
    <title>SynergyLatestIDDBDrugs</title>
    <description>SynergyLatestIDDBDrugs</description>
    <timeout>40</timeout>
    <showEdit>true</showEdit>
    <showEditDefault>true</showEditDefault>
    <showDetails>true</showDetails>
    <containerRenderer>com.tysynergy.container.SynergyLatestIDDBDrugsContainer</containerRenderer> <renderer class="oracle.portal.provider.v2.render.RenderManager">
    <autoRedirect>true</autoRedirect>
    <contentType>text/html</contentType>
    <showPage class="com.tsynergy.renderer.SynergyLatestIDDBDrugs"/>
    <editPage class="com.tsynergy.renderer.SynergyLatestIDDBDrugsEdit"/>
    <editDefaultsPage class="com.tsynergy.renderer.SynergyLatestIDDBDrugsEdit"/>
    </renderer>
    <personalizationManager class="oracle.portal.provider.v2.personalize.PrefStorePersonalizationManager">
    <dataClass>com.tsynergy.personalize.SynergyLatestIDDBDrugsPersonalize</dataClass>
    </personalizationManager>
    </portlet>
    But I get the following error -
    oracle.portal.utils.xml.v2.NodeHandlerException: Class oracle.portal.provider.v2.DefaultProviderDefinition has no set or add method for tag "containerRenderer"
    Has anyone come across this before?
    Deepak

    Hi
    Thanks.
    I got rid of my earlier error as I was using the conatinerRenderer tag in the wrong way. It should have been
    &lt;containerRenderer class="com.tsynergy.container.SynergyLatestIDDBDrugsContainer"/&gt;
    Now I get to display the my edit content; But I still haven't been able to get rid of the top default portal banner that appears on my edit page. It has the default logo gif and the link to the home page.
    I can now put my own form and &lt;input&gt; types, Just need to get rid of the default banner now.
    Deepak

Maybe you are looking for