2

J'ai une application à l'esprit qui enregistrera les listes de répertoires d'un système sous forme de texte. Autrement dit, il devrait dire quelque chose comme:Un langage XML pour décrire les attributs de fichier d'une arborescence de répertoires?

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

Les listes vont persister pendant des années dans une archive à long terme, le langage doit être de soi à un archéologue de l'information de l'avenir. Le langage devrait pouvoir décrire les attributs de fichiers les plus courants des systèmes de fichiers courants de la plate-forme PC: NTFS, FAT, HFS +, ext2/3, etc. Il devrait être capable de gérer des noms de fichiers non latins, des sémantiques différentes sur différents systèmes de fichiers, etc.

Bien entendu, le choix évident d'un langage pour structurer ces données est un langage XML. Est-ce que quelqu'un peut me pointer vers un langage qui existe déjà pour décrire les structures hiérarchiques des attributs de fichier et les attributs d'annuaire , comme dans un système de fichiers? J'espère pouvoir bénéficier du travail que ces concepteurs ont fait pour bien faire la sémantique, créer le schéma ou la DTD, déterminer les détails de l'élément ou de l'attribut XML, etc.

regardé dans les endroits évidents: http://xml.coverpages.com, web moteurs de recherche, les archives de XML-L et comp.text.xml, et ici. Je n'ai trouvé aucune trace de ces langues. La recherche a été compliquée un peu parce que le terme de recherche "attributs de fichier" obtient beaucoup de hits sur les attributs de terme utilisés en XML.

Veuillez suggérer des langues que je devrais étudier. Cela aide d'avoir le nom de la langue, et un pointeur vers une URL où la langue et ses outils associés, les définitions de syntaxe, etc. sont décrits.

Merci d'avance!

+0

Je posterais cette question sur XML-DEV (http://www.xml.org/xml-dev/) et je serais surpris si vous ne l'avez pas obtenu une réponse utile. S'il n'y a pas de spécification pour cela, alors il devrait y avoir et je m'attendrais à ce que les gens d'OASIS soient impliqués. [Vous pouvez dire que je l'ai suggéré.] –

+0

Après trop de retard, je crédite cette réponse comme étant la meilleure. La liste ne m'a pas indiqué un format approprié, et je n'ai pas réussi à faire participer les gens d'OASIS. Mais la liste XML-DEV est un forum très utile. –

Répondre

2

Tree size utilise un XML format pour décrire les arborescences de répertoires et de fichiers.

1

David A Lee de la liste XML-Dev a répondu:

La commande xls en xmlsh fait exactement cela, mais je wouldnt envisager un format conçu pour une utilisation d'archivage à long terme. Il pourrait être utile de vous ou il pourrait ne pas

http://www.xmlsh.org

Exemple de sortie

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> 
0

Peter Flynn sur la liste XML-L m'a fait de bien vouloir Cocoon. J'ai trouvé le générateur Répertoire Cocoon: http://cocoon.apache.org/2.1/userdocs/directory-generator.html

Il génère des listes d'annuaire XML selon une DTD qu'ils montrent là, mais voici un exemple:

<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> 

Il y a aussi un XPath Directory Générateur: cocoon.apache.org/2.1/userdocs/xpathdirectory-generator.html

Leur résumé est le suivant: «Le générateur d'annuaire XPath fournit toutes les fonctionnalités du générateur d'annuaire, de sorte qu'il est possible d'extraire des extraits XML des fichiers XML que le générateur d'annuaires trouve. Il génère les listes de répertoires comme l'exemple suivant:

<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> 

Ce que je trouve intéressant dans cette langue est qu'ils mettent tous les attributs de fichier dans les attributs entité XML, plutôt que entre les balises. Je suis très naïf sur la conception du langage XML, donc je ne connais pas les avantages et les inconvénients de chaque approche. Mais c'est exactement la raison pour laquelle j'espère pouvoir me greffer sur le langage de quelqu'un d'autre.