ストリームまたは拡張子のないファイルが渡された場合、XPSファイルを識別するにはどうすればよいですか?XPSファイルはzipファイルであることがわかっているので、最初にZIPマジックナンバーを探すことができますが、XPSファイルを特定するにはどうすればよいですか?
私が行った調査から、[Content_Types] .xmlを抽出して調べる必要があると思いますが、そこに入ると何を探す必要があるかは(あまりにも)明らかではありません。
ストリームまたは拡張子のないファイルが渡された場合、XPSファイルを識別するにはどうすればよいですか?XPSファイルはzipファイルであることがわかっているので、最初にZIPマジックナンバーを探すことができますが、XPSファイルを特定するにはどうすればよいですか?
私が行った調査から、[Content_Types] .xmlを抽出して調べる必要があると思いますが、そこに入ると何を探す必要があるかは(あまりにも)明らかではありません。
ほとんどの場合、をチェックするだけで大丈夫だと思います[Content_Types].xml
。誰かがそのような名前のファイルを含むが、XPSドキュメントの一部として持つと予想される情報を含まないzipファイルを渡す可能性がありますが、その可能性はどのくらいありますか?ファイル名はかなり具体的であり、私には、偶発的な衝突を引き起こす可能性はほとんどありません。
ただし、さらに確実にしたい場合は、XMLファイルが期待されるスキーマに準拠しているかどうかを確認できます。通常、次のようなものが表示されます。
<?xml version="1.0" encoding="utf-8"?>
<Types xmlns="http://schemas.openxmlformats.org/package/2006/content-types">
<Default Extension="rels" ContentType="application/vnd.openxmlformats-package.relationships+xml"/>
<Default Extension="fdseq" ContentType="application/vnd.ms-package.xps-fixeddocumentsequence+xml"/>
<Default Extension="fdoc" ContentType="application/vnd.ms-package.xps-fixeddocument+xml"/>
<Default Extension="xml" ContentType="application/vnd.ms-printing.printticket+xml"/>
<Default Extension="JPG" ContentType="image/jpeg"/>
<Default Extension="fpage" ContentType="application/vnd.ms-package.xps-fixedpage+xml"/>
<Default Extension="dict" ContentType="application/vnd.ms-package.xps-resourcedictionary+xml"/>
</Types>
必要なFixedDocumentSequence.fdseq
ファイルを確認することもできます。
うまくいけば役立つ/関連するリンク: