Perform a bilinear transform without Matlab or MathScript modules

Hi all,
I've been poking around the forums all morning and haven't found what I'm looking for.  I've found information, mind you, but it seems I'm not smart enough today to put all the pieces together.  So I'm just going to ask, and hope for the best.  Maybe someone can point me in the right direction...everything's blurring together at this point.
Is there a relatively straightforward way to perform a bilinear transformation in LabVIEW without the use of either Matlab or MathScript?  I don't have access to either one.  If there is a built-in LabVIEW function, I'm not finding it.
The MathScript code looks like this:
w3 = 2*pi*f3;
B = [1/w3 1];
w4 = 2*pi*f4;
A = [1/w4^2 1/Q4 1];
[b,a] = bilinear(B,A,fs);
Help?
Thanks!
d
Solved!
Go to Solution.

Since you are using the transfer function representation you have to do the transformations to and from state space representation and perform the bilinear transform in between.  Normally this is hard to do from scratch, but LV has the Characteristic Polynomial.vi built in so it is pretty easy (once you get the formula right).
Statespace <-> Transfer function VIs I have used before so I think they are correct.  Bilinear transform was just tossed together using the help from mathworks.
Attachments:
BilinearTransform.zip ‏42 KB

Similar Messages

  • How to use matlab codes in a stand alone application without matlab license?

    Hi,
    I am not an expert in programming and i don't know about C++, i have a program using matlab codes and now i want to transfer it to a computer without matlab license. I've read something about using DLL, but i think i have to know C++ programming  to wrtie "WRAPPER" and add some lines to the program, now transformed in C++.
    I just would llike to know that really isn't any other way to integrate matlab for a stand-alone application? i read somethings in Matlab help about using COM (Common Object Model ) but i am not sure that labview works with it, and also about runtime engine and "mglinstaller.exe".
    my labview version is 8, matlab is 2006, and the real problem is using matlab codes in another computer without matlab license.
    Thanks
    Amir

    Hello Amir,
    There is a MatLab script node in the LabVIEW function palette (see screenshot of the help topic) but as you can see this structure is not in the "Base LabVIEW", you might need to purchase the FDS (Full Developpment System) or the PDS (Professionnal Developpment System) of LabVIEW...
    Do you know which one you have ?
    Hope this helps
    Message Edité par TiTou le 11-24-2006 06:38 PM
    When my feet touch the ground each morning the devil thinks "bloody hell... He's up again!"
    Attachments:
    mlab.png ‏71 KB

  • Scenario's performance with BPM vs without BPM in PI 7

    hello,
    Please send me the presentation, blogs describing the performance issues in PI 7
    also, the docs differenciating a normal scenario's performance (without BPM) vs the scenario with BPM...
    What are the enhancements made to BPM in PI 7 for performance increase?
    Regards,
    Nikhil.
    ******Each useful reply will be awarded*******
    Edited by: nikhil a on Feb 7, 2008 6:10 AM

    BPM Performance:  Integration processes are executed on the Integration Server at runtime by the Business Process Engine. Since the Integration Server is the central resource for message exchange, you must ensure that it is not overloaded; otherwise, this can lead to bottlenecks or performance problems.
    Resource Consumption
    Every step of an integration process uses Integration Server resources.
    &#9679;      Every message that is sent to the Process Engine is duplicated.
    &#9679;      Every message that is sent from the Process Engine is duplicated.
    &#9679;      A work item is created for the process itself and for every step the process contains.
    This means that for a process that just receives one message that is sent without being processed further, four messages and three work items are created.
    For this reason, you must ensure that you take Integration Server resources into account when you define integration processes. 
    Resource Consumption of Different Step Types and Transactional Behavior
    Different step types consume different amounts of system resources:
    &#9679;      Step types with high resource consumption:
    •     &#9675;       Receive step
    •     &#9675;       Send step
    Asynchronous send steps with acknowledgments in particular consume a lot of system resources. In the case of synchronous send steps, consumption depends on the target system.
    •     &#9675;       Receiver determination
    •     &#9675;       Transformation step
    In transformation steps, resource consumption is dependent on the mapping called. In general, process steps that generate work items internally are relevant for process performance. Transformation steps (either for message split or merge) also include a mapping step and can be quite expensive. This should be taken into consideration during scenario design.
    •     &#9675;       Block
    •     &#9675;       Wait step
    &#9679;      Step types with low resource consumption:
    •     &#9675;       Control step
    •     &#9675;       Multiple condition
    •     &#9675;       Fork
    •     &#9675;       Loop
    •     &#9675;       Undefined step
    If you design the transactional behavior of an integration process so that the following steps are not performed as separate transactions, you can improve performance significantly:
    &#9679;      Transformation step
    &#9679;      Receiver determination
    &#9679;      Send step (synchronous or asynchronous)
    Transactional Behavior of an Integration Process 
    Use
    You can now influence transactional behavior in the definition of an integration process in the process editor.  This enables you to improve performance.
    Transaction:
    A transaction is a sequence of processing steps that are either fully executed, or not executed at all. If the system cannot fully execute a transaction, it rolls back all processing steps within the transaction. This means that the system can return to the state before the transaction was begun.
    The transaction control mechanism for integration processes is not a central transaction manager for an entire system landscape. The transaction control mechanism cannot roll back any processing steps outside the Integration Server.
    Transaction Boundaries
    You have the option of defining the start or end of a block as the boundary of a transaction.
    &#9679;      In the case of the start of a block, you can define that the system is to start a new transaction.
    &#9679;      In the case of the end of a block, you can define that the system is to end the transaction being started (COMMIT WORK). The system ends the transaction that is currently open, regardless of whether it has been started or not. For example, if no new transaction was started at the start of the block, the last transaction started is continued instead.
    By making appropriate settings for the start and end of a block you can expand transactions. This means that the database needs to be accessed less often, and enables you to improve system performance
    Transactional Behavior for Specific Step Types
    At runtime, the system normally creates a separate transaction for each step. The transaction then covers this step only. However, you can influence the transactional behavior of particular step types. In the step properties, you can define that the system is not to start a new transaction when the step is executed. The system then executes the step in the transaction that was started at the time of execution. Consequently, no background work item is created for the step and the database does not need to be accessed. In this way you can improve system performance.
    You can influence the transactional behavior of the following step types:
    &#9679;      Send step
    You can influence the transactional behavior when sending messages both synchronously and asynchronously, and when sending acknowledgments
    •     Transformation Step
    •     Receiver Determination Step
    Optimizing Transactional Behavior:
    &#9679;      Memory requirements
    Expanding transactions and executing specific steps without creating a new transaction may increase the burden on the main memory. If the burden on the main memory is too great, you must redefine transactions, or define that a new transaction is to be created for the step concerned.
    &#9679;      Troubleshooting in the workflow log
    The technical view of the workflow log does not show any detailed information for steps for which no work item was created. If an error occurs, the workflow log displays the error information for the last executed step. The following example illustrates this:
    A process contains a transformation step that is executed within an expanded transaction. When the transformation step is executed, an error occurs in mapping and the system rolls back the transaction. Since no work item was created for the transformation step, the workflow log does not have an entry for the transformation step. The error information is entered in the last executed step in the workflow log.
    EXAMPLE:
    For an example of resource consumption, see the BPM scenario described in the XI sizing guide:
    The inbound SOAP messages are handed over to the BPE, which triggers a two-step process consisting of message reception and sending. The processed messages are then sent to a receiver by using the SOAP channel; no mapping.
    The SAPS value for this scenario, in which 10 kB messages are processed, is 1300 (processing one process instance each second). A simple XI proxy scenario, for example, requires 140 SAPS process-ing one message each second. This gives you an idea of the resource requirements using BPM.
    Example:
    In the original implementation, two separate JCBC calls were made to retrieve a sales order document header and the line items. This data then was transformed to the IDoc format of the receiving application using a transformation. Then, using a loop step, one IDoc at a time was sent to the backend application. - This sub optimal design resulted in poor performance caused by following design flaws:
                    Separate retrieval of header and line items with the JDBC adapter
                   Transformation within ccBPM to combine retrieved header and line items
                   IDoc back end connection for one document at the time
    In the improved version below, both the JDBC call and the transformation were removed from the ccBPM. The retrieval of the source messages is done via a synchronous call with two mappings in the integration engine of XI that generate the required format for the receiving system. Therefore, it is not necessary to add an additional transformation step in the ccBPM. Additionally, the IDoc adapter connecting to the target system is used to handle multiple IDocs inside one XI message. Therefore, it is not necessary to add a loop operation within the ccBPM either. – In this particular implementation, the described changes resulted in a 20x performance improvement!
    IMP LINKS:
    3bf550d4-0201-0010-b2ae-8569d193124e.pdf
    43e8e190-0201-0010-3ea1-d6f996cb4124.pdf
    70ada5ef-0201-0010-1f8b-c935e444b0ad.pdf
    c071d7bb-0601-0010-d6b8-f4e4dc7f1e20.pdf

  • Acrobat 9 Standard Install Using Transform Without GPO

    I've created an administrative installation and used the Customization Wizard to create a transform. When I run the .msi file from the administrative installation it does not automatically call the transform. Can I run the .msi with the transform (without using GPO and AD) and assuming I can what is the switch? Thank you. - DPW

    The easiest way to do this is by creating a batch file that calls the msi and invokes the transform.  The code should like this:
    msiexec /package AcroStan.msi TRANSFORMS=AcroStan.mst

  • Poor performance of XSLT-transformation

    Hi, everyone
    I`ve got report in BI-publisher based on xsl-template.
    This template transforms flat xml-file in Excel file and displays the data in the likeness of a cross-tab.
    Everything looks fine, but when the input file is larger than 1 MB, then the output file is formed about 10-15 minutes.
    However, when the input file is less than 1 MB, I got the output file is less than 1 minute.
    How i can see where is the "bottleneck"?
    What i can do to improve performance of xslt-transformation?
    Thanks

    Hi,
    Sorry that did not respond sooner.
    We have gave the process of 1024 MB memory.
    It`s about 4100+ records in result xml.
    BIP version is 10.1.3.4 and java - 1.6.
    Xsl-template and Xml you can download here
    Thank you for reply =)

  • Can I run static NAT44 in default VRF without ISM or VSM module?

    I have to configure static NAT (1IP to 1 IP NAT44) in default vrf. I don't want to buy  ISM/VSM and licence CGv6
    The traffic will be very low (maximum 10000 session per second). I don't want to place a new router. ARS9k has 4.2.1 frimware version.
    Can I run static NAT44  in default VRF without ISM or VSM module?

    Hi Tomasz,
    unfortunately no, even at very low speed, we can not perform NAT tasks on ASR9000 without a service card.
    Kind regards,
    N.

  • State chart without NI state chart module

    I have read the design article on state machines in Labview in http://zone.ni.com/devzone/cda/tut/p/id/3024 and gone through the cannon and coin machine examples. I am attempting to build my own state machine (have the state machine diagram as well as the states of my i/o laid out, which will be attached later) without the state chart module b/c I don't think my model is complex enough to justify the purchase. However, after reading the design article, I still don't quite understand how to use the digital logic function palettes to link between each state of my state machine using the status of the inputs. Does anyone have any insight on how to get started on this as I'm still confused after going through the examples?

    No problem, happens once in a while. My post just ensures that all answers will be in the same thread.
    LabVIEW Champion . Do more with less code and in less time .

  • Without Payroll What all Modules I can Implement in SAP HR

    Without Payroll What all module I can implement in SAP HR?
    Asfar as my knowledge is concerned We can Time Management. Training and Event Management, Performanace Management, Recruitment & E Recruitment.
    I guess For Travel Management too Payroll is required?
    My Question Can I implement Personal Cost Planning without Payroll? Is it required that i needto configure Basic Wagetype that is 0008 Is that is required to configure Basic Wagetype for Personal Cost Planning?
    Could you please throw some light on this?

    Hi,
    According to SAP help you need to implement Organizational management at least in order to be using Personnel Cost Planning.
    However, depending on the functions you require you need to implement other HR submodules and integrate with Personnel Cost Planning component. For this integration considerations please check below:
    Integration With Other Application Components
    aFunction Required
    bComponent Required
    1a Include all payment-relevant information from HR master data when creating personnel cost plans
    1bPersonnel Administration (PA-PA)
    2a Include all payroll results when creating personnel cost plans
    2b Payroll (PY)
    2a Include all training costs when creating personnel cost plans
    2a Include personnel cost plans when creating the budget for Training and Event Management
    2b Training and Event Management (PE)
    3a Include compensation guidelines for employees or planned compensation for jobs and positions when creating personnel cost plans
    3a Include personnel cost plans when creating the budget for Compensation Management
    3b Compensation Management (PA-CM)
    4a Include personnel cost plans when generating commitment or budget data within personnel budget planning
    4b Position Budgeting and Control (PA-PM-PB)
    5a Include personnel cost plans in planning for the entire company
    5b Controlling (CO)
    6a Detailed reports, planned/actual comparisons
    6b SAP Business Information Warehouse (SAP BW)
    Ref: help.sap.com
    Regards,
    Dilek

  • Employees Salary without Time Management sub-module?

    Dear Consultants,
    Where to record employees attendance/absences (time related information) inorder to pay the salary through SAP-HR Payroll? We are implementing PA and Payroll (International). Time Management is not in the scope of the project.
    Could you please let me know, how can we handle this without Time Management. What would be the limitations without Time Management sub-module.
    Thank you all for your efforts.
    Edited by: Business Analyst - HCM on May 20, 2009 2:20 PM

    You have to create atleast the work schedule which will consist of DWS and PSW and then work scheedule rule. Also I think you will require to configure feature SCHKZ to default work schedule rule in IT0007.
    After doing this configuration you can create wagetypes related to ur time and you can pay these wage types through IT2010 ee remuneration info
    if the wt will have rate then that rate you can maintain in T510 and may be to meet the complete requirement you need to write little bit code in CATS exit.
    otherwise you will be able to pay through 2010 and you can enter the data thru CAT2 tcode. Just you need to create a profile and set the view for entering the data like single entry or mass entry.
    SPRO->IMG->Cross-Application Components->Time Sheet->Specific Settings for CATS Regular->CATS Regular->Record Working Time
    hope this will help
    guds

  • Can I implement SAP MM without implementing SAP FICO module?

    Hello all,
    Can I implement SAP MM without implementing SAP FICO module?

    Hi Abhijeet,
    The answer is Yes and No. Yes, if you have a corporate wide Financial System for taking balance sheet and other reporting needs and you need SAP MM for your purchasing and inventory management functions. Even in this case, you will need a FICO Consultant to setup the minimum FI settings. And to build interface to push the relevant data between SAP and the core financial system. No, if you dont have any other system to track the business financials.
    Most implementations will have FI and MM implemented and in few cases, where the corporate wide Financial system is different from SAP, we will have a lean FI implemented in SAP to allow necessary postings.
    Best Regards
    Sathees Gopalan

  • Is there a way to perform a clean install without the Internet on the computer that my iPhone is backed up on?

    I don't have Internet on my PC that my iPhone is backed up to. Without connecting it to the Internet, how can I perform a clean install? Since iOS 7 my battery life has been crap, I've tried everything except a clean install, so this is my last resort but I wanna make sure I can do it before I wipe my phone.

    Installing iOS requires an Internet connection, there is no way around this.

  • How do I perform the interp3 function in matlab in LabVIEW

    I have the following data attached (DTTT.txt).  The four columns are as follows: Column 1, 2 and 3 are (fixed) measurement points and the fourth column is the resulting measurement data using these 3 points. What I need to do is find the value that should be in column 4 with the values in columns 1, 2 and 3 of (i.e. 0, 100 and 20).  Is there any base function in LabVIEW for performing this interpolation? I would be using interp3 in matlab for this, but we only want to use strict LabVIEW code in this project (i.e. no external interface to matlab allowed). Thanks for any help I can get...
    Attachments:
    DTTT.txt ‏8 KB

    There are quite a few interpolation functions in LabVIEW.
    Go to
    Function Palette
    then
    Mathematics Palette
    then
    Interp & Etrap Palette
    and choose the VI that will work from there.
    CLD | CTD
    LabVIEW 2011 SP1 | TestStand 4.5

  • Performance of XSLT transformation

    Hello everybody,
    I´m trying to do some in-database XML transformations from one XML format to another with a rather complex xsl stylesheet of about 9000 lines of code which performs this transformation. At first I tested the XDK XSLT functionality by simply doing a Transformation over the JAXP API outside the Database. It performed not bad, altough the memory consumption was a little bit higher then Saxon or Xalan. After that I read about the possibilities of in-database transformation, which should consume less memory because of oracle´s xml features like scalable DOM, XML Indexing and Query Rewriting when using object relational or binary storage. So we loaded our testdata into the db (we are using 11gR2 on a test system with Intel Core2Duo @ 3GhZ and 3GB RAM), in different XML storage options (XMLTYPE CLOB, Binary, OR) and tried to do a XSLT transformation on the columns. But it isn´t working.
    The db seems not to be able to cope with the transformation although the parser and processor should be the same as the off-database transformation that was working well (or am I wrong?). After half an hour we aborted because the db hadn´t finished the transformation yet (the off-db transformation of this 100KB XML took less then a second). We tried indexing the columns with XMLIndex, didn´t work out, we tried both XMLTYPE´s XMLtransform() and dbms_xslprocessor.processxsl(), same problem, the DB is working and working with no result, after some time we have to terminate. With a simple teststylesheet the transformation is doing fine but our complex stylesheet seems to be the problem.
    My question is, why is the xslt performance so poorly with the complex stylesheet and why can I use the XDK Parser and Processor in an off-db transformation very efficiently but when doing the same transformation in the db it´s not working.
    Hope you can help me out a little bit I´m really running out of ideas.
    Greetz dirac

    Hi,
    The db seems not to be able to cope with the transformation although the parser and processor should be the same as the off-database transformation that was working well (or am I wrong?). No, the database built-in XSLT processor (C-based) is not the same as the XDK's Java implementation.
    There's also a C XSLT processor available for external transformation and working with compiled stylesheets, it should outperform the Java implementation.
    See : http://docs.oracle.com/cd/E11882_01/appdev.112/e23582/adx_c_xslt.htm#i1020191
    We tried indexing the columns with XMLIndex, didn´t work out, we tried both XMLTYPE´s XMLtransform() and dbms_xslprocessor.processxsl(), same problem, the DB is working and working with no result, after some time we have to terminate. With a simple teststylesheet the transformation is doing fine but our complex stylesheet seems to be the problem.XMLIndexes won't help at all in this situation.
    In my experience so far with the built-in engine, I've seen the best result when the XML document we want transform is stored as binary XML.
    I don't know about the scalable DOM (or "lazy" DOM loading) feature described in the documentation, seems it doesn't support complex transformations, much like functional vs. streaming evaluation for XQuery.
    Hope you can help me out a little bit I´m really running out of ideas.I'd be interested in a test case if you have the possibility (stylesheet + sample input XML). You can mail me at this address : mb[dot]perso[at]wanadoo[dot]fr
    If you can't, could you describe what kind of transformation you're performing and how can I reproduce that behaviour?
    Thanks.
    Marc.

  • [9i] poor performance with XMLType.transform

    Hello,
    I've got a problem with the Oracle function XMLType.transform.
    When I try to apply a XSL to a big XML, it is very very slow, and it evens consumes all the CPU, and other users are not able to work until the processing is complete...
    So I was wondering if my XSL was corrupted, but it does not seem so, because when i apply it with Internet Explorer (by just double-clicking on the .xml), it is immediately applied. I've also even tried with oraxsl, and the processing is quick and good.
    So, i tried to use XDB, but it does not work, maybe I should upgrade to a newer version of XDB?
    Please find the ZIP file here :
    http://perso.modulonet.fr/~tleoutre/Oracle/samples.zip
    Please find in this file :
    1) The XSL file k_xsl.xsl
    2) The "big" XML file big_xml.xml
    Here you can try to apply the XSL on the XML with Internet Explorer : processing is very quick...
    3) The batch file transform.bat
    Here you can launch it, it calls oraxsl, and produces a result very quickly...
    4) The SQL file test_xsl_with_xmltype_transform.sql.
    You can try to launch it... First, it applies the same XSL with a little XML, and it's OK... And then, it applies the XSL to the same big XML as in point 1), and then, it takes a lot of time and CPU...
    5) The SQL file test_xsl_with_xdb_1.sql ...
    On my server, it fails... So I tried to change the XSL in the next point :
    6) The SQL file test_xsl_with_xdb_2.sql with a "cleaned" XSL...
    And then, it fails with exactly the same problem as in :
    TransformerConfigurationException  (Unknown expression at EOF: *|/.)
    Any help would be greatly appreciated!
    Thank you!
    P.S. : Sorry for my bad english, I'm a French man :-)

    This is what I see...
    Your tests are measuring the wrong thing. You are measuring the time to create the sample documents, which is being done very innefficiently, as well
    as the time take to do the transform.
    Below is the correct way to get mesasurements for each task..
    Here's what I see on a PIV 2.4Ghz with 10.2.0.2.0 and 2GB of RAM
    Fragments SourceSize  TargetSize createSource       Parse     Transform
            50      28014      104550  00:00:00.04 00:00:00.04   00:00:00.12
           100      55964      209100  00:00:00.03 00:00:00.05   00:00:00.23
           500     279564     1045500  00:00:00.16 00:00:00.23   00:00:01.76
          1000     559064     2091000  00:00:00.28 00:00:00.28   00:00:06.04
          2000    1118064     4182000  00:00:00.34 00:00:00.42   00:00:24.43
          5000    2795064    10455000  00:00:00.87 00:00:02.02   00:03:19.02I think this clearly shows the pattern.
    Of course what this testing really shows is that you've clearly missed the point of performing XSLT transformation inside the database.
    The idea behind database based transformation is to optimize XSLT processing by
    (1), not having to parse the XML and build a DOM tree before commencing the XSLT processing. In this example this is not possible since the
    XML is being created from a CLOB based XMLType, not a schema based XMLType.
    (2) Leveraging the Lazily Loaded Virtual DOM when doing sparse transformation ( A Sparse transformation is one where there are large parts of the
    source document that are not required to create the target document. Again in this case the XSL requires you to walk all the nodes to generate the
    required output.
    If is necessary to process all of the nodes in the source document to generate the entire output it probably makes more sense to use a midtier XSL engine.
    Here's the code I used to generate the numbers in the above example
    BTW in terms of BIG XML we've successully processed 12G documents with Schema Based Storage...So nothing you have hear comes any where our defintion of big.- 1 with Oracle 10g Express on Linux
    Also, please remember that 9.2.0.1.0 is not a supported release for any XML DB related features.
    SQL*Plus: Release 10.2.0.2.0 - Production on Fri Feb 10 07:44:59 2006
    Copyright (c) 1982, 2005, Oracle.  All Rights Reserved.
    SQL> spool createDocument.log
    SQL> --
    SQL> connect &1/&2
    Connected.
    SQL> --
    SQL> create or replace directory &1 as '&3'
      2  /
    old   1: create or replace directory &1 as '&3'
    new   1: create or replace directory SCOTT as '/home/mdrake/bugs/xslTest'
    Directory created.
    SQL> drop table source_data_table
      2  /
    Table dropped.
    SQL> create table source_data_table
      2  (
      3    fragCount number,
      4    xml_text  clob,
      5    xml       xmlType,
      6    result    clob
      7  )
      8  /
    Table created.
    SQL> create or replace procedure createDocument(fragmentCount number)
      2  as
      3    fragmentText clob :=
      4  '<AFL LIGNUM="1999">
      5    <mat>20000001683</mat>
      6    <name>DOE</name>
      7    <firstname>JOHN</firstname>
      8    <name2>JACK</name2>
      9    <SEX>MALE</SEX>
    10    <birthday>1970-05-06</birthday>
    11    <salary>5236</salary>
    12    <code1>5</code1>
    13    <code2>6</code2>
    14    <code3>7</code3>
    15    <date>2006-05-06</date>
    16    <dsp>8.665</dsp>
    17    <dsp_2000>455.45</dsp_2000>
    18    <darr04>5.3</darr04>
    19    <darvap04>6</darvap04>
    20    <rcrr>8</rcrr>
    21    <rcrvap>9</rcrvap>
    22    <rcrvav>10</rcrvav>
    23    <rinet>11.231</rinet>
    24    <rmrr>12</rmrr>
    25    <rmrvap>14</rmrvap>
    26    <ro>15</ro>
    27    <rr>189</rr>
    28    <date2>2004-05-09</date2>
    29  </AFL>';
    30
    31    xmlText CLOB;
    32
    33  begin
    34    dbms_lob.createTemporary(xmlText,true,DBMS_LOB.CALL);
    35    dbms_lob.write(xmlText,5,1,'<PRE>');
    36    for i in 1..fragmentCount loop
    37       dbms_lob.append(xmlText,fragmentText);
    38    end loop;
    39    dbms_lob.append(xmlText,xmlType('<STA><COD>TER</COD><MSG>Op?ation R?ssie</MSG></STA>').getClobVal());
    40    dbms_lob.append(xmlText,'</PRE>');
    41    insert into source_data_table (fragCount,xml_text) values (fragmentCount, xmlText);
    42    commit;
    43    dbms_lob.freeTemporary(xmlText);
    44  end;
    45  /
    Procedure created.
    SQL> show errors
    No errors.
    SQL> --
    SQL> set timing on
    SQL> --
    SQL> call createDocument(50)
      2  /
    Call completed.
    Elapsed: 00:00:00.04
    SQL> call createDocument(100)
      2  /
    Call completed.
    Elapsed: 00:00:00.03
    SQL> call createDocument(500)
      2  /
    Call completed.
    Elapsed: 00:00:00.16
    SQL> call createDocument(1000)
      2  /
    Call completed.
    Elapsed: 00:00:00.28
    SQL> call createDocument(2000)
      2  /
    Call completed.
    Elapsed: 00:00:00.34
    SQL> call createDocument(5000)
      2  /
    Call completed.
    Elapsed: 00:00:00.87
    SQL> select fragCount dbms_lob.getLength(xmlText)
      2    from sample_data_table
      3  /
    select fragCount dbms_lob.getLength(xmlText)
    ERROR at line 1:
    ORA-00923: FROM keyword not found where expected
    Elapsed: 00:00:00.00
    SQL> quit
    Disconnected from Oracle Database 10g Enterprise Edition Release 10.2.0.2.0 - Production
    With the Partitioning, OLAP and Data Mining options
    SQL*Plus: Release 10.2.0.2.0 - Production on Fri Feb 10 07:45:01 2006
    Copyright (c) 1982, 2005, Oracle.  All Rights Reserved.
    SQL> spool testcase_&3..log
    SQL> --
    SQL> connect &1/&2
    Connected.
    SQL> --
    SQL> set timing on
    SQL> --
    SQL> update source_data_table
      2     set xml = xmltype(xml_text)
      3   where fragCount = &3
      4  /
    old   3:  where fragCount = &3
    new   3:  where fragCount = 50
    1 row updated.
    Elapsed: 00:00:00.04
    SQL> commit
      2  /
    Commit complete.
    Elapsed: 00:00:00.01
    SQL> update source_data_table
      2     set result = xmltransform(xml,xmltype(bfilename(USER,'&4'),nls_charset_id('WE8ISO8859P1'))).getClobVal()
      3   where fragCount = &3
      4  /
    old   2:    set result = xmltransform(xml,xmltype(bfilename(USER,'&4'),nls_charset_id('WE8ISO8859P1'))).getClobVal()
    new   2:    set result = xmltransform(xml,xmltype(bfilename(USER,'k_xsl.xsl'),nls_charset_id('WE8ISO8859P1'))).getClobVal()
    old   3:  where fragCount = &3
    new   3:  where fragCount = 50
    1 row updated.
    Elapsed: 00:00:00.12
    SQL> commit
      2  /
    Commit complete.
    Elapsed: 00:00:00.01
    SQL> select fragCount, dbms_lob.getLength(xml_text),dbms_lob.getLength(result)
      2    from source_data_table
      3  /
    FRAGCOUNT DBMS_LOB.GETLENGTH(XML_TEXT) DBMS_LOB.GETLENGTH(RESULT)
            50                        28014                     104550
           100                        55964
           500                       279564
          1000                       559064
          2000                      1118064
          5000                      2795064
    6 rows selected.
    Elapsed: 00:00:00.01
    SQL> quit
    Disconnected from Oracle Database 10g Enterprise Edition Release 10.2.0.2.0 - Production
    With the Partitioning, OLAP and Data Mining options
    SQL*Plus: Release 10.2.0.2.0 - Production on Fri Feb 10 07:45:02 2006
    Copyright (c) 1982, 2005, Oracle.  All Rights Reserved.
    SQL> spool testcase_&3..log
    SQL> --
    SQL> connect &1/&2
    Connected.
    SQL> --
    SQL> set timing on
    SQL> --
    SQL> update source_data_table
      2     set xml = xmltype(xml_text)
      3   where fragCount = &3
      4  /
    old   3:  where fragCount = &3
    new   3:  where fragCount = 100
    1 row updated.
    Elapsed: 00:00:00.05
    SQL> commit
      2  /
    Commit complete.
    Elapsed: 00:00:00.01
    SQL> update source_data_table
      2     set result = xmltransform(xml,xmltype(bfilename(USER,'&4'),nls_charset_id('WE8ISO8859P1'))).getClobVal()
      3   where fragCount = &3
      4  /
    old   2:    set result = xmltransform(xml,xmltype(bfilename(USER,'&4'),nls_charset_id('WE8ISO8859P1'))).getClobVal()
    new   2:    set result = xmltransform(xml,xmltype(bfilename(USER,'k_xsl.xsl'),nls_charset_id('WE8ISO8859P1'))).getClobVal()
    old   3:  where fragCount = &3
    new   3:  where fragCount = 100
    1 row updated.
    Elapsed: 00:00:00.23
    SQL> commit
      2  /
    Commit complete.
    Elapsed: 00:00:00.03
    SQL> select fragCount, dbms_lob.getLength(xml_text),dbms_lob.getLength(result)
      2    from source_data_table
      3  /
    FRAGCOUNT DBMS_LOB.GETLENGTH(XML_TEXT) DBMS_LOB.GETLENGTH(RESULT)
            50                        28014                     104550
           100                        55964                     209100
           500                       279564
          1000                       559064
          2000                      1118064
          5000                      2795064
    6 rows selected.
    Elapsed: 00:00:00.01
    SQL> quit
    Disconnected from Oracle Database 10g Enterprise Edition Release 10.2.0.2.0 - Production
    With the Partitioning, OLAP and Data Mining options
    SQL*Plus: Release 10.2.0.2.0 - Production on Fri Feb 10 07:45:02 2006
    Copyright (c) 1982, 2005, Oracle.  All Rights Reserved.
    SQL> spool testcase_&3..log
    SQL> --
    SQL> connect &1/&2
    Connected.
    SQL> --
    SQL> set timing on
    SQL> --
    SQL> update source_data_table
      2     set xml = xmltype(xml_text)
      3   where fragCount = &3
      4  /
    old   3:  where fragCount = &3
    new   3:  where fragCount = 500
    1 row updated.
    Elapsed: 00:00:00.12
    SQL> commit
      2  /
    Commit complete.
    Elapsed: 00:00:00.03
    SQL> update source_data_table
      2     set result = xmltransform(xml,xmltype(bfilename(USER,'&4'),nls_charset_id('WE8ISO8859P1'))).getClobVal()
      3   where fragCount = &3
      4  /
    old   2:    set result = xmltransform(xml,xmltype(bfilename(USER,'&4'),nls_charset_id('WE8ISO8859P1'))).getClobVal()
    new   2:    set result = xmltransform(xml,xmltype(bfilename(USER,'k_xsl.xsl'),nls_charset_id('WE8ISO8859P1'))).getClobVal()
    old   3:  where fragCount = &3
    new   3:  where fragCount = 500
    1 row updated.
    Elapsed: 00:00:01.76
    SQL> commit
      2  /
    Commit complete.
    Elapsed: 00:00:00.00
    SQL> select fragCount, dbms_lob.getLength(xml_text),dbms_lob.getLength(result)
      2    from source_data_table
      3  /
    FRAGCOUNT DBMS_LOB.GETLENGTH(XML_TEXT) DBMS_LOB.GETLENGTH(RESULT)
            50                        28014                     104550
           100                        55964                     209100
           500                       279564                    1045500
          1000                       559064
          2000                      1118064
          5000                      2795064
    6 rows selected.
    Elapsed: 00:00:00.00
    SQL> quit
    Disconnected from Oracle Database 10g Enterprise Edition Release 10.2.0.2.0 - Production
    With the Partitioning, OLAP and Data Mining options
    SQL*Plus: Release 10.2.0.2.0 - Production on Fri Feb 10 07:45:04 2006
    Copyright (c) 1982, 2005, Oracle.  All Rights Reserved.
    SQL> spool testcase_&3..log
    SQL> --
    SQL> connect &1/&2
    Connected.
    SQL> --
    SQL> set timing on
    SQL> --
    SQL> update source_data_table
      2     set xml = xmltype(xml_text)
      3   where fragCount = &3
      4  /
    old   3:  where fragCount = &3
    new   3:  where fragCount = 1000
    1 row updated.
    Elapsed: 00:00:00.28
    SQL> commit
      2  /
    Commit complete.
    Elapsed: 00:00:00.01
    SQL> update source_data_table
      2     set result = xmltransform(xml,xmltype(bfilename(USER,'&4'),nls_charset_id('WE8ISO8859P1'))).getClobVal()
      3   where fragCount = &3
      4  /
    old   2:    set result = xmltransform(xml,xmltype(bfilename(USER,'&4'),nls_charset_id('WE8ISO8859P1'))).getClobVal()
    new   2:    set result = xmltransform(xml,xmltype(bfilename(USER,'k_xsl.xsl'),nls_charset_id('WE8ISO8859P1'))).getClobVal()
    old   3:  where fragCount = &3
    new   3:  where fragCount = 1000
    1 row updated.
    Elapsed: 00:00:06.04
    SQL> commit
      2  /
    Commit complete.
    Elapsed: 00:00:00.00
    SQL> select fragCount, dbms_lob.getLength(xml_text),dbms_lob.getLength(result)
      2    from source_data_table
      3  /
    FRAGCOUNT DBMS_LOB.GETLENGTH(XML_TEXT) DBMS_LOB.GETLENGTH(RESULT)
            50                        28014                     104550
           100                        55964                     209100
           500                       279564                    1045500
          1000                       559064                    2091000
          2000                      1118064
          5000                      2795064
    6 rows selected.
    Elapsed: 00:00:00.00
    SQL> quit
    Disconnected from Oracle Database 10g Enterprise Edition Release 10.2.0.2.0 - Production
    With the Partitioning, OLAP and Data Mining options
    SQL*Plus: Release 10.2.0.2.0 - Production on Fri Feb 10 07:45:11 2006
    Copyright (c) 1982, 2005, Oracle.  All Rights Reserved.
    SQL> spool testcase_&3..log
    SQL> --
    SQL> connect &1/&2
    Connected.
    SQL> --
    SQL> set timing on
    SQL> --
    SQL> update source_data_table
      2     set xml = xmltype(xml_text)
      3   where fragCount = &3
      4  /
    old   3:  where fragCount = &3
    new   3:  where fragCount = 2000
    1 row updated.
    Elapsed: 00:00:00.42
    SQL> commit
      2  /
    Commit complete.
    Elapsed: 00:00:00.02
    SQL> update source_data_table
      2     set result = xmltransform(xml,xmltype(bfilename(USER,'&4'),nls_charset_id('WE8ISO8859P1'))).getClobVal()
      3   where fragCount = &3
      4  /
    old   2:    set result = xmltransform(xml,xmltype(bfilename(USER,'&4'),nls_charset_id('WE8ISO8859P1'))).getClobVal()
    new   2:    set result = xmltransform(xml,xmltype(bfilename(USER,'k_xsl.xsl'),nls_charset_id('WE8ISO8859P1'))).getClobVal()
    old   3:  where fragCount = &3
    new   3:  where fragCount = 2000
    1 row updated.
    Elapsed: 00:00:24.43
    SQL> commit
      2  /
    Commit complete.
    Elapsed: 00:00:00.03
    SQL> select fragCount, dbms_lob.getLength(xml_text),dbms_lob.getLength(result)
      2    from source_data_table
      3  /
    FRAGCOUNT DBMS_LOB.GETLENGTH(XML_TEXT) DBMS_LOB.GETLENGTH(RESULT)
            50                        28014                     104550
           100                        55964                     209100
           500                       279564                    1045500
          1000                       559064                    2091000
          2000                      1118064                    4182000
          5000                      2795064
    6 rows selected.
    Elapsed: 00:00:00.00
    SQL> quit
    Disconnected from Oracle Database 10g Enterprise Edition Release 10.2.0.2.0 - Production
    With the Partitioning, OLAP and Data Mining options
    SQL*Plus: Release 10.2.0.2.0 - Production on Fri Feb 10 07:45:36 2006
    Copyright (c) 1982, 2005, Oracle.  All Rights Reserved.
    SQL> spool testcase_&3..log
    SQL> --
    SQL> connect &1/&2
    Connected.
    SQL> --
    SQL> set timing on
    SQL> --
    SQL> update source_data_table
      2     set xml = xmltype(xml_text)
      3   where fragCount = &3
      4  /
    old   3:  where fragCount = &3
    new   3:  where fragCount = 5000
    1 row updated.
    Elapsed: 00:00:02.02
    SQL> commit
      2  /
    Commit complete.
    Elapsed: 00:00:00.05
    SQL> update source_data_table
      2     set result = xmltransform(xml,xmltype(bfilename(USER,'&4'),nls_charset_id('WE8ISO8859P1'))).getClobVal()
      3   where fragCount = &3
      4  /
    old   2:    set result = xmltransform(xml,xmltype(bfilename(USER,'&4'),nls_charset_id('WE8ISO8859P1'))).getClobVal()
    new   2:    set result = xmltransform(xml,xmltype(bfilename(USER,'k_xsl.xsl'),nls_charset_id('WE8ISO8859P1'))).getClobVal()
    old   3:  where fragCount = &3
    new   3:  where fragCount = 5000
    1 row updated.
    Elapsed: 00:03:19.02
    SQL> commit
      2  /
    Commit complete.
    Elapsed: 00:00:00.01
    SQL> select fragCount, dbms_lob.getLength(xml_text),dbms_lob.getLength(result)
      2    from source_data_table
      3  /
    FRAGCOUNT DBMS_LOB.GETLENGTH(XML_TEXT) DBMS_LOB.GETLENGTH(RESULT)
            50                        28014                     104550
           100                        55964                     209100
           500                       279564                    1045500
          1000                       559064                    2091000
          2000                      1118064                    4182000
          5000                      2795064                   10455000
    6 rows selected.
    Elapsed: 00:00:00.04
    SQL> quit
    Disconnected from Oracle Database 10g Enterprise Edition Release 10.2.0.2.0 - Production
    With the Partitioning, OLAP and Data Mining options
    bash-2.05b$

  • Xml transformation without validation

    Hi,
    How can I carry out an xsl transformation in java without validating the xml document??
    regards
    anand

    Well I've a DomSource and I want to transform it using a templates defined in an XSL file.
    This is how I'm doing it
    Source source = new DOMSource(document);
    TransformerFactory.newInstance().newTransformer().transform(source, new StreamResult("temp.xml"));
    The stack trace I'm getting is:
    ERROR: 'The entity "bull" was referenced, but not declared.'
    ERROR: 'com.sun.org.apache.xml.internal.utils.WrappedRuntimeException: The entity "bull" was referenced, but not declared.'
    Exception in thread "main" javax.xml.transform.TransformerException: javax.xml.transform.TransformerException: com.sun.org.apache.xml.internal.utils.WrappedRuntimeException: The entity "bull" was referenced, but not declared.
         at com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.transform(TransformerImpl.java:654)
         at com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.transform(TransformerImpl.java:281)
         at temp.Temp.main(Temp.java:115)
    Caused by: javax.xml.transform.TransformerException: com.sun.org.apache.xml.internal.utils.WrappedRuntimeException: The entity "bull" was referenced, but not declared.
         at com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.getDOM(TransformerImpl.java:496)
         at com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.transform(TransformerImpl.java:644)
         ... 2 more
    Caused by: com.sun.org.apache.xml.internal.utils.WrappedRuntimeException: The entity "bull" was referenced, but not declared.
         at com.sun.org.apache.xalan.internal.xsltc.dom.XSLTCDTMManager.getDTM(XSLTCDTMManager.java:393)
         at com.sun.org.apache.xalan.internal.xsltc.dom.XSLTCDTMManager.getDTM(XSLTCDTMManager.java:228)
         at com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.getDOM(TransformerImpl.java:474)
         ... 3 more
    javax.xml.transform.TransformerException: com.sun.org.apache.xml.internal.utils.WrappedRuntimeException: The entity "bull" was referenced, but not declared.
         at com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.getDOM(TransformerImpl.java:496)
         at com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.transform(TransformerImpl.java:644)
         at com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.transform(TransformerImpl.java:281)
         at temp.Temp.main(Temp.java:115)
    Caused by: com.sun.org.apache.xml.internal.utils.WrappedRuntimeException: The entity "bull" was referenced, but not declared.
         at com.sun.org.apache.xalan.internal.xsltc.dom.XSLTCDTMManager.getDTM(XSLTCDTMManager.java:393)
         at com.sun.org.apache.xalan.internal.xsltc.dom.XSLTCDTMManager.getDTM(XSLTCDTMManager.java:228)
         at com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.getDOM(TransformerImpl.java:474)
         ... 3 more
    com.sun.org.apache.xml.internal.utils.WrappedRuntimeException: The entity "bull" was referenced, but not declared.
         at com.sun.org.apache.xalan.internal.xsltc.dom.XSLTCDTMManager.getDTM(XSLTCDTMManager.java:393)
         at com.sun.org.apache.xalan.internal.xsltc.dom.XSLTCDTMManager.getDTM(XSLTCDTMManager.java:228)
         at com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.getDOM(TransformerImpl.java:474)
         at com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.transform(TransformerImpl.java:644)
         at com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.transform(TransformerImpl.java:281)
         at temp.Temp.main(Temp.java:115)
    org.xml.sax.SAXParseException: The entity "bull" was referenced, but not declared.
         at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(ErrorHandlerWrapper.java:236)
         at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.fatalError(ErrorHandlerWrapper.java:215)
         at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:386)
         at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:316)
         at com.sun.org.apache.xerces.internal.impl.XMLScanner.reportFatalError(XMLScanner.java:1438)
         at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanEntityReference(XMLDocumentFragmentScannerImpl.java:1332)
         at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(XMLDocumentFragmentScannerImpl.java:1756)
         at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:368)
         at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:834)
         at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:764)
         at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:148)
         at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1242)
         at com.sun.org.apache.xalan.internal.xsltc.dom.XSLTCDTMManager.getDTM(XSLTCDTMManager.java:387)
         at com.sun.org.apache.xalan.internal.xsltc.dom.XSLTCDTMManager.getDTM(XSLTCDTMManager.java:228)
         at com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.getDOM(TransformerImpl.java:474)
         at com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.transform(TransformerImpl.java:644)
         at com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.transform(TransformerImpl.java:281)
         at temp.Temp.main(Temp.java:115)
    com.sun.org.apache.xml.internal.utils.WrappedRuntimeException: The entity "bull" was referenced, but not declared.
         at com.sun.org.apache.xalan.internal.xsltc.dom.XSLTCDTMManager.getDTM(XSLTCDTMManager.java:393)
         at com.sun.org.apache.xalan.internal.xsltc.dom.XSLTCDTMManager.getDTM(XSLTCDTMManager.java:228)
         at com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.getDOM(TransformerImpl.java:474)
         at com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.transform(TransformerImpl.java:644)
         at com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.transform(TransformerImpl.java:281)
         at temp.Temp.main(Temp.java:115)
    org.xml.sax.SAXParseException: The entity "bull" was referenced, but not declared.
         at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(ErrorHandlerWrapper.java:236)
         at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.fatalError(ErrorHandlerWrapper.java:215)
         at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:386)
         at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:316)
         at com.sun.org.apache.xerces.internal.impl.XMLScanner.reportFatalError(XMLScanner.java:1438)
         at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanEntityReference(XMLDocumentFragmentScannerImpl.java:1332)
         at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(XMLDocumentFragmentScannerImpl.java:1756)
         at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:368)
         at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:834)
         at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:764)
         at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:148)
         at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1242)
         at com.sun.org.apache.xalan.internal.xsltc.dom.XSLTCDTMManager.getDTM(XSLTCDTMManager.java:387)
         at com.sun.org.apache.xalan.internal.xsltc.dom.XSLTCDTMManager.getDTM(XSLTCDTMManager.java:228)
         at com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.getDOM(TransformerImpl.java:474)
         at com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.transform(TransformerImpl.java:644)
         at com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.transform(TransformerImpl.java:281)
         at temp.Temp.main(Temp.java:115)
    I don't want to resolve any entity references.
    Message was edited by:
    anand_nalya

Maybe you are looking for