XSLT with HTML input

Hi,
I'm working on a project where I need to transform an input html to a modified output html.
I have a list of known rules. For example:
convert <i> tags in the input to <em> tags in the output.
convert <b> tags in the input to <strong> tags in the output.
With the example rules above I have a bunch of xsl:template matches that look like this:
<xsl:template match="I">
<EM><xsl:apply-templates /></EM>
</xsl:template>
<xsl:template match="B">
<STRONG><xsl:apply-templates /></STRONG>
</xsl:template>
My question is the following: for tags that I don't have explicit rules for in my XSL, I want to simply copy them over. I.e. if my input HTML had a <U> tag, and my XSL didn't have any xsl:template match for U, I'd like the output HTML to have the (unchanged) U tag. How can I accomplish this? I'm somewhat of a n00b with XSL, but I'm good at following examples!
Thanks in advance!

simply add the identity transformation before your first template: it will act as a "catch all" and copy indentically anything that would have not been caught by any of your template:
<xsl:template match="@*|node()">
  <xsl:copy>
    <xsl:apply-templates select="@*|node()"/>
  </xsl:copy>
</xsl:template>

Similar Messages

  • ADF/Struts Generated tag code variations? Struts html:text vs Html input

    Hi,
    JDev 10.1.2.1
    ADF/Struts
    I noticed that the JDev IDE generates different code for a same component/binding combination.
    Example:Data Control of type Input form with same VO selection.
    Generated code for 1 field:
    case 1)
    JSP code:
    <tr>
    <td>
    <c:out value="${bindings['TitleLang1'].label}"/>
    </td>
    <td>
    <html:text property="TitleLang1"/>
    </td>
    </tr>
    HTML output:
    <tr>
    <td>
    Short Title Language 1
    </td>
    <td>
    <input type="text" name="TitleLang1" value="Preliminary Demo">
    </td>
    </tr>
    case 2)
    JSP code:
    <tr>
    <td>
    <c:out value="${bindings['TitleLang1'].label}"/>
    </td>
    <td>
    <input type="text" name="<c:out value='${bindings.TitleLang1.path}'/>" value="<c:out value='${bindings.TitleLang1}'/>"/>
    </td>
    </tr>
    HTML output:
    <tr>
    <td>
    Short Title Language 1
    </td>
    <td>
    <input type="text" name="VB_TitleLang1" value="Preliminary Demo"/>
    </td>
    </tr>
    Case 1 generated code is obvious to me, the html name of the field equals the field binding id.
    In Case 2, the VB_ prefix is added and the binding variable references bindings.fieldName.path?
    Could someone explain me the second flavor?
    When should we use the path reference and replace the Struts html:text tag with html input tag?
    Thanks
    Fred

    I dont think you can mix static values and rt expressions together in attribute values.
    String onBlurString = "dontLeaveItEmpty(this);referenceEntered(" + recordNumber + ")" ;
    html:text styleClass="textFieldInTable" name="refrences" property="referenceName" onblur="<%=onBlurString%>" />cheers,
    ram.

  • How to compare result from sql query with data writen in html input tag?

    how to compare result
    from sql query with data
    writen in html input tag?
    I need to compare
    user and password in html form
    with all user and password in database
    how to do this?
    or put the resulr from sql query
    in array
    please help me?

    Hi dejani
    first get the user name and password enter by the user
    using
    String sUsername=request.getParameter("name of the textfield");
    String sPassword=request.getParameter("name of the textfield");
    after executeQuery() statement
    int exist=0;
    while(rs.next())
    String sUserId= rs.getString("username");
    String sPass_wd= rs.getString("password");
    if(sUserId.equals(sUsername) && sPass_wd.equals(sPassword))
    exist=1;
    if(exist==1)
    out.println("user exist");
    else
    out.println("not exist");

  • How to force focus last focused HTML input element when going back in history with backspace?

    SUMMARY: I am a Firefox user with HTML knowledge. I want to be able to configure Firefox to behave in a special manner when I hit backspace. It's something that Firefox already does, BUT NOT ALWAYS. I don't know why it behaves differently in different situations for no apparent reason. I want to be able to configure firefox to ALWAYS behave in the manner I want to. Read below for the precise description.
    When I fill a FORM in a page, wether POST or GET, and press ENTER, it obviously acts as expected: submits the data and brings me to a new page. When I get to the new page, and I press BACKSPACE, Firefox behaves in sometimes like TYPE 1 and sometimes like TYPE 2 (see below), and I can't predict which one he will choose. I want to be able to configure it to behave ALWAYS like TYPE 2.
    TYPE 1 - Firefox reloads the previous page, as if I just entered it for the first time.
    TYPE 2 - Firefox brings me back to the exact same page view I had before pressing ENTER to submit the FORM.
    2.1 - It doesn't reload the page;
    2.2 - It places the page in the same scrolled position I was before (for example, if I scrolled to the bottom of the page to fill the FORM and press enter, after pressing backspace it brings me to the bottom of the page again;
    2.3 - It automatically focus the HTML input element I last typed (the element that was focused at the very moment I pressed ENTER to submit the FORM).
    So, I want to be able to configure Firefox for it to ALWAYS BEHAVE LIKE TYPE 2 whenever I fill a HTML FORM, press ENTER and press backspace after going to the new page. All three details I gave are important. Remember that I've already experienced TYPE 2 in previous versions of Firefox, I just wish to FORCE IT to behave like that ALWAYS (because for no apparent reason, sometimes it behaves like TYPE 1 instead).
    Please let me know if that's possible, and if not, I would really THANK YOU ALL FOREVER if you add this feature to the next version.

    It's set to true.
    I saw the add on you suggested, but it does not fulfill my needs.
    I like the behavior exactly as I said because, after submitting the form, I want to be able to look something in the new page and quickly get back to the form, change the text I wrote in the input element and submit it again, in a matter of one or two seconds only...
    I was able to do that whenever firefox behaved like TYPE 2 (explained above)...
    Thanks for the reply but didn't solve my problem yet...

  • Embedding javascript with xslt generated html

    hi,
    I'm using xml/xslt with xdk to generate html with embedded javascript. The solution works except that I am having problem with proper inclusion of the javascript file. I uset this line:
    <xsl:template match="/">
    <head><title>Screener</title>
    <!-- Javascript declarations -->
    <script language="javascript1.2" src="./screener.js">
    </script>
    I have tested the xslt sheet via IE5 and msxml3 processor and it works fine including loading the javascript file.
    Now using XDK and servlet it doesn't seem to retrieve the javascript file so all javascript function do not work.
    I would appreciate any help.
    thanks,
    ted
    null

    hi brian,
    All those files are in same directory i changed the .xsl file to be i am changing at the right place.
    However, as backup i tried the following:
    <?xml version="1.0"?>
    <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
    <xsl:output method="html"/>
    <script language="javascript1.2">
    <![CDATA[
    <!--
    var isNav4, isIE4;
    if (parseInt(navigator.appVersion.charAt(0)) >= 4) {
    isNav4 = (navigator.appName == "Netscape")? true:false
    isIE4 = (navigator.appName.indexOf("Microsoft" != -1)) ? true:false
    if (isNav4) { document.write("<B>It's a Navigator!</B>");}
    else { document.write("It's an Explorer!");}
    //== shared global variables
    function _alert(e)
    alert(e);
    -->
    ]]>
    </script>
    and here is the html output:
    <html>
    <head>
    <title>Screener</title>
    <script language="javascript1.2">
    &#60;!--
    var isNav4, isIE4;
    if (parseInt(navigator.appVersion.charAt(0)) >= 4) {
    isNav4 = (navigator.appName == "Netscape")? true:false
    isIE4 = (navigator.appName.indexOf("Microsoft" != -1)) ? true:false
    if (isNav4) { document.write("&#60;B>It's a Navigator!&#60;/B>");}
    else { document.write("It's an Explorer!");}
    //== shared global variables
    function _alert(e)
    alert(e);
    -->
    </script>
    </head>
    So everything is being output correctly except for <!--; is there a way around this problem? If I leave out <!-- --> it works but
    i was wondering if the present behavior is what's supposed to happen.
    thanks,
    ted
    null

  • XSLT and html

    Ok..losing my mind here. Running on 11.2.0.2 AIX
    I have an xslt to generate html document. Some of the html will be provided by an end-user... which I will embed into the xslt, to create one final template. Some problems I'm having:
    - br tags... no matter what I try, can't seem to prevent the transform from outputting
    <br></br>The issue is this is causing double line-breaks when rendered in a browser or email client (using this to generate html emails)
    Example:
    declare
    l_xml xmltype;
    l_html_part clob;
    begin
    l_xml := xmltype('<content>This is a test</content>');
    SELECT  XMLSerialize(document XMLtransform(l_xml , xmltype('<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
      <xsl:output method="html" encoding="UTF-8" omit-xml-declaration="yes"/>
      <xsl:template match="/">
        <html><body>
    <p><xsl:value-of select="content" /></p>
    <blockquote>
    Some text <br/>
    on muliple <br/>
    lines<br/>
    here.
    </blockquote>
          </body>
        </html>
      </xsl:template>
    </xsl:stylesheet>')) as clob) into l_html_part from dual;
    p.l(l_html_part);
    end;Generates the following:
    <html><body><p>This is a test</p><blockquote>
    Some text <br></br>
    on muliple <br
    </br>lines<br></br>
    here.
    </blockquote></body></html>I've tried changing the method output from html to xml... but to no avail.
    Now given I'm accepting html input from end users to embed into my xslt (enabling end users to customize the html template), any other issues I should guard against? I plan on using a wysiwyg javascript editor on the front end, to tidy the html input as much as possible, so it's well-formed. However, dealing with entities, and URLs means I may have to scrub the html a little further?
    For instance, URLs will sometimes contain & in the query string... and parameter values... one has to be escaped to &amp; while the other URL encoded..
    Thanks for any tips or advice.
    Stephane
    Edited by: pl_sequel on Feb 9, 2012 3:04 PM
    Edited by: pl_sequel on Feb 9, 2012 3:05 PM

    Thanks for that... I missed that keyword in the docs.
    The embedding of the user supplied html will be done using regexp_replace most likely.
    The design I am going with, is an html template stored in a clob, with various "merge tags" defined in the body.
    for example:
    <html>
    <body>
    <p>This is a test. Hi *|FIRSTNAME|*</p>
    *|CONTENT|*
    </body>
    </html>User will supply the html:
    <p>This is the user html content</p>I will then replace the *|CONTENT|* in the body with the user-supplied html:
    <html>
    <body>
    <p>This is a test. Hi *|FIRSTNAME|*</p>
    <p>This is the user html content</p>
    </body>
    </html>At this point, I now take the final html template, and turn it into an XSLT. Any remaining merge tags, get replaced with appropirate xsl:value-of statements as well..
    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    <xsl:output method="html" />
    <xsl:template match="/">
    <html>
    <body>
    <p>This is a test. Hi <xsl:value-of select="FIRSTNAME" /></p>
    <p>This is the user html content</p>
    </body>
    </html>
    </xsl:template>
    </xsl:stylesheet>I will then have the respective xml data transformed using this stylesheet.
    Kinda creating a custom templating engine... to enable users to merge in custom data (which is already stored in the DB) and customize the template content. The final transformed html will be used to send as an html email.

  • Assigning html input value to a jsp variable

    I have the following problem: I need to assign the value of html <input> field to a jsp variable. This should be done without submittion of the form.
    <form name="main">
    <table>
    <tr>
    <td><input type="text" name="gantry" value="123"></td>
    </tr>
    <table>
    </form>
    Is there any way to access main.gantry.value from jsp and assign it to a variable? I tried
    <% prevGantry = main.gantry.value; %>
    but it didn't work, and the problem is not with parsong or initialisation. Please, can anyone help?
    Best regards, SoVa.

    No it can't be done. You are mixing up java with javascript.
    Java/JSP runs on the server end. Generates an HTML page and stops running.
    The page loads in the browser, and and can run javascript locally.
    The only way to run java code again is to go through the request/response process. ie submit a form, click a link, make an Ajax call...
    The only way to get a field from the screen into a java variable is via request.getParameter().

  • How to use Microsoft Word's Find and Replace with HTML tags?

    Hello to all!
    I'm trying to figure out how to use the find and replace function in Word to replace html tags. I'd like to be able to change something like this:
    <span class="B01-K-ITAL">random text</span>
    To something like this:
    <em>random text</em>
    I want to replace the open and close tags without changing or interfering with the text between the tags. I'm pretty sure I should use wildcards, but I can't figure out how to use them properly.
    Anyone able to lend a hand?

    Here is my latest regular expression with Perl.   I think it matches the spirit of the request in the original post.
    Note, this isn't as easy as you think.  You need to code up the complete set of html rules in you implementation. You need to allow for a certain amount of mal-formed html.
    perl -0660pe 's^<[sS][pP][aA][nN]\s+class="B01-K-ITAL"\s*>(.*?)</[sS][pP][aA][nN]>^<em>$1</em>^gs' i.html >|o.html
    input text
     <html> <head>...</head> <body>I'd like to be able to change something like this: <span class="B01-K-ITAL">#1 one line</span> I want to replace the open and close tags without changing or interfering with the text between the tags. I'm pretty sure I should use wildcards, but I can't figure out how to use them properly. <p>note, this isn't as easy as you think.  You need to code up the complete set of html rules in you implementation. You need to allow for a certain amount of mal-formed html.</p> <span class="B01-K-ITAL">#2 don't be greedy</span> <span class="B01-K-ITAL">$3 multiline text</span> <span class="B01-K-ITAL">#4 multiline tag. I believe html allow a carriage return in white space of tags</span> <span class="B01-K-ITAL">#5 split after the class tag. optional white space</span> <sPan class="B01-K-ITAL">#6 mixed case tag</Span> <p>no text #7</p><span class="B01-K-ITAL"></span> <!-- Apparently, this is valid     http://www.positioniseverything.net/articles/cc-plus.html --> <!--[if IE]> <div id="IEroot"> <![endif]--> <p id="IE">This browser is IE.</p> <p id="notIE">This browser is not IE.</p><!--[if IE]> </div> <![endif]--></body> </html>
    output text
     <html> <head>...</head> <body>I'd like to be able to change something like this: <em>#1 one line</em> I want to replace the open and close tags without changing or interfering with the text between the tags. I'm pretty sure I should use wildcards, but I can't figure out how to use them properly. <p>note, this isn't as easy as you think.  You need to code up the complete set of html rules in you implementation. You need to allow for a certain amount of mal-formed html.</p> <em>#2 don't be greedy</em> <em>$3 multiline text</em> <em>#4 multiline tag. I believe html allow a carriage return in white space of tags</em> <em>#5 split after the class tag. optional white space</em> <em>#6 mixed case tag</em> <p>no text #7</p><em></em> <!-- Apparently, this is valid     http://www.positioniseverything.net/articles/cc-plus.html --> <!--[if IE]> <div id="IEroot"> <![endif]--> <p id="IE">This browser is IE.</p> <p id="notIE">This browser is not IE.</p><!--[if IE]> </div> <![endif]--></body> </html>

  • Using the value "Image/*" for the accept attribute of the HTML input Element, how can I add .pdf to the array of preconfigured file types (.jpe, .jpg, .jpeg, .?

    On a form, using the value "image/*" for the accept attribute of the HTML input Element, how can I add .pdf to the array of pre-configured file types (.jpe, .jpg, .jpeg, .gif, .png, .bmp, .ico, .svg, .svgz, .tif, .tiff, .ai, .drw, .pct, .psp, .xcf, .psd, .raw)?
    Say I wanted to add .gif, .jfif or .ico. I find this array limited, how can I add types to image?
    <input type="file" name="file" accept="image/*" id="file" />
    mimeTypes.rdf does not seem to allow this.

    ''mimeTypes.rdf'' has nothing to do with web development. It's a file that stores your file handling preferences (e.g. if you want ZIP files automatically saved or opened).
    You can't change the file types of the pre-defined content specifiers (audio/*, video/*, image/*), but you can specify additional MIME types. To add PDF to your above example,
    <pre><nowiki><input type="file" name="file" accept="image/*,application/pdf" id="file" /></nowiki></pre>
    For details, see
    * [https://developer.mozilla.org/En/HTML/Element/Input developer.mozilla.org/En/HTML/Element/Input]

  • How to get the fixed result in a DES/CBC mode with fixed input data and fix

    How to get the fixed result in a DES/CBC mode with fixed input data and fixed key. Below is my program , I tried to get the checksum of the DESInputData with the DESKeyData, but each time the result is different.
    below is my code:
    byte[] DESKeyData = {(byte)0x01 ,(byte)0x01 ,(byte)0x01 ,(byte)0x01, (byte)0x01 ,(byte)0x01 ,(byte)0x01 ,(byte)0x01 };
    byte[] DESInputData = {(byte)0x31 ,(byte)0x31 ,(byte)0x31 ,(byte)0x31,(byte)0x31 ,(byte)0x31 ,(byte)0x31 ,(byte)0x31 };
    SecretKeySpec skey = new SecretKeySpec( DESKeyData, "DES" );
    Cipher cipher = Cipher.getInstance("DES/CBC/NoPadding");
    cipher.init( Cipher.ENCRYPT_MODE, skey );
    byte[] result = cipher.doFinal( DESInputData );

    Use class javax.crypto.spec.IvParameterSpec to specify IV for CBC mode cipher:
    // Create CBC-mode triple-DES cipher.
    Cipher c = Cipher.getInstance("DESede/CBC/PKCS5Padding");
    // Specify IV.
    IvParameterSpec iv = new IvParameterSpec(new byte[] { (byte)0x01, (byte)0x23, (byte)0x45, (byte)0x67, (byte)0x89, (byte)0xAB, (byte)0xCD, (byte)0xEF });
    // Initialize cipher with proper IV.
    c.init(Cipher.ENCRYPT_MODE, yourKey, iv);
    // Encrypt and decrypt should work ok now.
    For more info about cryptography, search the Internet for IntroToCrypto.pdf from mr. Phil Zimmerman. This document is also part of PGP (http://www.pgp.com).
    An excellent book is 'Applied Cryptography' from Bruce Schneier (http://www.counterpane.com/applied.html).
    Regards,
    Ronald Maas

  • Need Help with HTML Batch Processing

    Hi,
    New to this forum so be kind
    I am trying to work out a way to batch process html's.
    The html template is used in our eBay listings.
    All the information I want to change is the same.
    Eg in my template I have the number "0234" it appears for 6 times, sometimes in the text sometimes in part of the image title I am loading.
    I then have an excel sheet listing all my codes that i need to make htmls for - 0234, 0235, 0236 etc etc...
    I use say 10 templates depending on what number im doing.
    So next cell to the codes (in excel) I list what template I would need.
    Now I know in dreamweaver I can search for "0234" in my html & replace to create my new html. But I have 1000's to do, and I am sure I am doing it a long way manually.
    Is it possible to use the excel sheet and dreamweaver together to process all these changes in a scripted batch system? and even load which html to use?
    Or maybe use a different software?
    Any advice would be much appreciated.
    Kind Regards

    The closest to this I have done was in using Photoshop and text files to create hundreds of photoshop designed banners that all had different copy/type on them but based on a template and, the same idea but with pharmacy magnets using InDesign and Excel.
    The idea is that you put text boxes in the document and specify a variable for them and then equate those boxes either to variables in a text file or to column headers in an Excel file.
    Google on "Data Merging" and perhaps you'll find something.
    I'm not aware of a way to do this with html documents but if you approach the html as just a text file, then conceptually, you should be able to create a template whereby you assign a variable to certain divs or input boxes or whatever. Then, you might have to re-process the entire lot to remove the code needed to distinguish a field as dynamic but that would easier to remove.
    I'll watch this post as well because massive replacements are always something to know about!

  • Problem with the input file format to be stored in database

    Hi,
    I am facing some problem with the input format. I am using the table name as data.employee. But i could not able to process the message forward. I am getting this error,
    com.ibm.db2.jcc.c.SqlException: java.sql.Connection.close() requested while a transaction is in progress on the connection.The transaction remains active, and the connection cannot be closed.
    Can you please help me prposing a solution for this format.
    Thanks,
    SOorya

    I think you are missing out the COMMIT operation.
    At the DB2 end before closing the connection if you do a 'COMMIT' then this may remove your error.
    i.e. after you close the Resultset>close the statement object> perform 'COMMIT' operation--> then close the connection.
    Also refer :-
    http://www.dbforums.com/archive/index.php/t-976407.html
    http://www.dbforums.com/showthread.php?t=1628183
    I hope this will help you.
    Thanks,
    Vijaya

  • Web service data control with complex input parameter problem

    Hi!
    I'm making ADF web app, using JDev 11.1.1.2.0. I have to call a web service (using a data control), which has complex input parameter (array of complex objects).
    I followed steps from Susan Duncan blog: http://susanduncan.blogspot.com/2006/09/dealing-with-complex-input-params-in.html , but I ran into a problem.
    As Susan wrote, I changed submit's button action binding to an operation in a managed bean, which returns array of objects and everything works fine. I can call a WS and my table shows the result.
    The problem is, that after I change button's action binding to my manage bean, row selection in result table doesn't work anymore (I allways get NullPointerException).
    What can be done here?
    Can somebody please help?

    Hi,
    I also have similar type of problem where I need to invoke a Web service with Complex input parameters.
    I followed Susan's blog but I stuck at a point where methos getItem is created.
    Can anyone tell me how to get that method for my requirement.
    If possible can you guys share your solutions here.
    Thanks in advance.

  • A larger Edit HTML input window in Muse, please.

    Since Muse is great for designing, but a bit limited in features,
    once in a while a lot of code is needed to get what you want.
    I'm happy to work on a 30" monitor.
    But Muse gives me an unstretchable window for HTML-input.
    So I can only see 15 lines at a time. Why not give us the possibility to scale it?

    have to restart my phone everytime this problem occurs
    Can't you find a way to Unzoom it?  <eg>  
    BTW in MUF IE  double tap seems to be an unoptionable default method for getting a Zoom.  Almost as if they were trying to give non-Multi-Touch users semantic zoom?  It is a nuisance but for that another double tap or two-finger pinch
    acts as a zoom out.  I have tried playing with the Tablet PC Touch settings for Double-tap and Press-and-hold recognition to no avail.  That double tap in MUF IE is completely independent of the things that it is trying to emulate.  I wish
    they would have an option for it or at least not bother providing it to users who actually have Multi-Touch capability.
    FYI
    Robert Aldwinckle

  • Initiating a process with complex input

    In trying to initiate a process whose input message has a single part defined by an element like this
    <ns:copyRequest xmlns:ns="...">
    <ns:input>Some text here</ns:input>
    </ns:copyRequest>
    the HTML input form cannot be created (an error occurs). The dropdown box offers XML Form as an alternative, and there is a link in the text labelled "text form". Either of these bring up a text box for the input, but there is no way to submit the entered text (like that above). If you return to the HTML Form and submit that (empty), an exception occurs in a servlet.
    An error report is constructed, but goes to an inaccessible server at www.collaxa.com, when Send Error Report is clicked.

    Unfortunately, I don't think the problem is reproducible. It occurred after I had attempted to install the latest BPEL Designer and Process Manager over the previous version. Either I messed up the reinstall or there is something wrong with that process, since detritus left around caused various errors in both the designer and PM (of which the presentation manager error in original post in this thread was the final one) until I manually cleaned out all the remnants of the old install, including those in the temporary directories and finally got to a freshly-installed state. By this time, the problem was fixed, but I had also changed the BPEL and WSDL that caused the problem during the debugging/reinstallation process.
    I think the best course of action is to assume this was a glitch related to reinstallation and review that process to see if it can be done in a cleaner way. I'll be more careful to preserve the offending BPEL the next time.
    Thanks for your response.
    Jeff

Maybe you are looking for