XSL addition returns incorrect answer

Hi,
I have a piece of XSL code to do some mapping in PI 7.1 which works correctly in XML Spy, but when imported into PI gives an incorrect result.
The source XML contains
     <HEADER>
          <BALANCE>333.33</BALANCE>
     </HEADER>
     <DATA>
          <DEBIT>15.42</DEBIT>
          <CREDIT>0.00</CREDIT>
     </DATA>
     <DATA>
          <DEBIT>0.00</DEBIT>
          <CREDIT>14.00</CREDIT>
     </DATA>
The code is
<xsl:value-of select="//HEADER/BALANCE + //DATA[2]/CREDIT - //DATA[1]/DEBIT"/>
Pretty basic stuff. However PI is returning a value of 331.90999999999997 instead of 331.91
Yes, it's close, but this is addition. It should be exact.
Any ideas?
John

Answer found. It's a known problem  with XSL, not PI. It happens on some processors.
From http://www.xml.com/lpt/a/810:
Warning With some XSLT processors, the use of decimal numbers may introduce a tiny error. For example, the "3.2 - 4" in this example comes out as "-.7999999999999998" on some processors. While being off by .0000000000000002 isn't much, being off at all shows that math is not XSLT's strong point.

Similar Messages

  • Xsl:include return incorrect base url

    I am using FOP to generate PDF file in servlet.
              I have 2 stylesheets (e.g. a.xsl and b.xsl), they are located in <myapplication>\webapp\application\stylesheet.
              In a.xsl, it includes b.xsl:
              <xsl:include href="a.xsl"/>
              When I test the stylesheet in the command line (dos prompt), it runs fine. However, when I run it in weblogic (6.0), there is an error:
              org.xml.sax.SAXParseException: File "file://C:/bea/wlserver6.0/b.xsl" not found.
              The base url for b.xsl should be the same as a.url. I believe there is a bug in weblogic, isn't?
              Is there anyone who knows how to resolve this exception?
              Thanks.
              - Christina
              

    'set' is a reserved word. So is your column 'values'. Always avoid using reserved words.
    MySQL :: MySQL 5.5 Reference Manual :: 9.3 Reserved Words

  • Ad hoc Risk Analysis report is returning incorrect Risk Level for some Risks

    We are running GRC AC 10.0 with SP 16.  After application of Support Pack 16, some of our ad hoc risk analysis reports are returning incorrect risk levels.  For example:  Risk F024 Open closed periods and inappropriately post currency or tax entries is set as High.  When the Ad hoc report is run, the risk F024 will show on a user with a level of Medium.  We have generated our ruleset and have followed the normal procedures used to implement the support pack.  Any ideas what is causing this issue?  I have exhausted my knowledge and search attempts.
    Any help is appreciated.
    Sara B.

    Hi Kevin
    Many thanks for your post, we did run a full BRA but no luck unfortunately. Some Risks still reporting as Medium when they should be Critical or High. Oddly it is reporting correctly against some risks just not for all!
    Cheers
    Hussain

  • OracleDataAdapter returning incorrect schema information

    Hi everyone. I have a very reproducible case where the DataTable schema created by the OracleDataAdapter is incorrect. It is driving me crazy :-).
    ====================
    OracleConnection cnn = new OracleConnection("User ID=XXX;Password=XXX;Data Source=XXX");
    cnn.Open();
    string strQuery = "CREATE TABLE FOO (a INT, b INT)";
    OracleCommand cmdExec = new OracleCommand(strQuery, cnn);
    cmdExec.ExecuteNonQuery();
    OracleCommand cmdQuery = new OracleCommand("SELECT * FROM FOO", cnn);
    OracleDataAdapter adp = new OracleDataAdapter(cmdQuery);
    DataTable dtb = new DataTable();
    adp.Fill(dtb);
    Console.WriteLine("FOO has {0} columns.", dtb.Columns.Count);
    for (int i = 0; i < dtb.Columns.Count; i++)
    Console.WriteLine("{0}th column's name is {1}.", i, dtb.Columns[ i ].ColumnName);
    cmdExec.CommandText = "DROP TABLE FOO";
    cmdExec.ExecuteNonQuery();
    cmdExec.CommandText = "CREATE TABLE FOO (c INT, d INT, e INT)";
    cmdExec.ExecuteNonQuery();
    dtb = new DataTable();
    adp.Fill(dtb);
    Console.WriteLine("FOO has {0} columns.", dtb.Columns.Count);
    for (int i = 0; i < dtb.Columns.Count; i++)
    Console.WriteLine("{0}th column's name is {1}.", i, dtb.Columns[ i ].ColumnName);
    cnn.Close();
    Console.ReadLine();
    =============================
    The console output is:
    FOO has 2 columns.
    0th column's name is A
    1th column's name is B
    FOO has 2 columns.
    0th column's name is A
    1th column's name is B
    But it should be:
    FOO has 3 columns.
    0th column's name is C
    1th column's name is D
    2th column's name is E
    for the second iteration.
    What should I do?
    -- Matt

    I agree with the earlier comment stating '...that the caching is happening inside of the ODP layer rather than a lower layer such as OCI. It looks like the caching is occurring in the m_metaData member of the OracleCommand...'.
    It looks like all of the caching is indeed taking place in ODP. However there is in fact two levels of cache taking place in your particular example - at the OracleCommand level but also deep inside ODP.Net there is a static MetaData class which has a private member m_pooler that maintains a metadata cache on a per connection basis. Basically even if the OracleCommand object entry m_metaData is reset values still appear inside the internal pool and so there need to be removed too - this cache is indexed initially through a hash of the connection details and then statement text. This is why even a new OracleCommand object but with same statement text on same connection also returns incorrect information.
    Within the OracleReader implementations various calls are made to MetaData.Pooler.Get.. calls to retrieve cached information.
    I came across a similar problem (not identical) because we are using the 'alter session set current schema...' command and this causes some problems.
    Basically it appears a base assumption has been made that the definition of object will not change at runtime (which you can understand) but in my case it is possible that 'select * from emp' say could be execute from the same connection but relate to different objects because name resolution has been adjust using the 'alter session...' command which is a big problem.
    I have written some helper routines which enable the internal caches to be 'managed' although it uses some nasty reflection to accomplish this (using private members directly!). It work successfully in my case and I have done a quick change to your example code (added a single call) and it now works, i.e.
    cmdExec.CommandText = "CREATE TABLE FOO (c INT, d INT, e INT)";
    cmdExec.ExecuteNonQuery();
    OracleMetaDataRemover.Remove(cmdQuery, true);
    dtb = new DataTable();
    adp.Fill(dtb);
    If you use the Remove method above and change true to false you will still receive the problem because although the Command has been cleared the details still remain centrally.
    The code which accessed above I include below as is (coded for Oracle 10.1.0.3.01 ODP - it may work on other releases but note this could break in future). Ideally methods are required within ODP to allow cleardown/control of this.
    using System;
    using System.Reflection;
    using System.Collections;
    using Oracle.DataAccess.Client;
    namespace Oracle.DBUtilities
         /// <summary>
         /// Summary description for OracleMetaDataPoolerCleaner.
         /// </summary>
         public class OracleMetaDataPoolerCleaner
              private static string OracleAssemblyShortName = "Oracle.DataAccess";
              private static string OracleMDType = "Oracle.DataAccess.Client.MetaData";
              private static string OraclePoolerType = "Oracle.DataAccess.Client.Pooler";
              // Fast access pointer to internal hash of information
              private Hashtable PooledItems = null;
              private static OracleMetaDataPoolerCleaner _oracleMetaDataPoolerCleanerInstance = null;
              static readonly object _syncRoot = new object();
              private OracleMetaDataPoolerCleaner()
                   Assembly OracleDataAccess = null;
                   // Get hold of the Oracle Data Access assembly
                   Assembly[] LoadedAssemblyList = AppDomain.CurrentDomain.GetAssemblies();
                   for(int i=0; i<LoadedAssemblyList.Length && OracleDataAccess == null; i++)
                        Assembly LoadedAssembly = LoadedAssemblyList;
                        string[] AssemblyNameDetails = LoadedAssembly.FullName.Split(',');
                        if (AssemblyNameDetails[0] == OracleMetaDataPoolerCleaner.OracleAssemblyShortName)
                             OracleDataAccess = LoadedAssembly;
                   // Make sure located details
                   if (OracleDataAccess != null)
                        // Get access to the MetaData cache details
                        Type OracleMetaData = OracleDataAccess.GetType(OracleMetaDataPoolerCleaner.OracleMDType);
                        if (OracleMetaData != null)
                             // Retrieve static pool item
                             FieldInfo f_Pooler = OracleMetaData.GetField("m_pooler", BindingFlags.NonPublic|BindingFlags.Instance|BindingFlags.Static);
                             if (f_Pooler != null)
                                  // As we cannot get direct access to the object type assume it is OK
                                  object pa = f_Pooler.GetValue(null);
                                  if (pa != null)
                                       Type OraclePooler = OracleDataAccess.GetType(OracleMetaDataPoolerCleaner.OraclePoolerType);
                                       if (OraclePooler != null)
                                            FieldInfo f_Pools = OraclePooler.GetField("Pools", BindingFlags.NonPublic|BindingFlags.Instance|BindingFlags.Static);
                                            PooledItems = f_Pools.GetValue(pa) as Hashtable;
                                            if (PooledItems == null)
                                                 throw new InvalidOperationException("Unable to initialise metadata cache access...");
              public static OracleMetaDataPoolerCleaner Instance()
                   // Make single copy of this item ready for use
                   if (_oracleMetaDataPoolerCleanerInstance == null)
                        // Thread safe locking and initialisation - 'double-checked lock'
                        lock(_syncRoot)
                             if (_oracleMetaDataPoolerCleanerInstance == null)
                                  _oracleMetaDataPoolerCleanerInstance = new OracleMetaDataPoolerCleaner();
                   return _oracleMetaDataPoolerCleanerInstance;
              /// <summary>
              /// Using reflection the process determines the command text
              /// contents of the specified OracleCommand
              /// Note this could simply have been delegated through to the
              /// OracleConnection version using OCommand.Connection
              /// </summary>
              /// <param name="OCommand">OracleCommand object containing command to be retrieved</param>
              /// <returns>Command string located</returns>
              public static string CommandText(OracleCommand OCommand)
                   string OracleCommandCommandText = null;
                   // Using reflection get direct access to the 'private' member details..
                   Type TypeOracleCommand = OCommand.GetType();
                   FieldInfo FieldInfoCommandText = TypeOracleCommand.GetField("m_commandText", BindingFlags.NonPublic|BindingFlags.Instance);
                   if (FieldInfoCommandText != null)
                        OracleCommandCommandText = FieldInfoCommandText.GetValue(OCommand).ToString();
                   return OracleCommandCommandText;
              /// <summary>
              /// Using reflection the process determines the command text
              /// contents of the specified OracleCommand
              /// </summary>
              /// <param name="OReader">OracleDataReader object containing command to be retrieved</param>
              /// <returns>CommandString located</returns>
              public static string CommandText(OracleDataReader OReader)
                   string OracleDataReaderCommandText = null;
                   // Using reflection get direct access to the 'private' member details..
                   Type TypeOracleDataReader = OReader.GetType();
                   FieldInfo FieldInfoCommandText = TypeOracleDataReader.GetField("m_commandText", BindingFlags.NonPublic|BindingFlags.Instance);
                   if (FieldInfoCommandText != null)
                        OracleDataReaderCommandText = FieldInfoCommandText.GetValue(OReader).ToString();
                   return OracleDataReaderCommandText;
              /// <summary>
              /// Using reflection the process determines the hashvalue
              /// specified OracleConnection
              /// </summary>
              /// <param name="OConnection">OracleConnection for which the HashCode is to be retrieved</param>
              /// <returns>HashValue located or -1</returns>
              public static int ConnectionStringHashValue(OracleConnection OConnection)
                   int HashValue = -1;
                   // Using the Oracle Connection retrieve the hashvalue associated
                   // with this connection
                   if (OConnection != null)
                        Type TypeOracleConnection = OConnection.GetType();
                        FieldInfo f_ConStrHashCode = TypeOracleConnection.GetField("m_conStrHashCode", BindingFlags.NonPublic|BindingFlags.Instance);
                        if (f_ConStrHashCode != null)
                             HashValue = Int32.Parse(f_ConStrHashCode.GetValue(OConnection).ToString());
                   return HashValue;
              /// <summary>
              /// Using reflection the process determines the hashvalue
              /// specified OracleDataReader
              /// </summary>
              /// <param name="OReader">OracleDataReader for which the associated connection HashValue is to be located</param>
              /// <returns>HashValue located or -1</returns>
              public static int ConnectionStringHashValue(OracleDataReader OReader)
                   int HashValue = -1;
                   // Using reflection get direct access to the 'private' member details..
                   Type TypeOracleDataReader = OReader.GetType();
                   FieldInfo f_OraConnection = TypeOracleDataReader.GetField("m_connection", BindingFlags.NonPublic|BindingFlags.Instance);
                   // Ensure have access to a connection and retrieve has information
                   if (f_OraConnection != null)
                        OracleConnection ConnectionValue = f_OraConnection.GetValue(OReader) as OracleConnection;
                        HashValue = OracleMetaDataPoolerCleaner.ConnectionStringHashValue(ConnectionValue);
                   // Return the hashvalue information located
                   return HashValue;
              /// <summary>
              /// Using reflection the process determines the hashvalue
              /// specified OracleCommand
              /// Note this could simply have been delegated through to the
              /// OracleConnection version using OCommand.Connection
              /// </summary>
              /// <param name="OCommand">OracleCommand for which the associated connection HashValue is to be located</param>
              /// <returns>HashValue located or -1</returns>
              public static int ConnectionStringHashValue(OracleCommand OCommand)
                   int HashValue = -1;
                   // Using reflection get direct access to the 'private' member details..
                   Type TypeOracleCommand = OCommand.GetType();
                   FieldInfo f_OraConnection = TypeOracleCommand.GetField("m_connection", BindingFlags.NonPublic|BindingFlags.Instance);
                   // Ensure have access to a connection and retrieve has information
                   if (f_OraConnection != null)
                        OracleConnection ConnectionValue = f_OraConnection.GetValue(OCommand) as OracleConnection;
                        HashValue = OracleMetaDataPoolerCleaner.ConnectionStringHashValue(ConnectionValue);
                   // Return the hashvalue information located
                   return HashValue;
              /// <summary>
              /// Using the supplied OracleDataReader internal calls are made
              /// to determine the ConnectionHash and CommandText details which will
              /// then be used to remove the item
              /// </summary>
              /// <param name="OReader">OracleDataReader to be probed to obtain information</param>
              /// <returns>Indicates whether the item was actually removed from the cache or not</returns>
              public bool Remove(OracleDataReader OReader)
                   bool Removed = false;
                   // Lookup the ConnectionStringHashDetails
                   int HashValue = OracleMetaDataPoolerCleaner.ConnectionStringHashValue(OReader);
                   if (HashValue != -1)
                        // Lookup the command text and remove details
                        string CommandText = OracleMetaDataPoolerCleaner.CommandText(OReader);
                        // Attempt to remove from the cache
                        Removed = this.Remove(HashValue, CommandText);
                   return Removed;
              /// <summary>
              /// Using the supplied OracleCommand internal calls are made
              /// to delegate the call to the OracleConnection version
              /// </summary>
              /// <param name="OCommand">OracleCommand to be probed to obtain information</param>
              /// <returns>Indicates whether the item was actually removed from the cache or not</returns>
              public bool Remove(OracleCommand OCommand)
                   // Call into internal other routine
                   return this.Remove(OCommand.Connection, OCommand.CommandText);
              /// <summary>
              /// Using the supplied OracleConnection internal calls are made
              /// to determine the ConnectionHash and it uses CommandText details
              /// to remove the item
              /// </summary>
              /// <param name="OConnection">OracleConnection from which the cache object should be removed</param>
              /// <param name="CommandText">CommandText to be removed</param>
              /// <returns>Indicates whether the item was actually removed from the cache or not</returns>
              public bool Remove(OracleConnection OConnection, string CommandText)
                   bool Removed = false;
                   // Lookup the ConnectionStringHashDetails
                   int HashValue = OracleMetaDataPoolerCleaner.ConnectionStringHashValue(OConnection);
                   if (HashValue != -1)
                        // Attempt to remove from the cache
                        Removed = this.Remove(HashValue, CommandText);
                   return Removed;
              /// <summary>
              /// Routine actually removes the items from the cache if it exists
              /// </summary>
              /// <param name="ConnectionHashValue">ConnectionHash which is used to key into the Pooled items</param>
              /// <param name="CommandText">CommandText to be removed</param>
              /// <returns>Indicates whether the item was actually removed from the cache or not</returns>
              private bool Remove(int ConnectionHashValue, string CommandText)
                   bool Removed = true;
                   // Retrieve Pooled items for particular hash value
                   Hashtable PoolContents = PooledItems[ConnectionHashValue] as Hashtable;
                   // Remove item if it is contained
                   if (PoolContents.ContainsKey(CommandText))
                        PoolContents.Remove(CommandText);
                        Removed = true;
                   return Removed;
         /// <summary>
         /// Summary description for OracleMetaDataRemover.
         /// </summary>
         public class OracleMetaDataRemover
              private OracleMetaDataRemover()
              /// <summary>
              /// Routine which Removes MetaData associated with OracleCommand object
              /// </summary>
              /// <param name="OCommand">OracleCommand to have associated MetaData removed</param>
              /// <returns>Indicates whether the MetaData associated with the OracleCommand was reset</returns>
              public static bool Remove(OracleCommand OCommand)
                   bool Removed = false;
                   // Retrieve current MetaData values from OCommand
                   Type OracleCommandMetaData = OCommand.GetType();
                   FieldInfo f_metaData = OracleCommandMetaData.GetField("m_metaData", BindingFlags.NonPublic|BindingFlags.Instance);
                   if (f_metaData != null)
                        f_metaData.SetValue(OCommand, null);
                        Removed = true;
                   // Indicate Removed from OCommand object
                   return Removed;
              /// <summary>
              /// Routine which Removes MetaData associated with OracleCommand object
              /// and allows for the removal of information from the internal cache
              /// </summary>
              /// <param name="OCommand">OracleCommand to have associated MetaData removed</param>
              /// <param name="RemoveFromMetaDataPool">Whether item should be removed from the internal metadata pool too</param></param>
              /// <returns>Indicates whether the MetaData associated with the OracleCommand was reset</returns>
              public static bool Remove(OracleCommand OCommand, bool RemoveFromMetaDataPool)
                   bool Removed = false;
                   // Remove details from Command
                   Removed = Remove(OCommand);
                   if (Removed && RemoveFromMetaDataPool)
                        // Remove information form internal cache
                        Removed = OracleMetaDataPoolerCleaner.Instance().Remove(OCommand);
                   // Indicated Removed from OCommand and Internal MetaData collection
                   return Removed;

  • MAGIC_CHECK returned incorrect for C$SEQ_CLIENTS

    Hi,
    Im getting "MAGIC_CHECK returned incorrect for C$SEQ_CLIENTS" while sync with the server.
    (Lite 10g)
    This happens only for one client and rest are working fine.
    Any help is apprciated.
    Thanks

    should not need to rebuild the client
    are you sure that the username/password are exactly the same as on the server? server url correct?
    do you see anything in the mobile manager sync history (should get a sync record with a blank user name if it has managed to contact the server) if not making contact then perhaps there is a conflict with the user the client was set up for - check concli>c$client_preferences. will not be able to see the password, but should see the user name and server url (this is where it gets the defaults from for msyc)

  • I need to delete my Apple ID on my iPhone 4.  I forgot my psw for my account.  When I answer the security question, the system responds incorrect answer.  I created a new Apple iTunes account but I still unable to delete the old iTunes account.

    I need to delete my Apple ID on my iPhone 4.  I forgot my psw for my account.  When I answer the security question, the system responds incorrect answer.  I created a new Apple iTunes account but I still unable to delete the old iTunes account.

    AppleFAN7591 wrote:
    I need to delete my Apple ID on my iPhone 4.  I forgot my psw for my account.  When I answer the security question, the system responds incorrect answer.  I created a new Apple iTunes account but I still unable to delete the old iTunes account.
    How to reset your Apple ID password.
    Go to iforgot.apple.com and type in your Apple ID, then click 'Next'.
    Verify your date of birth, then click 'Next'.
    You'll be able to choose one of two methods to reset your password, either E-Mail Authentication or Answer Security Questions.
    If neither method works, then go to https://getsupport.apple.com
    (If you see a message that says 'There are no products registered to this Apple ID, simply click on 'See all products and services')
    Choose 'More Products & Services', then 'Apple ID'.
    A new page will open.
    Choose 'Other Apple ID Topics', then 'Lost or forgotten Apple ID password'.
    Click the blue 'Continue' button.
    Select the contact option that suits your needs best.
    How to reset your Apple ID security questions.
    Go to appleid.apple.com, click on the blue button that says 'Manage Your Apple ID'.
    Log in with your Apple ID and password. (If you have forgotten your Apple ID password, go to iforgot.apple.com first to reset your password with a password recovery email)
    Go to the Password & Security section on the left side, and click on the link underneath the security questions that says 'Forgot your answers? Send reset security info email to [email]'.  This will generate an automated e-mail that will allow you to reset your security questions.
    If that doesn't work, or  there is no rescue email link available, then click on 'Temporary Support PIN' that is in the bottom left side, and generate a 4-digit PIN for the Apple Account Security Advisor you will be contacting later.
    Next, go to https://getsupport.apple.com
    (If you see a message that says 'There are no products registered to this Apple ID, simply click on 'See all products and services')
    Choose 'More Products & Services', then 'Apple ID'.
    A new page will open.
    Choose 'Other Apple ID Topics', then 'Forgotten Apple ID Security Questions'.
    Click the blue 'Continue' button.
    Select the contact option that suits your needs best.

  • Hi i am planning to write 1z0-144 exam in 2 weeks. will the questions based on 11g or 12c documents? should i prepare base on 12 c contents or stick to 11g only. i don't want to answer incorrect answer.

    should i prepare base on 12 c contents or stick to 11g only. i don't want to answer incorrect answer. please advise...

    Reading your answer i flipped to the exam page at Oracle Database 11g: Program with PL/SQL | Oracle Certification Exam ... the key information fields are:
    Exam Product Version: Oracle Database 11g
    and
    Validated Against: This exam has been validated against Oracle Database 10g, Oracle Database 11g, Oracle Database 11g Release 2, and Oracle Database 12c Release 1.
    The exam product version is the best source to read the documentation against. 
    In the event of a feature varying between versions ( core language features will typically only upwardly enhance, some compilation/optimization features might on the very rate occasion vary) the question is likely to explictly state 'oracle 11g [release 1|2]'
    ( To state the obvious for this exam the topic  "Use the new PL/SQL compiler initialization parameters" would likely refer to 11g introduced features and would not be present in 10g ).

  • Setting incorrect answers on a customised quiz

    Hi there.
    I'm setting up a customised quiz (not using question slides) and was wondering how you set the correct/incorrect answers. What I've done so far is included all answers in the quiz (via the reporting section), but only set the right answer to "Add to total". This seems to work, as I get the correct scores at the end of the quiz, but when looking at my LMS reports it's counting all answers as "Correct", even when answered incorrectly.
    Any idea if this to do with the Captivate settings or the LMS settings?
    The LMS I'm using is a customised one built for the company I work for using a Joomla template.
    Thanks.

    Hi Lilybiri.
    Thanks for the response. To explain further...
    This is what I'm seeing on my LMS report (this is an example for one question)
    As you can see the result of the question is showing as "correct", but it was actually answered incorrectly. It's a multiple choice question using click boxes. For the correct clickbox I've got these settings:
    The wrong clickboxes have these settings:
    I've also tried unticking the "Include in quiz" box, and only having the "Add to total" box unticked, but my LMS still tells me it was answered correctly when answered incorrectly.
    Any thoughts on why this is happening?

  • Captivate 7 - Incorrect Answers not allowing quiz to Continue. Buttons not functioning correctly (Clear, Back, Next). I have Knowledge Check

    I am experiencing a problem with the Quiz feature of Captivate 7. Correct answers are submitting o.k., but Incorrect answers are not. You cannot go forward with them, i.e., the program will not Continue or go to the next question with an Incorrect answer in the Assessment.
    This presentation has 15 Knowledge Check questions (0 points) and 10 Assessment Questions (10 points each).
    Also the buttons don't always work correctly, i.e. Clear, Next, Back.
    What could I try?

    Thank you for your response. No. I didn't do anything like that. I figured that I should probably divide this into 2 parts and aggregate them. That was going to work, but  I checked with one of our other users in TX. He told me that what they always do is to divide up the presentations into 2 parts. They don't aggregate them, but instead, let the LMS take care of going from the learning module (with the Knowledge Check questions) to the Assessment Module. Once you exit from the learning module, you immediately go into the assessment.
    Captivate 7 doesn't really allow for this type of test without aggregation or an LMS. You can have a pre-test, but it expects those questions to come at the beginning of the course, not to be interspersed throughout the course. I also found that using the Question Pools gave me more flexibility in moving Knowledge Check questions around using the Filmstrip.
    The other interesting thing was that the TX expert told me to remove the Accessibility Feature because, apparently, it causes other parts of Captivate not to work. I found that to be strange.

  • Quiz not advancing after incorrect  answer (quiz uses user variables to show wrong answers)

    Hello All,
    Long time lurker, first time poster. Hopefully someone can help me.
    After viewing this excellent video on the adobe captivate blog "so what were the right answers anyway" I created a quiz with user variables and a conditional advance action. It displays red crosses next to the each question that was incorrectly answered at the end of the quiz.
    I set up user variable for each question with a value of 0. On an incorrect answer the variable would be set to 1.
    At the end of the quiz is a slide which lists the question and shows a red cross next to each question with a variable set to 1. uses conditional action which is triggered "On Enter"
    This works, but my problem is when I preview the quiz (in browser or as SWF), on an incorrect answer the failure caption appears but will not actually advance to the next question when I click anywhere or press y. It works OK on correct answers.
    I can sovle this by adding a next button, but I want to understand what I'm doing wrong.
    Using captivate 6.0.1.240 (boxed copy)
    windows 7
    images on quiz properties and  conditional action below
    Any help appreciated.
    Regards
    Jacob C

    I tested this work flow on 6.1.319 and it works fine. So it is a bit guessing in the wild... no 6.0.1.240 around for the moment. Seems strange, because a simple action like your Assign action should normally release the playhead. But of course it is a question slide and they do not always behave as expected. Could you try to replace the Assign action by a standard advanced action with 2 statements, like this:
    Assign var_question_1 with 1
    Continue
    And please, let me know if it works? This could be a difference between the two versions, but not sure at all.
    Lilybiri

  • Scoring: Giving Negative Points for Incorrect Answers on a Quiz

    We are using Captivate 5 and I was wondering if there is anyway you can remove points for incorrect answers?  Say if you have a multiple choice question with 5 options, 3 of the options would be correct and 2 incorrect.  Is it possible to give a -1 point if the incorrect choice is made and give 1 point each for the correct options?

    Hello and welcome to the forum,
    No, that is not possible yet, same for partial scoring.
    I have a workaround, using variables and advanced actions to achieve that. You can find some examples on my blog (http://lilybiri.posterous.com). But the issue is to report to a LMS. Trihan has found a solution for that, using JavaScript but I have not yet tested it out, trying to find the tiem.
    Lilybiri

  • Show Incorrect Answers Only on Review Quiz

    Is there a way to show only the incorrect answers that the learner selected after clicking on the Review Quiz button? Basically I don't want the correct answers shown.

    Which version are you using? If it is version 5 or before, you can just delete that part of the Review messages
    Tried it with CP5.5 as well, but there this is not functional,
    Lilybiri

  • Creating captions for incorrect answers for hotspot quiz?

    I am creating a hotspot question where there are 2 images for the learner to choose, one correct and one incorrect. How can I create a caption that tells the learner the reason why the incorrect answer is incorrect?

    Is this a default hotspot question? Recently I published an example of a custom hotspot question, then it is much easier to control everything.
    Custom Hotspot questions in Captivate 8 - Captivate blog
    If you want to use the default hotspot, you can edit the default Failure caption with the explanation you want to give.

  • Show Incorrect Answers Upon Review

    Can you set Captivate 8 to show incorrect answers upon review? It is showing correct answers but I can't figure out how to make it show incorrect answers too.

    By default Captivate will show both correctly answered questions and incorrectly answered questions.
    There is no 'option' to show ONLY one or the other during review.  You would need to set up user variables for each question slide to track whether it was answered correctly or not and then check these user variables with conditional actions ON SLIDE ENTER of the question slides when in Review Mode.  There is a system variable you can use to check for Review Mode.

  • HT4061 my iphone is Stolen how Return Please Answer to me

    my iphone is Stolen how Return Please Answer to me please help me

    If prior to it being stolen you had activated Find My iPhone, you can log into www.icloud.com and attempt to track it. This is the only way that it can be tracked.
    You are not addressing Apple here, and Apple cannot assist you with locating your phone. Report the theft to law enforcement and your carrier. Change passwords on all accounts that were present on the phone.

Maybe you are looking for

  • Unable to restore, gives me an error message!

    My ipod has been on the fritz for well over 3 weeks now. Its a click wheel ipod, w/ the black and white screen. I've been ignoring the problem, and now i have a big problem. At first my ipod was reading the very low battery screen, so i left it charg

  • I receive the message "Error:  Failed to register" when installing Adobe Flash Player 11.5.502.135 o

    I receive the message "Error:  Failed to register" at the end of attempting to reinstall Adobe Flash Player 11.5.502.135 (after a complete uninstall of all Adobe programs) on my older machine running Windows XP and the older browser IE 7.    I have t

  • How do I keep copies of all messages?

    Thius may be an easy one, but I can't figure it out. I have three email accounts: 2 IMAP email accounts and a .Mac account. Since the first two are IMAP, when I delete it on my computer, it gets deleted on the server. If I don't delete them, I very q

  • Terminal echo is off after interrupting cvs password entry (:ext, ssh)

    situation: set CVSROOT=:ext:username@servername:/dir The "ext" is important. You can set up a local cvsroot dir, do a "cvs init" there and then use localhost as server. This bug occured to me on several servers so it is not server dependent. set CVS_

  • SAP LSO system to XI Integration

    Hi Experts, Currently i am working on SAP LSO system integration with External system(Skill soft) using PI. Has anyone successfully used standard LSO XI services to integrate with external Learning vendors?Could you please give me the steps or let me