Имена файлов отсчитываются от относительного (вымышленного) корня в шаре пользователя. «/» — разделитель директорий; каждый файл или имя директории должно быть уникальным в регистро–независимом контексте. Все печатные символы, включая пробел, допустимы в имени файла, символы «/» и «\» экранируются символом «\». Клиенты должны использовать фильтры для имён под свои файловые системы, имена файлов, полученные от других клиентов, должны также подчиняться этим правилам. Специальные имена «.» и «..» не могут содержаться в директории или имени файла; любой полученный файл–лист, содержащий эти имена, должен быть проигнорирован. Все имена директорий должны оканчиваться на «/».
Расшаренные файлы идентифицируются относительно безымянного корня «/» («/dir/subdir/filename.ext»), тогда как дополнения могут добавить имя корня. Например, «TTH/…» для TIGR дополнения используют имя корня «TTH» для идентификации файлов по их «Tiger Tree Hash». Это недопустимо для имён из безымянного корня, которые попали в шару с идентификатором по контрольной сумме.
Беcкорневое имя файла «files.xml» определяет полный файл–лист, в формате XML в кодировке UTF-8. Клиентам рекомендуется использовать дополнения, чтобы сжимать данный файл–лист.
Дополнения могут добавлять к имени файла свои расширения, обычно это делается для того, чтобы избежать повторения имён.
Специальный тип «list» используется для просмотра списков файлов. Частичный файловый список имеет ту же структуру, что и нормальный список, но директории могут быть теговыми с атрибутом Incomplete="1", который показывает на частичность. Только директории без корневых файлов могут начинаться с символа «/». Содержимое такой директории в последствии будет послано просящему клиенту на глубину, выбранную им (это нужно для отправки только того уровня, который требуется пользователю). Атрибут «Base» для поля «FileListing» определяет к какой конкретной директории принадлежит данный файл
Оригинал (by Setuper): http://mydc.ru/index.html?showtopic=2033&view=findpost&p=16555