AW: SQL RE: 2 (should be) easy questions
Hello Richard, your xsl is quite complex! To begin with, I prefer to nest my templates! So instead of: xsl:template match="/"htmlhead/bodyimg src=""/titlesoundpool/titlexsl:for-each select="/".../xsl:for-each select="/".../xsl:template I would do it like this: xsl:template match="/"htmlhead/bodyimg src=""/titlesoundpool/titlexsl:apply-templates//xsl:template xsl:template match="row|rowset" ... /xsl:template Besides that you have a xsl:apply-templates/ within a xsl:for-each That will result in an overflow (anybody correct me if I am wrong!). It will be called over and over again. What are you trying to do with, anyway: xsl:for-each select="query"xsl:for-each select="execute-query"xsl:apply-templates//xsl:for-each/xsl:for-each Ok, I got some results to come out, but as soon as add more to the XSL style sheet nothing appears from the database. - What do you mean? -Ursprüngliche Nachricht-Von: Richard Cunliffe [mailto:[EMAIL PROTECTED]Gesendet: Mittwoch, 12. März 2003 18:19An: [EMAIL PROTECTED]Betreff: RE: SQL RE: 2 (should be) easy questions Thorsten, Ok, I got some results to come out, but as soon as add more to the XSL style sheet nothing appears from the database. Is it possible for you to have a look at my style sheet, and see if there are any obvious mistakes? Many Thanks, Richard. -Original Message-From: Scherler, Thorsten [mailto:[EMAIL PROTECTED] Sent: 12 March 2003 16:34To: [EMAIL PROTECTED]Subject: AW: SQL RE: 2 (should be) easy questions Hello Richard, ok, i am still a whee bit confused but I try to answer. You don't need to declare it! If so the CDATA would be the best! You are using sql:... that tells me that you need a map:transform type="sql"/ in your sitemap! Like that: map:match pattern="verkauf-cp"map:generate src=""/map:transform type="sql"/map:serialize type="xml"//map:match is that right? ...and is it working? King regards Thorsten -Ursprüngliche Nachricht-Von: Richard Cunliffe [mailto:[EMAIL PROTECTED]Gesendet: Mittwoch, 12. März 2003 17:07An: [EMAIL PROTECTED]Betreff: SQL RE: 2 (should be) easy questions Thorsten, The second question is about the SQL statement I have in my XML document. I am unsure how to declare it in my DTD. Do you know if it is possible to define the SQL statement in my XML document in the DTD? I have everything defined, but I know that the SQL statement is defined wrongly. It is currently defined as data, so that means when a style sheet is applied, it only gives the SQL statement and not the results. Can you help? I have attached my DTD and XML files. Richard. -Original Message-From: Scherler, Thorsten [mailto:[EMAIL PROTECTED] Sent: 12 March 2003 15:52To: [EMAIL PROTECTED]Subject: AW: 2 (should be) easy questions Hello Richard, to 1) yes you have to define the image in the sitemap (e.g. from my sitemap (will not work with your configuration)): !-- === Ressources --map:pipeline!-- images gif --map:match pattern="img/**.gif"map:read src="" mime-type="images/gif"//map:match!-- images jpg --map:match pattern="img/**.jpg"map:read src="" mime-type="images/jpeg"//map:matchmap:match pattern="img/**.jpeg"map:read src="" mime-type="images/jpeg"//map:match/map:pipeline to 2) ??? don't understand the problem King regards Thorsten -Ursprüngliche Nachricht-Von: Richard Cunliffe [mailto:[EMAIL PROTECTED]Gesendet: Montag, 10. März 2003 18:49An: [EMAIL PROTECTED]Betreff: 2 (should be) easy questions Hi, I have two questions: 1. Im not sure if this cocoon or my inability to do XSL, but I have my web page images in an images folder, under the root directory soundpool. Everything was looking good until I checked the site in netscape, when I found the images were not loading. I consequently checked on other on other computers, and they were not working there either. Do I need to included something in my sitemap to tell cocoon where the images are. If this is not the case, could someone please tell me how to get them to work. The rest of my XML is being parsed correctly.
AW: SQL RE: 2 (should be) easy questions
I had a glance at your code, do you use the SPY as well to show the result? I guess not! I am using the SPY as well. Ok, correct me if I am wrong! I aspect your pipeline looks like that (because I guess you are using cocoon to transform): map:pipelinemap:match pattern="database" map:generate src=""/ map:transform type="sql"/ map:transform src=""/ map:serialize//map:match/map:pipeline Is that right? If not - it should look like that! Explanation: map:pipelinemap:match pattern="database" 1) map:generate src=""/ 2) map:transform type="sql"/ 3) map:transform src=""/ map:serialize//map:match/map:pipeline 1) take the database.xml 2) excecute the SQL Statement - that will produce XML 3) your transformation. BASED on everything before! Try the following: map:pipelinemap:match pattern="database" map:generate src=""/ map:transform type="sql"/!-- map:transform src=""/-- map:serialize//map:match/map:pipeline then you see what you have to transform! See the source code (browser right click) and copy it to the Spy. from there you can copy the XPath. ...and then you *just* have to go on! Hope that helps! Thorsten -Ursprüngliche Nachricht-Von: Richard Cunliffe [mailto:[EMAIL PROTECTED]Gesendet: Mittwoch, 12. März 2003 18:47An: [EMAIL PROTECTED]Betreff: RE: SQL RE: 2 (should be) easy questions Thorsten, Ok the following statement is trying to display the results of the query from the MySQL database in a table, I dont know if this is right. What are you trying to do with, anyway: xsl:for-each select="query"xsl:for-each select="execute-query"xsl:apply-templates//xsl:for-each/xsl:for-each The code looks complicated, because I am using XML Spy designer which allows you to put together your style sheet visually, with the aid of the DTD. The code above was the XML Spys way of trying to represent it from the DTD. I have attached my xml, xsl, and dtd for you to have a look at to get a better understanding. Many thanks, Richard.
AW: SQL RE: 2 (should be) easy questions
Hello again, do you know the book "Cocoon: Building XML Applications" form Carsten Ziegeler Matthew Langham [ISBN of the book (0735712352)]? Here is an example as attachment (hope that is allright with you, CarstenMatthew) about SQL. King regards Thorsten -Ursprüngliche Nachricht-Von: Scherler, Thorsten Gesendet: Mittwoch, 12. März 2003 19:58An: [EMAIL PROTECTED]Betreff: AW: SQL RE: 2 (should be) easy questions I had a glance at your code, do you use the SPY as well to show the result? I guess not! I am using the SPY as well. Ok, correct me if I am wrong! I aspect your pipeline looks like that (because I guess you are using cocoon to transform): map:pipelinemap:match pattern="database" map:generate src=""/ map:transform type="sql"/ map:transform src=""/ map:serialize//map:match/map:pipeline Is that right? If not - it should look like that! Explanation: map:pipelinemap:match pattern="database" 1) map:generate src=""/ 2) map:transform type="sql"/ 3) map:transform src=""/ map:serialize//map:match/map:pipeline 1) take the database.xml 2) excecute the SQL Statement - that will produce XML 3) your transformation. BASED on everything before! Try the following: map:pipelinemap:match pattern="database" map:generate src=""/ map:transform type="sql"/!-- map:transform src=""/-- map:serialize//map:match/map:pipeline then you see what you have to transform! See the source code (browser right click) and copy it to the Spy. from there you can copy the XPath. ...and then you *just* have to go on! Hope that helps! Thorsten -Ursprüngliche Nachricht-Von: Richard Cunliffe [mailto:[EMAIL PROTECTED]Gesendet: Mittwoch, 12. März 2003 18:47An: [EMAIL PROTECTED]Betreff: RE: SQL RE: 2 (should be) easy questions Thorsten, Ok the following statement is trying to display the results of the query from the MySQL database in a table, I dont know if this is right. What are you trying to do with, anyway: xsl:for-each select="query"xsl:for-each select="execute-query"xsl:apply-templates//xsl:for-each/xsl:for-each The code looks complicated, because I am using XML Spy designer which allows you to put together your style sheet visually, with the aid of the DTD. The code above was the XML Spys way of trying to represent it from the DTD. I have attached my xml, xsl, and dtd for you to have a look at to get a better understanding. Many thanks, Richard. example.zip Description: example.zip - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
AW: SQL RE: 2 (should be) easy questions
hi richard, well, what can I say... the xsl not only looks complicated, it looks like a mess ;-) you should really, really (really ;-) read up on the technologies you're trying to use. 1. what do you need the DTD for? 2. why are you trying to handle elements which are supposed to be handled by the sql transformer (which in this case couldn't even work because you're not matching the correspondig namespace)? 3. in which sequence are transformations applied? (sql transformer - your stylesheet, or vice versa?) just a guess; starting from your database.xml you want to have an sql query executed and the query results formatted by your database.xsl. then please do it like that. generate (database.xml) - transform (sql) - transform (database.xsl) - serialize (html?) you're not even trying to handle the query results (in database.xml I only see a query defined, but the results are handled nowhere). you seem to be assuming the results are coming from somewhere and are trying to handle them within your stylesheet. please read the accompanying docs; it would save you and those trying to help you time and struggles. just to get you started; to handle the results you would insert appropriate statements within the sql:execute-query element to generate e.g. elements which contain the data you want to transform/style/serialize; example (top off my head, based on esql logicsheet); ... sql:execute-query sql:query SELECT artistbandname, generalmusictitle FROM artistband /sql:query sql:results sql:row-results mydata namesql:get-string column="artistbandname"//name titlesql:get-string column="generalmusictitle"//title /mydata /sql:row-results /sql:results /sql:execute-query ... then after the sql transformer step the corresponding data will be available in the SAX event stream which you can then handle from within your stylesheet. ok, let's get to the stylesheet: ?xml version="1.0" encoding="UTF-8"? xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:sql="http://apache.org/cocoon/SQL/2.0" xsl:template match="/" html head/ body img src=""/ titlesoundpool/title the title element should go into the head element. xsl:for-each select="/" what is this supposed to do? for each document root? there's only one document root. table border="0" width="99%" xsl:if test="position()=1" xsl:text disable-output-escaping="yes"lt;tbodygt;/xsl:text /xsl:if is that if test on the document root? why aren't you just creating the table body via tbody? tr td align="right" xsl:for-each select="pda" span xsl:for-each select="title" span span xsl:apply-templates/ /span /span /xsl:for-each /span /xsl:for-each /td /tr nesting mess, huh? ;-) xsl:if test="position()=last()" xsl:text disable-output-escaping="yes"lt;/tbodygt;/xsl:text /xsl:if /table again, why not /tbody? snip/ !-- MySQL Query -- here you would handle the data produced by the sql transformer step. snip/ my last advice; read the docs, please. -Ursprngliche Nachricht-Von: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]Im Auftrag von Richard CunliffeGesendet: Mittwoch, 12. Mrz 2003 18:47An: [EMAIL PROTECTED]Betreff: RE: SQL RE: 2 (should be) easy questions Thorsten, Ok the following statement is trying to display the results of the query from the MySQL database in a table, I dont know if this is right. What are you trying to do with, anyway: xsl:for-each select="query"xsl:for-each select="execute-query"xsl:apply-templates//xsl:for-each/xsl:for-each The code looks complicated, because I am using XML Spy designer which allows you to put together your style sheet visually, with the aid of the DTD. The code above was the XML Spys way of trying to represent it from the DTD. I have attached my xml, xsl, and dtd for you to have a look at to get a better understanding. Many thanks, Richard.