CS3 JS How to access styles?

Hi
I'm having problems accessing styles (paragraph, object, table &c.) directly by name.
(following examples might not be quite right. I can't test them on my home computer)
My first attempt was
app.myDoc.tableStyles.item("name");
this only works for styles not organised in CS3's groups
2.
I can access anything by myDoc.whateverStyles.whateverSylesGrops[x]...whateverStyles.item("name")
BUT anyone who rearanges the styles in their palette will break the script's functionality
3. there is an allStyles() or everyStyle() (I don't remember it precisely) method. But that would return an Array. And arrays (at least in my experience) answer only to numerical indexes, not to names.
So having used up all options I know of I gave up.
Is there anything I missed?
Thanks for help

With the power comes the responsibility. With all my clients so far, they've agreed to live by the rule that says that all their style names will be unique even though they're using groups. That makes it easy to just loop through all the styles until you find the one with the name you're looking for.
And if the user forgets and dupes the names, he might or might not get the right result.
Dave

Similar Messages

  • How  to access style related properties ?

    Hi All,
    how  to access applied live drop shadow of the art item in the plugin?
    is any direct API available in adobe sdk .
    currently i am using adobe cc.
    Thanks in advanced.
    Regards
    Ashish.

    Live Effects are stored in the dictionary for the art, and it varies by effect. I suggest grabbing this tool (I wrote it):
    Debug Dump Tool
    You should be able to use that to examine the dictionary of art with the Live Shadow effect on it. If its not obvious what's what, just dump the dictionary, change one of the parameters to a different value, and then dump it again.

  • [CS3 JS] How To Access Custom Metadata?

    I have InCopy documents that contain custom XMP metadata in two namespaces, Dublin Core and PRISM, e.g.:<br /><br />    ...<br />    <rdf:Description<br />      rdf:about=""><br />      <dc:format<br />        xmlns:dc="http://purl.org/dc/elements/1.1/">application/x-incopy</dc:format><br />      <dc:title>Chickens and You</dc:title><br />    </rdf:Description><br />    <rdf:Description<br />      rdf:about=""><br />      <prism:publicationName<br />        xmlns:prism="http://prismstandard.org/namespaces/basic/1.2/"<br />        >Poultry Daily</prism:publicationName><br />    </rdf:Description><br />    ...<br /><br />In my JavaScript, I can access the Dublin core values but cannot access the PRISM values and I'm not sure why not.<br /><br />For example, I have this:<br /><br />doc = app.activeDocument;<br />metadata = doc.metadataPreferences;<br /><br />namespaces["dc"] = "http://purl.org/dc/elements/1.1/";<br />namespaces["prism"] = "http://prismstandard.org/namespaces/basic/1.2/";<br /><br />$.writeln("dc:title=" + <br />     metadata.getProperty(namespaces["dc"], <br />          "title/*[1]"))<br />// Returns expected result "Chickens and You"<br /><br />$.writeln("prism:publicationName=" + <br />     metadata.getProperty(namespaces["prism"], <br />          "publicationName/*[1]"))<br />// Returns unexpected empty result, should be "Poultry Daily".<br /><br />If I do metadata.save() I see the PRISM metadata in the saved result:<br /><br />     <rdf:Description rdf:about=""<br />            xmlns:prism="http://prismstandard.org/namespaces/basic/1.2/"><br />         <prism:publicationName>Poultry Daily</prism:publicationName><br />     </rdf:Description><br /><br />So I'm sort of at a loss but I suspect that I don't really understand what the path value should be--I haven't been able to find any clear documentation on what the path is addressing or how its actually interpreted.<br /><br />What am I missing or doing wrong?<br /><br />Thanks,<br /><br />Eliot

    [email protected] wrote:
    > Dude, I started that thread :-)
    Missed that. It's been a long week.
    The problem is this line (probably).
    metadata.getProperty(namespaces["prism"], "publicationName/*[1]")
    You apparently copied the syntax from dc:title in the previous line. dc:title is
    an 'Lang Alt' kind of property which is, effectively, an array. Your
    prism:publicationName is a simple value property. I suspect that the "[1]"
    syntax (and possible the "/*" before it) are what's causing problems.
    I don't recall seeing docs for this either.
    -X

  • I installed plugins Vertus Fluid Mask and Imagenomic Portraiture but I do not see it under the filters tab like I do in CS3.  How do I access it through Photoshop CC.

    I installed plugins Vertus Fluid Mask and Imagenomic Portraiture but I do not see it under the filters tab like I do in CS3.  How do I access it through Photoshop CC?

    Good day!
    Have you installed the Photoshop-version-appropriate versions of the plug-ins?
    Regards,
    Pfaffenbichler

  • CS3 and OnLocation.. how to access/install?

    Hi all, this is a really noddy question I know, but having installed all of CS3 Master Collection, I can't seem to see how to access OnLocation ?! Am I being a bit blonde?
    thanks!
    >Joe

    OnLocation for CS3 was supplied on a separate disc with its own serial number.

  • How to access (any) soap / rest web services from widget

    Hi all,
    Is there an API, javascript library etc, which allows accessing (any) soap / rest webservices from widgets?
    I know I can access web services from sap j2ee with widget foundation, but I'm still not sure how to access "outside"
    web services.
    A blog entry about this topic would be greatly appreciated I think, not only by me.
    Regards,
    Ladislav

    As promised, below is the js lib source code. I did not see the attachement option, so you can just create a text file and save it with .js extension.
              function getHdrData( FuncName ) {
                return '<?xml version="1.0" encoding="UTF-8" ?>' +
                          '<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" ' +
                                             'xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" ' +
                                             'xmlns:xs="http://www.w3.org/2001/XMLSchema">' +
                          '<SOAP-ENV:Header><sapsess:Session ' +
                                    'xmlns:sapsess="http://www.sap.com/webas/630/soap/features/session/">' +
                                    '<enableSession>true</enableSession></sapsess:Session>'+
                          '</SOAP-ENV:Header><SOAP-ENV:Body><ns1:' +
                          FuncName +
                          ' xmlns:ns1=\'urn:sap-com:document:sap:soap:functions:mc-style\'>';
              function addVar ( VarName, VarValue ) {
                return '<' + VarName + '>' + VarValue  + '</' + VarName + '>';
              function getFtrData( FuncName ) {
              return '</ns1:' + FuncName + '></SOAP-ENV:Body></SOAP-ENV:Envelope>';
              function setTable ( TblName, TblType) {
                   return '<' + TblName + ' xsi:type=\'ns1:' + TblType + '\'>';
              function closeTable ( TblName) {
                   return '</' + TblName + '>';
              function startEntry( ) {
                   return '<item>';
              function endEntry( ) {
                   return '</item>';
    So the following is the basic on how to use this library:
    * Set up SOAP envelope
    * Get the header data
    getHdrData( SOAP operation name )
    * If the web service set up the table and record start tags
    setTable( variable name, table type ) - Optional
    Set new record tag: startEntry() ? Optional
    * Set up the fieldname or variable name
    addVar( variable name, variable value )
    * Set up the table and record end tags
    endEntry() ? Optional
    closeTable( variable name ) ? Optional
    * Set up the footer SOAP envelope
    Set footer data: getFtrData(SOAP operation name )
    So hopefully that will help you consume SAP Published web services.

  • How to access .asmx Web Service using JAVA? Newbie

    Hello Experts,
    Currently, I have a project where in I have to access a ,NET web service. It is made of C#. I just want to ask how will I start the accessing process? I made this simple equation on how my project is.
    Java Project + C#.Net Web Service = Integration
    1. Do i need to create a Web Service too for the Java Project? If yes, What are the necessary tools needed for the creation of this Java Web Service?
    2. The .NET Web Service is available online. (It is made by other people).
    3. Based on the equation, what is the equivalent technology for the + sign?
    4. Can you site a concrete example for accessing a web service?
    5. I'm new here. Totally I have no idea where to start.
    6. Thank you experts.
    Edited by: Benedict.Aluan on 05 30, 08 1:38 PM
    Edited by: Benedict.Aluan on 05 30, 08 1:39 PM

    Hello
    Thanks a lot for your help ...
    I am developing simple J2EE based web service client using IBM WSAD 5.1. I have used the following code to call .asmx web service in Java
    String url = "http://www.w3schools.com/webservices/tempconvert.asmx?wsdl";
         String namespace = "http://tempuri.org/";
         name = request.getParameter("txtName");
         try
              System.out.println("In Internet Service");
              ServiceFactory factory = ServiceFactory.newInstance();
              Service serv = factory.createService(new URL(url),new QName(namespace,"TempConvert"));
              System.out.println("Got Service......");
              Call obj = (Call)serv.createCall();
              System.out.println("Got Call......");
              obj.setProperty(Call.ENCODINGSTYLE_URI_PROPERTY,"");
              obj.setProperty(Call.OPERATION_STYLE_PROPERTY,"wrapped");
              obj.setTargetEndpointAddress(url);
              obj.setPortTypeName(new QName(namespace,"TempConvertSoap"));
              obj.setOperationName(new QName(namespace,"FahrenheitToCelsius"));
              obj.addParameter("param1",XMLType.XSD_STRING,String.class,ParameterMode.IN);
              obj.setReturnType(XMLType.XSD_STRING);
              System.out.println("Parameters Set.....");
              Object[] params = new Object[]{name};
              k = (String)obj.invoke(params);
              System.out.println("Result: "+k);
         catch(Exception e)
            System.out.println("Exception is : "+e);
        }But this code is throwing exception that
    Invalid Address "http://www.w3schools.com/webservices/tempconvert.asmx?wsdl"I have also tried this URL with Java Proxy. But it showing the same error.
    Plz can u tell me how to access .asmx web service ?
    Waiting 4 reply.

  • How to access a  web service(.wsdl) from portal component.

    Hi ,
    Is there any document/tutorial available on how to access a webservice from portal component ?
    I have found this linkhttps://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/com.sap.km.cm.docs/library/ep/g-i/how to access a web service.htm...
    but the urls in the link are not working...
    i want  to know the steps to access webs service and sample code if some body has already done that..
    Thanks for the help.
    Lakshmi

    Hi Lakshmi,
    See the links below:
    http://help.sap.com/saphelp_nw04/helpdata/en/f0/581140d72dc442e10000000a1550b0/content.htm
    http://help.sap.com/saphelp_nw04/helpdata/en/a3/918340d990ce62e10000000a155106/content.htm
    Hope this helps.
    Regards,
    Pooja.

  • How To Access HTTPS Web Service  in Application Module

    I need to know how to access HTTPS web service in application module.
    If you can provide the tutorial or guidance to achieve this really appreciate.
    Thanks
    Sameera

    Use the Web Service Proxy wizard in JDeveloper to create a class that calls your Web service, and then call this class from code in your AM.
    http://docs.oracle.com/cd/E16340_01/web.1111/b31974/web_services.htm#CJAHGIEF

  • How to access a web service from a XLet

    Hello,
    I am new in software development to ITV and I dint find too many usefull information teaching how to access a web service from a XLet running in a STB. Are there anybody who can give me some help, maybe sample or tutorial?
    Gratefull
    David

    hi,
    you can "borrow" the source code from [Yambo a free soft open source presentation engine (AKA XML microbrowser Xlet )|http://www.cineca.tv/labs/mhplab/index-en.html] both local and on a http remote connection.
    hope it helps..
    bye
    andrea

  • Memory Problem on 790fx-gd70 - how to access DDR Voltage in BIOS?

    I have been getting memory related problems on a 6 month old system. I could only boot from one stick of RAM (Corsair TW3X4G1333C9A) but even then system was not stable for gameplay or stability test though this stick did pass overnight memtest. I returned the board, cpu and memory for them to test. They diagnosed faulty RAM and replaced. Well it worked OK for 24 hours then I started getting BSOD "PFN_List_Corrupt" and "Memory_Management" crashes.
    I tested the new sticks and one fails memtest after a few seconds with 2378 errors and the other, although it passes memtest with 20 passes, crashes out straight away on Prime95 Blend Test (i.e. the one that stresses RAM).
    They suggested I enter DDR Voltage manually rather than relying on Auto but no matter what I seem to enable this option is greyed out. Does anyone know which settings need changing from defaults so I can get at the voltage section?
    I have tried swapping around the dimms but they are all the same regardless so not a slot problem. Now of course, I don't see it as a RAM problem either unless I am the unluckiest person to keep getting bad sticks. So now I think maybe something on the board or CPU is causing damage to the RAM or at least causing it to mis-report. Could a fault in the memory controller be doing this and if so how can I test for this?
    At my wit's end here. Hope someone has some ideas - either on how to access DDR Voltage in the BIOS or get to the cause of my problem.
    Many thanks.

    OK thanks for explaining a bit more  .  This power unit did get some very good reviews in the sub $100 from many sites and from these I thought it would suit my needs. I have arranged to try a friend's 650w next week.
    I think I am maybe not being clear.  I have had the system running OK for six months. I had had no need to test the ram and didn't bother with stability tests at that stage.  I am not a gamer and use my machine more for video and graphics work.  One thing I did notice from the start was the couple of games I do have on (Call of Duty and Fallout3) would give occasional freezes.  I put it down to my now rather old hot GPU which I would get around to replacing in due course.
    Now the real problems started recently when I got round to replacing the stock cooler with a Titan Fenrir.  Trouble with this is it overhangs Dimm1 but in moving around the memory sticks I seem to have opened a real can of worms.  I could only get it to boot from one of the sticks.  This stick passed memtest but would crash out of prime95 and games would freeze within a couple of minutes. 
    Now, the retailers here in the UK told me to send back board, cpu and RAM.  They tested all 3 but they only replaced the memory and as you can see from my first post the memory related problems have continued.  The memory by the way is in Corsair's list as "100% tested compatibility".  Is it possible that something about the CPU/Board that is damaging the RAM?  If a stick is failing memtest (it failed another test too called Windiag) is that definitive?  It is bad for sure or board/cpu misreporting?  Am I right in thinking memtest86 does cannot distinguish faulty RAM from faulty memory controller?  Is there a test I can do to check if the CPU alone is faulty?
    I don't know if this means anything to you guys but when I ran the prime95 (Blend) recently with both sticks in it failed straight away on 2 cores but went on running on the other 2. 
    One of my other frustrations is I don't know anyone else with am3 board or memory so swap things around.
    Any suggestions for pinning this down would be much appreciated.  Just don't assume my knowledge is as great as yours  .  But I do learn.  I never knew v x a=w for example. And I now know how to change DDR Voltage in the BIOS - I had been expecting a sub-menu where Auto was greyed out and in fact it was just sitting there waiting for me to press + and -.  Very embarassing that I spent hours trying to change this when the instructions on what to do were right there in the help column!

  • How to access a value from "List of Values" by giving a name?

    I have a "List Of Values" defined in my BI Report. It comprises list of label-value pairs.
    I have defined a parameter :p_Value for the above "List Of Values" defnition. this parameter is used in datasource sql defnition to filter the query results. I configured a template which has a table that shows all the parameters used for filtering query results. If I give <?$p_Value?> in the template then the parameter value is rendered on it. But I want the "name" of the parameter and not the value. Can anybody tell me how to access name of the parameter which refers to one of value in "List of Value" defnition?

    option 1:
    Can you get the value from the DB in the report sql ?
    You have the code, inside the report query, if you can get the decoded value form that
    option2:
    create another paramater, LOV and query, and make it as hidden, and use the first :param_1_value in the lov query in the second param and decode the value.
    Now , you can refer the :PARAM_2_value in template which will have decoded value.

  • How to give styles to my HTMLDocument inside a JTextPane?

    I have a JTextPane with a HTMLDocument attached to it. How can I style the text which is typed in? For example I want to set a larger font. How can I do this in my example?
    Another problem is that when I hit the alignment buttons the text is actually aligned according to the hit button but the JEditorPane doesn't show the text correctly. It also doesn't enter a line feed when typing ENTER key.
    Can someone help me on this please?
    import java.awt.BorderLayout;
    import java.awt.Dimension;
    import java.awt.Graphics;
    import java.awt.Graphics2D;
    import java.awt.RenderingHints;
    import java.awt.Toolkit;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    import java.io.IOException;
    import javax.swing.JButton;
    import javax.swing.JFrame;
    import javax.swing.JPanel;
    import javax.swing.JTextPane;
    import javax.swing.UIManager;
    import javax.swing.UnsupportedLookAndFeelException;
    import javax.swing.text.BadLocationException;
    import javax.swing.text.html.HTMLDocument;
    import javax.swing.text.html.HTMLEditorKit;
    public class AdditionalText extends JFrame implements ActionListener {
         private JButton leftAlign;
         private JButton centerAlign;
         private JButton rightAlign;
         private JTextPane editor;
         private JButton save;
         private JButton dump;
         public AdditionalText() {
              setTitle("Test Frame");
              JPanel topToolbar = new JPanel();
              leftAlign = new JButton("Left");
              centerAlign = new JButton("Center");
              rightAlign = new JButton("Right");
              ActionListener alignLeft = new HTMLEditorKit.AlignmentAction("alignLeft", 0);
              ActionListener alignCenter = new HTMLEditorKit.AlignmentAction("alignCenter", 1);
              ActionListener alignRight = new HTMLEditorKit.AlignmentAction("alignRight", 2);
              leftAlign.addActionListener(alignLeft);
              centerAlign.addActionListener(alignCenter);
              rightAlign.addActionListener(alignRight);
              topToolbar.add(leftAlign);
              topToolbar.add(centerAlign);
              topToolbar.add(rightAlign);
              editor = createEditor();
              JPanel bottomToolbar = new JPanel();
              save = new JButton("Save");
              save.addActionListener(this);
              dump = new JButton("Dump");
              dump.addActionListener(this);
              bottomToolbar.add(save);
              bottomToolbar.add(dump);
              getContentPane().add(BorderLayout.NORTH, topToolbar);
              getContentPane().add(BorderLayout.CENTER, editor);
              getContentPane().add(BorderLayout.SOUTH, bottomToolbar);
              setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
              Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
              setSize(new Dimension(640, 480));
              setLocation((screenSize.width - 640) / 2, (screenSize.height - 480) / 2);
         private JTextPane createEditor() {
              JTextPane textPane = new JTextPane() {
                   public void paintComponent(Graphics g) {
                        Graphics2D g2 = (Graphics2D) g;
                        g2.setRenderingHint(RenderingHints.KEY_ALPHA_INTERPOLATION, RenderingHints.VALUE_ALPHA_INTERPOLATION_QUALITY);
                        g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
                        g2.setRenderingHint(RenderingHints.KEY_COLOR_RENDERING, RenderingHints.VALUE_COLOR_RENDER_QUALITY);
                        g2.setRenderingHint(RenderingHints.KEY_DITHERING, RenderingHints.VALUE_DITHER_ENABLE);
                        g2.setRenderingHint(RenderingHints.KEY_FRACTIONALMETRICS, RenderingHints.VALUE_FRACTIONALMETRICS_ON);
                        g2.setRenderingHint(RenderingHints.KEY_INTERPOLATION, RenderingHints.VALUE_INTERPOLATION_BICUBIC);
                        g2.setRenderingHint(RenderingHints.KEY_RENDERING, RenderingHints.VALUE_RENDER_QUALITY);
                        g2.setRenderingHint(RenderingHints.KEY_STROKE_CONTROL, RenderingHints.VALUE_STROKE_NORMALIZE);
                        g2.setRenderingHint(RenderingHints.KEY_TEXT_ANTIALIASING, RenderingHints.VALUE_TEXT_ANTIALIAS_ON);
                        super.paintComponent(g2);
              textPane.setEditorKit(new HTMLEditorKit());
              return textPane;
         public void actionPerformed(ActionEvent e) {
              HTMLDocument htmlDocument = (HTMLDocument) editor.getDocument();
              if(e.getSource() == save) {
                   HTMLEditorKit kit = (HTMLEditorKit)editor.getEditorKitForContentType("text/html");
                   try {
                        kit.write(System.out, htmlDocument, 0, htmlDocument.getLength());
                   } catch (IOException ex) {
                        ex.printStackTrace();
                   } catch (BadLocationException ex) {
                        ex.printStackTrace();
              } else if(e.getSource() == dump) {
                   htmlDocument.dump(System.err);
         public static void main(String[] args) {
              try {
                   UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
              } catch (ClassNotFoundException e) {
                   e.printStackTrace();
              } catch (InstantiationException e) {
                   e.printStackTrace();
              } catch (IllegalAccessException e) {
                   e.printStackTrace();
              } catch (UnsupportedLookAndFeelException e) {
                   e.printStackTrace();
              AdditionalText at = new AdditionalText();
              at.show();
    }

    I created a class that can be used to highlight Java source code. Most of the code is for handling multi line comments. If you just want it to highlight certain keywords then you can get rid of all that logic. In case your interested, the code can be downloaded from here:
    http://www.discoverteenergy.com/files/SyntaxDocument.java

  • How to access my macbook pro from a windows pc?

    how to access my macbook pro from a windows pc?

    Depending on what you mean by "access" the following may help:
    File sharing: How to connect with File Sharing on your Mac - Apple Support
    One way (and there are others) for remote control and remote access between Mac and Windows: http://www.teamviewer.com/en/index.aspx

  • In VB Programming code -- How to access the formula for suppressing a field

    In VB Programming code -- How to access the formula for suppressing a field
    I am using Crystal Reports 2008 v1
    Using VB code, I am attempting to modify a Crystal Report before exporting it into a PDF format and then displaying it on the Web.
    My problem is that I am unable to access the formula used to dynamically suppress a field.
    The following code is working:
    mySections = rd.ReportDefinition.Sections
    For Each mySection As CrystalDecisions.CrystalReports.Engine.Section In mySections
       ' myFieldToChange is a String set to the text of the field I need to adjust the Suppression
       iloop = 0
       For Each RecObj As CrystalDecisions.CrystalReports.Engine.ReportObject In mySection.ReportObjects
               If mySection.ReportObjects.Item(iloop).Name.ToLower = myFieldToChange Then
                   myTextObject = CType(mySection.ReportObjects.Item(iloop), CrystalDecisions.CrystalReports.Engine.TextObject)
                   myTextObject.Text = "new field text goes here"
                   mySection.SectionFormat.EnableSuppress = True
                   '  Here is where I want to change the formula for the Suppression
                End if
                iloop = iloop + 1
        Next
    Next
    I can not find any reference to the actual suppression formula in the SDK help file.
    Note, the EnableSuppress can be set to True for False, but if there is a formula for dynamic suppression, the True or False value is overwritten.  The results of the formula determine the suppression.
    Is there a way to reference this formula.  I know that I can put on in using the Crystal Report Designer software, I need to modify this formula using VB code and the SDK.

    Hello, Mark;
    If you are using the ReportDocument object you do not have access to the Conditional Suppression formula. You can get around it by using a formula field in the report for the supression and then using the FormulaField code to change it at runtime.
    If you want to change the supression condition directly at runtime you need to use RAS and the ReportClientDocument.
    Elaine

Maybe you are looking for

  • Time Machine Backup stuck on Finishing Backup

    Hello I am backing up my macbook (on snowleopard) for the first time using Time Machine and the WD My Book for Mac external hard drive. The dialogue box shows that Time Machine has finished backing up 370KB of 370KB, but it is stuck on "Finishing bac

  • IPhone not syncing all pictures

    I've been having this problem for awhile now & thought it had something to do with the iPhone 4 because I didn't have this issue when I had the iPhone 3GS.  When I try to sync all photos including videos into my iPhone - about 4,900, only about 4,200

  • Channel-group on 2 switches

    I have 2 Catalyst 3560 24-port switches (call them switch-a and switch-b).  They are linked together with a patch cable and not stacked (the c3750 is stackable but not the c3560). Is it possible to have a port-channel group with 2 ports, where one po

  • Problem with opening PDF files from JSF page using SDO

    Hi all, I'm new with JSF and was attempting to read a PDF file from a Database using SDO and JSF. The code below throws an exception when casting from DataObject to Blob. The getLcDoc() method was created by WSAD when I dragged an SDO relational reco

  • PARAMETERS Default Path

    HI all; am working with ALV Reports . These reports will be displayed data in ALV Format and  as well it will Transfered the ALV displayed data into xml files. for given location in application server. PARAMETERS zfname TYPE AUTHB-FILENAME DEFAULT ''