XML
XML 1.1 specification w3.org
XML entities ibm.com
XML Schema w3.org
XML Coverpages xml.coverpages.com
The Cover Pages is a comprehensive, online reference collection supporting the XML family of markup language standards, XML vocabularies, and related structured information standards
Microsoft XML Core Services | MSXML msdn.microsoft.com
XML runtime performance
google 'xml runtime validation best practice'
[results are sparse, I vaguely recall something from sun java about validating internal vs. external, use runtime validation at system boundaries only; see the note below about considering avoiding validation in a closed environment]
improving XML performance [.NET] msdn.microsoft.com
Consider Validating Large Documents
When you use the XmlDocument class to load a large document that contains errors because the format is not correct, you waste memory and CPU resources. Consider validating the input XML if there is a reasonable chance that the XML is invalid. In a closed environment, you might consider validation an unnecessary overhead, but the decision to use or not use validation is a design decision you need to consider.
google 'xml validation best practice'
XML Programming Best Practices docs.oracle.com
Increasing Performance of XML Validation
If the performance of your XML application decreases due to a parser validation issue, and you need to validate your XML documents, you might improve the performance of your application by writing your own customized code that validates the data as it is being received or parsed, rather than using the setValidating() method of the DocumentBuilderFactory or SaxParserFactory.
When you turn on validation while parsing an XML document with SAX or DOM, the parser might do more validation of the document than you really need, thus decreasing the overall performance of the application. Instead, consider choosing certain points during the parsing of the document when you want to check that the XML document is valid, and add your own Java code at those points.
For example, assume you are writing an application that uses the WebLogic XML Streaming API to processes an XML purchase order. Because you know that the first element of the document should be <purchase_order>, you can quickly verify that the document appears to be valid by pulling the first element off the stream and checking its name. This check does not ensure that the entire XML document is valid, of course, but you can continue checking for known elements as you pull elements from the stream. These quick checks are much faster than using the standard setValidating() methods.
Issue
An application receives an XML document. Should the application validate the XML document prior to processing it? That is, should applications perform run-time validation of inbound XML documents?
Discussion
There is no right or wrong answer to this issue. There are only engineering tradeoffs. So, before making a decision for your particular application, it is important to understand the approaches, their advantages, and their disadvantages.
The Problem With DTD and XML Schema Validation firstobject.com
- great article
google 'xml runtime validation'
Run-Time Validation of Inbound XML Documents - Yea or Nay? xfront.com
XML shortcomings
Complex constructs such as namespaces can be confusing for the average user
The overhead of XML encoding tags is significant; an XML document when parsed can be up to seven times the size of the actual data it encodes
XML is ideal for structured information, but not for semi-structured information
[paraphrased from a vendor whitepaper]
xFront xfront.com
tutorials and articles on XML and web technologies
XML Standards Reference msdn.microsoft.com
XML Schema
XML Schemas (XSD) Reference XML Standards Reference, msdn.microsoft.com
XML Schema Part 1: Structures Second Edition w3.org
W3C Recommendation 28 October 2004
XML Schemas: Best Practices xfront.com
W3C XML Schema Definition Language (XSD) 1.1 Part 2: Datatypes w3.org/TR/xmlschema11-2
- this is where the xsd: namespace datatypes are defined (decimal, integer, datetime, ...)
XSD schema references in an XML document
schemaLocation
schemaLocation XML Schemas (XSD) Reference, msdn.microsoft.com
The schemaLocation attribute references an XML Schema document that has a target namespace.
<xsi:schemaLocation="list of anyURI" >
noNamespaceSchemaLocation
noNamespaceSchemaLocation XML Schemas (XSD) Reference, msdn.microsoft.com
The noNamespaceSchemaLocation attribute references an XML Schema document that does not have a target namespace.
<xsi:noNamespaceSchemaLocation="anyURI" >
XML schema view
xs3p XML schema documentation generator xml.fiforms.org
XML schema generation
XML Schema Definition Tool (Xsd.exe) msdn.microsoft.com
download
XSD/XML Schema Generator freeformatter.com
online
DTD
Unfortunately, the DTD specification is part of the SGML specification, which is not freely available.
DTD Statements XML Standards Reference, msdn.microsoft.com
DTD Tutorial w3schools.com
XML else
xsi:type considered harmful ...
W3C Date and Time Formats w3.org
Profile of ISO 8601 with a small set of date/time formats
The formats are as follows. Exactly the components shown here must be present, with exactly this punctuation. Note that the "T" appears literally in the string, to indicate the beginning of the time element, as specified in ISO 8601.
Year: YYYY (eg 1997) Year and month: YYYY-MM (eg 1997-07) Complete date: YYYY-MM-DD (eg 1997-07-16) Complete date plus hours and minutes: YYYY-MM-DDThh:mmTZD (eg 1997-07-16T19:20+01:00) Complete date plus hours, minutes and seconds: YYYY-MM-DDThh:mm:ssTZD (eg 1997-07-16T19:20:30+01:00) Complete date plus hours, minutes, seconds and a decimal fraction of a second YYYY-MM-DDThh:mm:ss.sTZD (eg 1997-07-16T19:20:30.45+01:00)
where:
YYYY = four-digit year MM = two-digit month (01=January, etc.) DD = two-digit day of month (01 through 31) hh = two digits of hour (00 through 23) (am/pm NOT allowed) mm = two digits of minute (00 through 59) ss = two digits of second (00 through 59) s = one or more digits representing a decimal fraction of a second TZD = time zone designator (Z or +hh:mm or -hh:mm)
XML schema - datetime w3.org
A summary of the international standard date and time notation [ISO 8601] cl.cam.ac.uk
RELAX NG books.xmlschemata.org
XML Data Types Reference msdn.microsoft.com
XML resources xml.com
XML tools
XML editors ibm.com/developerworks
XML notepad microsoft.com
XmlGrid.net xmlgrid.net
online XML to CSV or plain text converter
MSXML
MSXML msdn.microsoft.com
Using the right version of MSXML in Internet Explorer blogs.msdn.com
MSXML 5.0 for Microsoft Office Applications is purpose-built for Office applications and isn’t intended for broad deployment.
A Beginner's Guide to the XML DOM msdn.microsoft.com