2

ファイルシステムのディレクトリリストをテキスト形式で記録するアプリケーションを考えています。つまり、次のように表示する必要があります。

File name is: abc.txt
Last modification date is: 2009-12-31T01:23
Read-only attribute is: True
Hidden attribute is: False

リストは長期アーカイブに何年も保持されるため、言語は将来の情報考古学者にとって自明であるはずです. この言語は、一般的な PC プラットフォーム ファイル システムの最も一般的に使用されるファイル属性 (NTFS、FAT、HFS+、ext2/3 など) を記述できる必要があります。非ラテン語のファイル名、タイム スタンプのさまざまなセマンティクスを処理できる必要があります。異なるファイルシステムなど

もちろん、このデータを構造化するための言語として、XML ベースの言語を選択するのは当然です。ファイルシステムのように、ファイル属性とディレクトリ属性の階層構造を記述するために既に存在する言語を誰か教えてもらえますか? これらの言語設計者がセマンティクスを正しく理解し、スキーマまたは DTD を作成し、何かが XML 要素または属性である必要があるかどうかなどの細かい詳細を解決するために行った作業から利益を得ることを望んでいます。

http://xml.coverpages.com、Web 検索エンジン、XML-Lcomp.text.xmlのアーカイブ、そしてこちらなど、明らかな場所を調べました。そのような言語の痕跡は見つかりませんでした。検索用語「ファイル属性」は、XML で使用される用語属性で多くのヒットを取得するため、検索は少し複雑でした。

私が調査すべき言語を提案してください。言語の名前と、言​​語とその関連ツール、構文定義などが記述されている URL へのポインターがあると役立ちます。

前もって感謝します!

4

3 に答える 3

2

ツリー サイズは、XML 形式を使用してディレクトリとファイル ツリーを記述します。

于 2009-11-23T09:26:26.257 に答える
1

XML-Dev リストの David A Lee は次のように答えました。

xmlsh の xls コマンドはまさにこれを行いますが、長期的なアーカイブ用に設計された形式とは考えていません。あなたにとって役に立つかもしれないし、そうでないかもしれない

http://www.xmlsh.org

出力例

xls -l


<dir>
 <file name="README.txt" path="C:/Work/DEI/xmlsh/trunk/README.txt" length="191" type="file" readable="true" writable="true" executable="true" mtime="2008-11-10T11:18:59"/>
 <file name="_dist" path="C:/Work/DEI/xmlsh/trunk/_dist" length="0" type="dir" readable="true" writable="true" executable="true" mtime="2009-11-23T10:38:00"/>
 <file name="_out" path="C:/Work/DEI/xmlsh/trunk/_out" length="0" type="dir" readable="true" writable="true" executable="true" mtime="2009-11-23T10:38:04"/>
 <file name="bin" path="C:/Work/DEI/xmlsh/trunk/bin" length="0" type="dir" readable="true" writable="true" executable="true" mtime="2009-11-23T10:26:06"/>
 <file name="build-lib" path="C:/Work/DEI/xmlsh/trunk/build-lib" length="0" type="dir" readable="true" writable="true" executable="true" mtime="2009-11-01T11:57:19"/>
 <file name="build.xml" path="C:/Work/DEI/xmlsh/trunk/build.xml" length="3732" type="file" readable="true" writable="true" executable="true" mtime="2009-11-14T12:31:37"/>
 <file name="doc" path="C:/Work/DEI/xmlsh/trunk/doc" length="0" type="dir" readable="true" writable="true" executable="true" mtime="2009-11-01T11:56:17"/>
 <file name="lib" path="C:/Work/DEI/xmlsh/trunk/lib" length="0" type="dir" readable="true" writable="true" executable="true" mtime="2009-11-20T07:56:56"/>
 <file name="license.txt" path="C:/Work/DEI/xmlsh/trunk/license.txt" length="1540" type="file" readable="true" writable="true" executable="true" mtime="2009-04-09T09:15:50"/>
 <file name="notices" path="C:/Work/DEI/xmlsh/trunk/notices" length="0" type="dir" readable="true" writable="true" executable="true" mtime="2009-11-20T07:49:36"/>
 <file name="out.txt" path="C:/Work/DEI/xmlsh/trunk/out.txt" length="0" type="file" readable="true" writable="true" executable="true" mtime="2009-11-23T20:44:33"/>
 <file name="samples" path="C:/Work/DEI/xmlsh/trunk/samples" length="0" type="dir" readable="true" writable="true" executable="true" mtime="2009-05-27T11:36:54"/>
 <file name="schemas" path="C:/Work/DEI/xmlsh/trunk/schemas" length="0" type="dir" readable="true" writable="true" executable="true" mtime="2008-05-26T20:36:41"/>
 <file name="sh_histo" path="C:/Work/DEI/xmlsh/trunk/sh_histo" length="23" type="file" readable="true" writable="true" executable="true" mtime="2009-11-23T11:02:38"/>
 <file name="src" path="C:/Work/DEI/xmlsh/trunk/src" length="0" type="dir" readable="true" writable="true" executable="true" mtime="2009-03-20T10:21:07"/>
 <file name="test" path="C:/Work/DEI/xmlsh/trunk/test" length="0" type="dir" readable="true" writable="true" executable="true" mtime="2009-10-29T11:14:29"/>
 <file name="unix" path="C:/Work/DEI/xmlsh/trunk/unix" length="0" type="dir" readable="true" writable="true" executable="true" mtime="2009-11-16T15:17:48"/>
 <file name="win32" path="C:/Work/DEI/xmlsh/trunk/win32" length="0" type="dir" readable="true" writable="true" executable="true" mtime="2009-09-20T07:54:55"/>
 <file name="xmlsh.log" path="C:/Work/DEI/xmlsh/trunk/xmlsh.log" length="116538" type="file" readable="true" writable="true" executable="true" mtime="2009-11-23T20:44:31"/>
