処理命令とは、XMLの要素とは別に XML文書側から XMLを扱うアプリケーション側に情報を渡すための仕組みです。以下のように記述します。
<?application arg ?>
このように <? と ?> で囲まれた部分が処理命令です。上記の applicationの部分は処理命令ターゲットと呼ばれ、アプリケーションの種類を記載します。argの部分には処理命令の内容を記述します。
処理命令を使用した XML文書のサンプルを以下に載せます。
<?xml version="1.0" encoding="UTF-8"?> <?xml-stylesheet type="text/xsl" href="toxhtml.xsl" ?> <document> <head> <title>タイトル</title> <stylesheet>standard.css</stylesheet> </head> <body> これは内容です。 </body> </document>
この XML文書では 1つの処理命令が使用されています。処理命令ターゲットは xml-stylesheetで、この XML文書を、この処理命令を解釈できるアプリケーション(この場合、例えば、InternetExplorerや Firefoxなど)で表示しようとすると、指定した XSL(この場合 toxhtml.xsl)が適用される、ということになっています。
XSLについて軽く触れておきます。XSLとは、ある構造の XML文書を別の構造の XML文書に置き換えるための変換方法を記述したファイルです。今回の場合、ただの XML文書を XHTML規格に準拠した XML文書に変換する XSL文書が指定されていたときには、アプリケーション(この場合、例えば InternetExplorerや Firefoxなど)において XML文書をウェブページのように表示することができます。
XSL文書の文法などについては省略します。なお、XSLも XML文書です(RSSや SVGなどと同様に、応用規格のひとつです)。
なお、処理命令は XMLインスタンスの外に記述することができます。先のサンプルは、XMLインスタンスの外に処理命令を記述してあります。