|
thanks for not telling me anything ..it was helpful
|
|
|
|
|
Hi,
I have an XML file and the corresponding schema file generated by XMLSpy Home Edition. How can I create C++ classes from this schema? I am looking for a free tool, if there is such a thing.
Thanks,
Royce
|
|
|
|
|
At the start-up of my application, I need to read XML data that is likely to be spread out over several individual XML files. Data from the first file will be read and updated, then the first file can be closed for the duration of the process. Then the next file will be read and updated, then the file can be closed for the duration of the process. This will occur for all the XML files (there could be 20 or 30 XML files that will likely average about 120k-150k). This will all be done as the application initializes.
This leads to my question. Which parsing model is better suited for my needs: XMLDOM or XML Reader? I recognize that there could be differing opinions on the subject but I would greatly value and appreciate some expert advice.
Speed is probably my biggest issue as I want the application initialization to finish as quickly as possible.
My understanding is that XMLDOM provides quicker read/write access but could take a while to be loaded into memory whereas the XML Reader method provides slower read/write access but doesn’t require the memory overhead or loading time of XMLDOM.
The way I currently have it implemented is with the XML Reader model. I read the XML file, update the data, and write the entire XML file back out. There doesn’t seem to be a better way as this model does not appear to allow random access or in-place data insertion. Am I wrong about this?
Thanks in advance,
-Ian
|
|
|
|
|
hi there,
I am not XML expert, but
Ian Bowler wrote:
My understanding is that XMLDOM provides quicker read/write access but could take a while to be loaded into memory whereas the XML Reader method provides slower read/write access but doesn’t require the memory overhead or loading time of XMLDOM.
The fact that XMLDOM is "faster" is true AFTER it's readed to memory and parsed - and reading and parsing takes time... I don't see reason why using XmlReader should be slower. It depends on what you with XML. See below.
Ian Bowler wrote:
The way I currently have it implemented is with the XML Reader model. I read the XML file, update the data, and write the entire XML file back out. There doesn’t seem to be a better way as this model does not appear to allow random access or in-place data insertion. Am I wrong about this?
It doesn't allow random access because XmlReader reads XML file sequentionaly - token after token - you never have whole document in memory. If you only update some values,
For .NET world, XmlReader is definitely fastest way how to read XML document.
Some useful links:
Skipping Content with XmlReader[^]
Comparing XmlReader to SAX Reader[^]
Patterns & practices: Chapter 9 — Improving XML Performance[^]
and, finally:
Efficient Techniques for Modifying Large XML Files[^]
(my personal favourite)
Rule of thumb: if you don't need to change structure of XML document ("tree operations"), don't use XmlDocument (if you care about speed and memory). Use XmlReader/XmlWriter instead. If you want to search/select using XPath expression in XML, use XPathDocument.
You should be able to answer core of your question yourself, but I'll do that anyway: if your modifications can be easily done with XmlReader/XmlWriter combination, then it's most probably fastest solution. (in sense of best performing, not ease of programming however)
David
Never forget: "Stay kul and happy" (I.A.)
David's thoughts / dnhsoftware.org / MyHTMLTidy
|
|
|
|
|
Thanks for your reply. I'm sure those links will be very helpful as I continue to learn XML.
Regards,
Ian
|
|
|
|
|
XMLDOM can be allowed to save edited XML Documents and provides the facility to transform the XML data using XSLT.
raman
|
|
|
|
|
Hi All,
I am trying to build an application in VS.Net which uses Crystal Report 11 to build the rpt file. I have an XML and XSD file as my datasources. I want to view the report in PDF format. Now my source code looks like:
ReportDocument doc = new ReportDocument();
string fileName = Server.MapPath("MyReport.rpt");
doc.Load(fileName);
DataSet ds = new DataSet();
ds.ReadXml(Server.MapPath("MyXML.xml"));
doc.SetDataSource(ds);
ExportOptions exportOpts = doc.ExportOptions;
exportOpts.ExportFormatType = ExportFormatType.PortableDocFormat;
exportOpts.ExportDestinationType = ExportDestinationType.DiskFile;
exportOpts.DestinationOptions = new DiskFileDestinationOptions();
DiskFileDestinationOptions diskOpts = new DiskFileDestinationOptions();
((DiskFileDestinationOptions)doc.ExportOptions.DestinationOptions).DiskFileName = Server.MapPath("MyPDF.pdf");
doc.Export();
But it gives me the error
"Query Engine Error: 'c:\inetpub\wwwroot\MyWebsite\MyReport.rpt'"
I tried out all the forums but could not find any solution. Someone told me that it is due to xsd file error. But in Crystal Report it is running perfectly OK. Can anyone help.
Edit/Delete Message
|
|
|
|
|
hi there. i was just wondering whether a developer should use wfs/wms in implementing a gml map.
|
|
|
|
|
How do you get the underlying stylesheet content of an XslTransform object in .NET? In other words, how do you know what transformation the XslTransform object does? Assume that the object was created and loaded with something somewhere else, but you don't know what was loaded to it. You want to know exactly what was loaded to it (the content of the stylesheet file that was loaded to the object).
What property of the object will let you see that?
Thanks
Shell
|
|
|
|
|
Currently I'm in the process of writing a simple XSL to transform XHTML to the XML format understood by TallPDF.NET[^].
I struggle with a simple thing: Paragraphs with bold and italic. Here is an example:
<p>This is some text in <b>bold</b> and in <i>italic</i>.</p> Now I want to transform it to something like this:
<textPragraph>
<fragment>This is some text in </fragment>
<fragment bold="true">bold</fragment>
<fragment> and in </fragment>
<fragment italic="true">italic</fragment>
<fragment>.</fragment>
</textParagraph> I.e. make the nested original XHTML into a flat list.
I'm not that XSL-T expert, so maybe someone can answer my questions:
- Is it possible at all to do that in XSL (please remember that I usually don't know which tags are nested inside each other)?
- If yes, could you provide a simple example as a starter for me?
Thanks
Uwe
--
Affordable Windows-based CMS: www.zeta-producer.com
|
|
|
|
|
I have the following code:
Start Date
<xsl:attribute name="value">
<xsl:apply-templates select="StartDateTime">
2000
2001
2002
2003
2004
2005
2006
2007
2008
2009
2010
which gives me a selection box with years from 2000 to 2010 and it is working properly. However, I wanted to make it more generic displaying years from current year - 5 to current year + 5. For that I have the following function:
<msxsl:script xmlns:msxsl="urn:schemas-microsoft-com:xslt" language="javascript" implements-prefix="extra">
function getYearListBoxOptions()
{
var sYear;
var sOptions = "";
var dateNow;
var i = 0;
dateNow = new Date();
sYear = dateNow.getYear() - 5;
for (i=0; i < 11; i++)
{
sOptions = sOptions + "<option value=" + '"' + (sYear + i) + '"' + ">" + (sYear + i) + "</option>"
}
return sOptions;
}
Now, the xsl looks like this:
But, I am getting an empty selection box ..Can somebody tell me what is going wrong?
|
|
|
|
|
Reposting as the 1st post had some parts missing
I have the following code:
Start Date
2000
2001
2002
2003
2004
2005
2006
2007
2008
2009
2010
which gives me a selection box with years from 2000 to 2010 and it is working properly. However, I wanted to make it more generic displaying years from current year - 5 to current year + 5. For that I have the following function:
function getYearListBoxOptions()
{
var sYear;
var sOptions = "";
var dateNow;
var i = 0;
dateNow = new Date();
sYear = dateNow.getYear() - 5;
for (i=0; i < 11; i++)
{
sOptions = sOptions + "" + (sYear + i) + ""
}
return sOptions;
}
Now, the xsl looks like this:
But, I am getting an empty selection box...Can somebody tell me what is going wrong?
|
|
|
|
|
jignatiu wrote:
Now, the xsl looks like this:
hmm, and where is your XSL?? I think you meant something like
&xsl:template match="select">
....
<xsl:template/>
or am I missing something?
David
Never forget: "Stay kul and happy" (I.A.)
David's thoughts / dnhsoftware.org / MyHTMLTidy
|
|
|
|
|
The whole code is given below. I didnt want to put too much code in to my query . And somehow the xsl tags were not visible while posting it here. So, now I have replaced every <xsl tag="" with="" <-.="" hope="" this="" is="" readable.
<-xsl:template="" match="NonWorkingTimeCollection/NonWorkingTime">
HOLIDAY DETAILS | Start Date
<-xsl:choose >
<-xsl:when test="../../BrowserType = 'IE'">
<-xsl:attribute name="value">
<-xsl:apply-templates select="StartDateTime" />
<-/xsl:when>
<-xsl:otherwise>
<-xsl:attribute name="value">
<-xsl:apply-templates select="StartDateTime" />
<-/xsl:attribute>
2000
2001
2002
2003
2004
2005
2006
2007
2008
2009
2010
|
|
|
|
|
|
hi
I am a new c# programmer and I wanted to use XML in data exchange.Can any give brief explanation about XSL/XSLT/Xpath.
Thanking you.
Satish
|
|
|
|
|
|
Xpath has a certain functions that can be used in XSL and XSLT. For example,
/ for root node
. for current node
XSL is a stylesheet Which has 2 kinds 1. Transformation 2. Stylesheet
XSLT converts from XML to HTML/XML/Text formats
XSL is based on FO which converts XML to PDF, SVG or other formats using Apache FOP Object
raman
|
|
|
|
|
how to fire update,delete command using sql query in vb.net
|
|
|
|
|
Try query in appropriate forums not in XML forum
raman
|
|
|
|
|
Greetings,
I have table data (reduced) in XML that looks like this:
<tables>
<table>
<header>Text 1</header>
<row/>
<row>Row 1</row>
<row>Row 2</row>
</table>
<table>
<header>Text 2</header>
<row/>
<row/>
<row/>
</table>
</tables>
I wish to create an HTML page displaying the non-empty row data as an actual table. If I just display everything, it is quite simple. However, if all of the row elements are empty (<row/> or <row></row>) for a table node, then I do not want to create that table. Is there a way to do this without looping twice to determine first if there is a non-empty row, then create the table tags?
Thanks
"For that one fraction of a second, you were open to options you would never have considered. That is the exploration that awaits you. Not mapping stars and studying nebula, but charting the unknown possibilities of existence." - Q (Star Trek: The Next Generation) Web - Blog
|
|
|
|
|
hi,
well I guess the position of rows matters so exclude empty rows from xml is probably not an option...
One (quick&dirty) solution is to keep flag for each table - say hasRows attribute of table element.
Bassam Abdul-Baki wrote:
Is there a way to do this without looping twice to determine first if there is a non-empty row, then create the table tags?
hmm, well.. what about looping once, and keep flag (while creating table) if there were non-empty table? I don't know details so I have no idea what actions are expensive... btw how you do XML->HTML transformation? You said looping, to me it sounds like you are not using XSLT but your own code... is that right? If not my advices would probably differ
hope it helps
David
Never forget: "Stay kul and happy" (I.A.)
David's thoughts / dnhsoftware.org / MyHTMLTidy
|
|
|
|
|
Thanks. Actually, got a tip from another XSL site and got it to work. Had to use table[row!=''] in an apply-template element to make it work. Neat stuff. Too bad that variables are only set once.
"For that one fraction of a second, you were open to options you would never have considered. That is the exploration that awaits you. Not mapping stars and studying nebula, but charting the unknown possibilities of existence." - Q (Star Trek: The Next Generation) Web - Blog
|
|
|
|
|
Take the stylesheet below
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="table">
<xsl:for-each select="row">
<xsl:if test="string-length(.) > 1">
<xsl:value-of select="."/><br/>
</xsl:if>
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>
raman
|
|
|
|
|
Wouldn't this create empty tables for me?
"For that one fraction of a second, you were open to options you would never have considered. That is the exploration that awaits you. Not mapping stars and studying nebula, but charting the unknown possibilities of existence." - Q (Star Trek: The Next Generation) Web - Blog
|
|
|
|
|
Hi Friends,
I want to learn XML but really confused where to make a start. The available knowledge on net is so much that it is difficult for a new babie to make a start.
Can someone please suggest how shall I make a start. I am looking for some guidelines to be followed in sequence like
1. Basic XML
2. Schemas
3. Parser etc..
I hope you get my point.
Any help is appreciated.
Thanks in Advance
|
|
|
|