XML Declaration and Processing Instructions

Understand the XML declaration (<?xml ...?>) and its role in JSON-to-XML conversion. Covers version, encoding, standalone attributes, and when to include declarations.

XML Features

Detailed Explanation

The XML declaration is the <?xml ...?> line at the top of an XML document. It specifies the XML version, character encoding, and whether the document is standalone. JSON has no equivalent concept.

A complete XML declaration:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<config>
  <name>MyApp</name>
  <version>2.0</version>
</config>

Declaration components:

Attribute Required Values Purpose
version Yes "1.0" or "1.1" XML specification version
encoding No "UTF-8", "UTF-16", etc. Character encoding of the document
standalone No "yes" or "no" Whether external DTD is needed

When converting JSON to XML:

Most converters add the declaration automatically:

{ "greeting": "Hello, World!" }

Becomes:

<?xml version="1.0" encoding="UTF-8"?>
<root>
  <greeting>Hello, World!</greeting>
</root>

When converting XML to JSON:

The XML declaration is metadata about the document format, not about the data content. Most XML-to-JSON converters discard the declaration since JSON is always UTF-8 (per RFC 8259) and has no version or standalone concept.

Should you include the declaration?

  • Yes when the XML will be saved to a file or sent over a network, especially if the encoding is not UTF-8.
  • Yes when the consuming system strictly validates XML and requires a declaration.
  • No when generating XML fragments that will be embedded in a larger document.
  • No when the declaration is the default (version="1.0" encoding="UTF-8") and the consumer is lenient.

Processing instructions (PIs) are similar constructs that pass instructions to the XML processor:

<?xml-stylesheet type="text/xsl" href="style.xsl"?>

PIs are also discarded during JSON conversion since they are XML-specific directives with no JSON equivalent. If round-trip fidelity is needed, PIs can be stored in a special key like "?xml-stylesheet".

Use Case

Generating XML configuration files from JSON templates where the output must include a proper XML declaration with encoding specification because the consuming Java application requires it for correct parsing.

Try It — JSON ↔ XML Converter

Open full tool