|
Thankyou sir.
That'll do nicely.
-------------------------------
Carrier Bags - 21st Century Tumbleweed.
|
|
|
|
|
Ah, so that's how you get a nonbreaking space!! Thanks! I'll have to write that down.
I've been using <xsl:text disable-output-escaping="yes">&nbsp;</xsl:text> to insert one into HTML.
|
|
|
|
|
The entity does not exist in XSLT, so you have to use the code.
"We make a living by what we get, we make a life by what we give." --Winston Churchill
|
|
|
|
|
i am a newbie and using visual studio 2003 for my tinyXML parser test application. While building the project I am getting the following errors. Searched a lot on net but not got the solution to the error. The input library is included. Have you found the solution. Will you help me to get rid of this?
Parse_Test error LNK2019: unresolved external symbol "void * __cdecl xmldoc_Create(char const *)" (?xmldoc_Create@@YAPAXPBD@Z) referenced in function "public: void __thiscall CParse_TestDlg::OnBnClickedButton2(void)" (?OnBnClickedButton2@CParse_TestDlg@@QAEXXZ)
Parse_Test fatal error LNK1120: 1 unresolved externals
|
|
|
|
|
Did you add reference to the required .lib files?
|
|
|
|
|
Hi
I am having headache with this data compression, the XML response message is huge so that the browser cant handle. if anyone have got any idea pls let me know
Thanks in advance
|
|
|
|
|
|
Thank you very much Dmitry,
you saved my life!! i dont know how to say thanks, i really appreciate it
|
|
|
|
|
Vote for my articles that you like, please That will help a lot.
-------------------------
Don't worry, be happy )
|
|
|
|
|
I have proposed this XML format for a blog system:
<pre><?xml version="1.0" encoding="utf-8" ?>
<posts>
<post id="0" date="03/02/1983 13:23:32">
<name>eggie5</name>
<email>eggie5@gmail.com</email>
<website>http://www.alexegg.com</website>
<title>First Entry</title>
<message><![CDATA[this is a message!]]></message>
<comment id="0" date="03/02/1983 13:23:32">
<name>Dquan</name>
<email>dquan@hiphop.com</email>
<website>http://www.alexegg.com</website>
<title>Re: First Entry</title>
<message><![CDATA[this is reply to your message!]]></message>
<type>response</type>
<comment id="1" date="03/02/1983 13:23:32">
<name>asdf</name>
<email>asdf@hiphasdfop.com</email>
<website>http://www.asdf.com</website>
<title>Re: Re: First Entry</title>
<message><![CDATA[this is reply to your comment on the message!]]></message>
<type>respones to comment</type>
</comment>
</comment>
</post>
<post id="1" date="03/02/1983 13:23:32">
<name>caguirre</name>
<email>eggie5@gmail.com</email>
<website>http://www.alexegg.com</website>
<title>Broken speaker on my SLVR</title>
<message><![CDATA[The speaker on my moto slvr is broken and all weird!]]></message>
<comment id="0" date="03/02/1983 13:23:32">
<name>Alex Egg</name>
<email>eggie5@alexegg.com</email>
<website>http://www.alex.com</website>
<title>Re: Broken speaker on my SLVR</title>
<message><![CDATA[mine, is broke too, I don't konw what to do. What did you do?]]></message>
<type>response</type>
</comment>
</post>
<post id="2" date="03/02/1983 13:23:32">
<name>alex egg</name>
<email>eggie5@gmail.com</email>
<website>http://www.alexegg.com</website>
<title>the story of the curious oyster</title>
<message><![CDATA[this is a message!]]></message>
</post>
</posts></pre>
Each post node is top level message, then under each post is a 1 or more comment nodes can appear and under each of those comments nodes more comment nodes can appear. It's very hierarchical and perfect for XML.
So currently I'm doing and XSL transform on this XML to turn it into HTML, but right now I'm only supporting the first level of comments, not any sub comments:
<pre><?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<ul class="posts">
<xsl:for-each select="posts/post">
<li class="post">
<xsl:value-of select="title"/>, <xsl:value-of select="name"/>
<p>
<xsl:value-of select="message" />
</p>
<ul class="comments">
<xsl:for-each select="comment">
<li class="comment">
<xsl:value-of select="title"/>, <xsl:value-of select="name"/>
<p>
<xsl:value-of select="message" />
</p>
</li>
</xsl:for-each>
</ul>
</li>
</xsl:for-each>
</ul>
</xsl:template>
</xsl:stylesheet></pre>
Anyways, I'm not sure how I should go about processing the comments. I can't keep hard coding for-each's in the XSL because who knows how many levels of comments there are. I'm thinking I need some kind of recursive XSL action to go through all the various comments and comments of comments.
Can anybody help me out?
/\ |_ E X E GG
|
|
|
|
|
I don't understand why.... but somehow this works:
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<ul class="posts">
<xsl:for-each select="posts/post">
<li class="post">
<xsl:value-of select="title"/>, <xsl:value-of select="name"/>
<p>
<xsl:value-of select="message" />
</p>
<xsl:call-template name="GetComments" />
</li>
</xsl:for-each>
</ul>
</xsl:template>
<xsl:template name="GetComments">
<xsl:param name="count" select="2"/>
<xsl:if test="comment">
<ul class="comments">
<xsl:for-each select="comment">
<li class="comment">
<xsl:value-of select="title"/>, <xsl:value-of select="name"/>
<p>
<xsl:value-of select="message" />
</p>
</li>
<xsl:call-template name="GetComments">
<xsl:with-param name="count" />
</xsl:call-template>
</xsl:for-each>
</ul>
</xsl:if>
</xsl:template>
</xsl:stylesheet>
/\ |_ E X E GG
|
|
|
|
|
XSLT is recursive. I hope the following is helpful:
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/posts">
<html>
<head>
<title>Usage of Templates</title>
</head>
<body>
<ul class="posts">
<xsl:apply-templates select="post"/>
</ul>
</body>
</html>
</xsl:template>
<xsl:template match="post">
<li class="post">
<xsl:value-of select="title"/>, <xsl:value-of select="name"/>
<p><xsl:value-of select="message" /></p>
<xsl:if test="comment">
<ul class="comment">
<xsl:apply-templates select="descendant-or-self::comment"/>
</ul>
</xsl:if>
</li>
</xsl:template>
<xsl:template match="comment">
<li class="comment">
<xsl:value-of select="title"/>, <xsl:value-of select="name"/>
<p><xsl:value-of select="message" /></p>
</li>
</xsl:template>
</xsl:stylesheet>
"We make a living by what we get, we make a life by what we give." --Winston Churchill
-- modified at 19:37 Thursday 12th April, 2007
|
|
|
|
|
Hi,
I've chosen to use this xml structure instead, it seems more logical and flexable:
<?xml version="1.0" encoding="utf-8" ?>
<posts>
<post id="0" date="03/02/1983 13:23:32">
<name>eggie5</name>
<email>eggie5@gmail.com</email>
<website>http://www.alexegg.com</website>
<title>First Entry</title>
<message><![CDATA[this is a message!]]></message>
<tags>
<tag>general</tag>
</tags>
<post id="0" date="03/02/1983 13:23:32">
<name>Dquan</name>
<email>dquan@hiphop.com</email>
<website>http://www.alexegg.com</website>
<title>Re: First Entry</title>
<message><![CDATA[this is reply to your message!]]></message>
<type>response</type>
<post id="1" date="03/02/1983 13:23:32">
<name>asdf</name>
<email>asdf@hiphasdfop.com</email>
<website>http://www.asdf.com</website>
<title>Re: Re: First Entry</title>
<message><![CDATA[this is reply to your comment on the message!]]></message>
<type>respones to comment</type>
<post id="1" date="03/02/1983 13:23:32">
<name>asdf</name>
<email>asdf@hiphasdfop.com</email>
<website>http://www.asdf.com</website>
<title>Re: Re: Re: First Entry</title>
<message><![CDATA[This is another reply to your comment that was a reply to the first comment!!!]]></message>
<type>respones to comment</type>
</post>
</post>
</post>
</post>
<post id="1" date="03/02/1983 13:23:32">
<name>caguirre</name>
<email>eggie5@gmail.com</email>
<website>http://www.alexegg.com</website>
<title>Broken speaker on my SLVR</title>
<message><![CDATA[The speaker on my moto slvr is broken and all weird!]]></message>
<post id="0" date="03/02/1983 13:23:32">
<name>Alex Egg</name>
<email>eggie5@alexegg.com</email>
<website>http://www.alex.com</website>
<title>Re: Broken speaker on my SLVR</title>
<message><![CDATA[mine, is broke too, I don't konw what to do. What did you do?]]></message>
<type>response</type>
</post>
<post id="1" date="03/02/1983 13:23:32">
<name>Alex Egg</name>
<email>eggie5@alexegg.com</email>
<website>http://www.alex.com</website>
<title>Re: Broken speaker on my SLVR</title>
<message><![CDATA[mine, is broke too, I don't konw what to do. What did you do?]]></message>
<type>response</type>
</post>
</post>
<post id="2" date="03/02/1983 13:23:32">
<name>alex egg</name>
<email>eggie5@gmail.com</email>
<website>http://www.alexegg.com</website>
<title>the story of the curious oyster</title>
<message><![CDATA[this is a message!]]></message>
</post>
</posts>
Instead of labeling comments as comment nodes they are just post nodes and since they are embedded in a post node that implies it's a comment.
Can you revise the xsl you provided to do loop through the new xml structure?
/\ |_ E X E GG
|
|
|
|
|
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/posts">
<html>
<head>
<title>Usage of Templates</title>
</head>
<body>
<ul class="posts">
<xsl:apply-templates select="post"/>
</ul>
</body>
</html>
</xsl:template>
<xsl:template match="post">
<li class="post">
<xsl:value-of select="title"/>, <xsl:value-of select="name"/>
<p>
<xsl:value-of select="message" />
</p>
<xsl:if test="post">
<ul class="sub_posts">
<xsl:apply-templates select="descendant::post" mode="sub_post"/>
</ul>
</xsl:if>
</li>
</xsl:template>
<xsl:template match="post" mode="sub_post">
<li class="sub_post">
<xsl:value-of select="title"/>, <xsl:value-of select="name"/>
<p>
<xsl:value-of select="message" />
</p>
</li>
</xsl:template>
</xsl:stylesheet>
"We make a living by what we get, we make a life by what we give." --Winston Churchill
|
|
|
|
|
Hey,
I have a HTML document with a lot of (random placed) XML -files in a table. Now if a field has more then 100characters I want to open it in a popup (with a button) but! because my XML-files contain quotes and so it gives errors. How can u solve this problem?
thx!
|
|
|
|
|
Solution is simple: escape your XML data before showing. Escaping converts " symbols to " sequence.
Look at the escape function in JS reference.
-------------------------
Don't worry, be happy )
|
|
|
|
|
there is the problem, you cant give quote as parameter in a Javascript And you are saying to escape it with a javascript...
thx!
|
|
|
|
|
Just looked in MSDN - escape isn't that method, sorry...
This function helps me:
function escapeString(str)
{
var escAmpRegEx = /&/g;
var escLtRegEx = /</g;
var escGtRegEx = />/g;
var quotRegEx = /"/g;
var aposRegEx = /'/g;
str = str.replace(escAmpRegEx, "&");
str = str.replace(escLtRegEx, "<");
str = str.replace(escGtRegEx, ">");
str = str.replace(quotRegEx, """);
str = str.replace(aposRegEx, "'");
return str;
} After using it, str will not contail any illegal chars.
-------------------------
Don't worry, be happy )
|
|
|
|
|
I have escaped it in C# before it's written now
thx!
|
|
|
|
|
Hi!
I am facing problem when inserting large amount of data in XML file. I am using XML file as a replacement of database table. My application stores as many as 100000 or more records in XML file, but it takes too much time in inserting these records (almost 5-10 minutes).
I have made such insertion before but at that time structure of each node of XML was very simple with no child nodes, it took 1-2 seconds to insert 100000 records at that time. But now structure of each node is as follows:
<mobilenumberinfo id="1">
<groupid>1
<mobilenumber>123456
<isblacklisted>False
<contactmemo>
<mobileusername>
<mobilenumberinfo id="1">
Please tell me why this problem is occuring, can XML be used as alternative of database? Previously i was using MS Access for this purpose but faced same problem so swithched to XML but my problem is not solved.
Thanks in advance...
Regards,
Affan Ahmad Toor
|
|
|
|
|
It's quite hard to answer your question. What tools/languages/APIs you are using? Depending on those, runtime speed can vary greatly.
XML files can be used instead of relational databases if you don't need any of DBMS functionality, like data integrity checking, etc.
-------------------------
Don't worry, be happy )
|
|
|
|
|
Hi!
Thanks for reply! i am using C# 2005. my application is using GsmComm library but that is not related to this portion.
Can you tell me about any technique to make it more fast, by using code optimization or some thing else...
one more thing! is it OK to use XML file for such purpose? or i must use database for this...?
Regards,
Affan Ahmad Toor
|
|
|
|
|
Affan Toor wrote: i am using C# 2005
I think that you'd better ask C# forum about the best ways of handling XML.
To be short, there are many ways you can handle XML with .NET. The most simple ones (through the XmlDocument ) are also the most resource intensive.
Affan Toor wrote: one more thing! is it OK to use XML file for such purpose? or i must use database for this...?
As I said before, it depends It is a matter of many experiments to decide what is best.
-------------------------
Don't worry, be happy )
|
|
|
|
|
Thanks alot!
Regards,
Affan Ahmad Toor
|
|
|
|
|
Affan Toor wrote: I am using XML file as a replacement of database table
And there is the problem you are facing. XML is NOT a replacement for a Database. But don't believe me... use a secret web site called Google to search for articles about XML and you will find many people stating the same thing.
led mike
|
|
|
|