</dir>
于 2009-11-24T08:03:09.980 に答える
0

XML-L リストの Peter Flynn は親切にもCocoonを教えてくれました。CocoonでDirectory Generatorを見つけました: http://cocoon.apache.org/2.1/userdocs/directory-generator.html

そこに表示されるDTDに従ってXMLディレクトリリストを生成しますが、例を次に示します。

<dir:directory xmlns:dir="http://apache.org/cocoon/directory/2.0"
    name="stylesheets" lastModified="1056668768203" date="27.06.03 01:06" size="0"
    requested="true" sort="name" reverse="false">
  <dir:directory name="sites" lastModified="1056668768203" date="27.06.03 01:06" size="0"/>
  <dir:file name="dynamic-page2html.xsl" lastModified="1056668768203" date="27.06.03 01:06" size="4321"/>
  <dir:file name="simple-xml2html.xslt" lastModified="1056668768203" date="27.06.03 01:06" size="1234"/>
</dir:directory>

XPath Directory Generatorもあります: cocoon.apache.org/2.1/userdocs/xpathdirectory-generator.html

彼らの要約は、「XPath ディレクトリ ジェネレーターは、ディレクトリ ジェネレーターのすべての機能を提供します。さらに、ディレクトリ ジェネレーターが検出した XML ファイルから XML スニペットを取得することも可能です。」次の例のようなディレクトリ リストが生成されます。

<dir:directory xmlns:dir="http://apache.org/cocoon/directory/2.0"
    name="articles" lastModified="1057183738609" date="03.07.03 00:08" size="0"
    requested="true" sort="name" reverse="false">
  <dir:directory name="images" lastModified="1057183738609" date="03.07.03 00:08" size="0"/>
  <dir:file name="article1.xml" lastModified="1057183738609" date="03.07.03 00:08" size="123">
    <dir:xpath query="/article/title">
      <title>My first article!</title>
    </dir:xpath>
  </dir:file>
  <dir:file name="article2.html" lastModified="1057183738609" date="03.07.03 00:08" size="345"/>
  <dir:file name="article2.xml" lastModified="1057183738609" date="03.07.03 00:08" size="234">
    <dir:xpath query="/article/title">
      <title>My second article!</title>
    </dir:xpath>
  </dir:file>
</dir:directory>

この言語について私が興味深いと思うのは、すべてのファイル属性がタグの間ではなく、XML エンティティー属性に入れられていることです。私は XML 言語の設計に非常に疎いので、それぞれのアプローチの長所と短所を知りません。しかし、だからこそ、私は他の誰かの言語設計に便乗したいと思っています。

于 2009-11-25T09:51:59.017 に答える