XML.orgXML.org
FOCUS AREAS |XML-DEV |XML.org DAILY NEWSLINK |REGISTRY |RESOURCES |ABOUT
OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index]
RE: [xml-dev] Best way to create an XML document

My preference is to use a SAX-like serializer driven by calls such as

startElement("x")
attribute("a", "3")
text("content")
endElement("x")

This avoids the overhead of creating a tree in memory, while still giving
the benefits of having the system take care of matters such as escaping
special characters.

There are a number of such interfaces around depending on your environment,
e.g. the XmlWriter in .NET. I tend to use the internal one in Saxon, of
course.

Michael Kay
http://www.saxonica.com/ 

> -----Original Message-----
> From: Mukul Gandhi [mailto:gandhi.mukul@gmail.com] 
> Sent: 09 April 2008 15:00
> To: xml-dev@lists.xml.org
> Subject: [xml-dev] Best way to create an XML document
> 
> Hi all,
>    Let's suppose I need to create an XML document from 
> scratch in a Java program.
> 
> What's the best way to do this?
> 
> I have seen that a quick way to do this is preparing a XML 
> string by hand.
> 
> For e.g.,
> 
> String xml_str = "<x><y><z/></y></x>";
> 
> I want to understand the pros and cons of this approach.
> 
> I most of the time prefer using an API like DOM to create an 
> in-memory representation, and then serializing the tree to String.
> 
> Following are my arguments in favor of using the DOM approach:
> 
> 1) Creating a XML string by hand can become cumbersome, if 
> XML is huge. Maintaining the correct parent child 
> relationship for a huge document can be difficult, if done by 
> hand (imagine a document of size 50 MB). This would lead to 
> difficult debugging. Using a DOM API can do this inherently in memory.
> 
> 2) It's difficult to remember correct XML name conventions if 
> done by hand.
> 
> for e.g., <9abc> is an invalid XML name (because it starts 
> with a number).
> 
> There are more rules for XML names.
> 
> Using DOM API does this automatically.
> 
> 3) Using DOM API can check well-formedness of entities (like, 
> &abc; etc). Doing this by hand in a string can become difficult.
> 
> I would appreciate thoughts about this subject from list members.
> 
> --
> Regards,
> Mukul Gandhi
> 
> ______________________________________________________________
> _________
> 
> XML-DEV is a publicly archived, unmoderated list hosted by 
> OASIS to support XML implementation and development. To 
> minimize spam in the archives, you must subscribe before posting.
> 
> [Un]Subscribe/change address: http://www.oasis-open.org/mlmanage/
> Or unsubscribe: xml-dev-unsubscribe@lists.xml.org
> subscribe: xml-dev-subscribe@lists.xml.org List archive: 
> http://lists.xml.org/archives/xml-dev/
> List Guidelines: http://www.oasis-open.org/maillists/guidelines.php
> 



[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index]


News | XML in Industry | Calendar | XML Registry
Marketplace | Resources | MyXML.org | Sponsors | Privacy Statement

Copyright 1993-2007 XML.org. This site is hosted by OASIS