Hallo An, 

von der Logik her ist dein Ansatz richtig, allerdings werden einzelne Dokumente immer im Root der Datenbank eingefügt.
Wenn du eine Ordnerhierarchie hinzufügst wird der relative Pfad der Dokumente zur Wurzel der Hierarchie gespeichert:
Ein: 
add C:\Users\BeEo\Desktop\Root
Resultiert in: db(test1) mit den Dokumenten:
Package1/ODFProject3.xml
Package/ODFProject2.xml

Alternativ kannst du beim Add Kommando ein zusätzliches Argument `TO`:
ADD (AS [name]) (TO [target]) [input]
angeben:
add TO Package1/abc C:\Users\BeEo\Desktop\Root\Package1\ODFProject3.xml 

Somit kannst du die Pfadhierarchie entweder selbst bestimmen oder relativ zum Rootpfad der eingefügten Ordnerstruktur erstellen lassen.

Zum Anfragen von Dokumenten in Collections könnte vielleicht folgender Mailinglistenpost (+ follow ups) noch interessant sein:
https://mailman.uni-konstanz.de/pipermail/basex-talk/2010-July/000495.html
Ich hoffe ich konnte helfen, bei weiteren Fragen einfach melden.

Freundliche Grüße, 

Michael
Am 10.08.2010 um 16:03 schrieb Truong An Nguyen:

Hallo Lukas,

es funktioniert leider nicht. Hab die folgenden Befehle probiert:

create coll test1
add C:\Users\BeEo\Desktop\Root\Package1\ODFProject3.xml
add C:\Users\BeEo\Desktop\Root\Package\ODFProject2.xml

Die Ergebnisse der Ausführung es Befehls "for $i in collection(test1)
return document-uri($i)" sind:

file:/D:/Temp/ODFProject2.xml file:/D:/Temp/ODFProject3.xml

Die Pfad-Informationen gehen verloren.

Gruß
An


2010/8/10 Lukas Kircher <lukaskircher1@googlemail.com>:
Ich schicke deine Mail mal noch als CC an die Mailing Liste.

Wie kann ich einstellen, damit zwei XML-Dateien mit dem gleichen Namen
aber mit verschiedenen Pfäden in einer Datenbank gespeichert werden?

Das funktioniert mit Hilfe von Collections. Du kannst folgendermassen
Dokumente zu einer Collection hinzufuegen:
1. Falls alle Dokumente in einem Verzeichnis liegen kannst du aus dem
obersten Ordner per Create Command eine Datenbank erstellen [1].
2. Zu einer bestehenden Collection kannst du ein Dokument hinzufuegen per
XQuery Update, z.B.:
insert node doc(<uri>) into doc(<collection name>)
... oder ueber den BaseX Command Add [2].

Dokumente mit gleichem Namen aber unterschiedlichem Pfad kannst du mit Hilfe
von document-uri() auseinanderhalten - siehe Beispiel:
for $i in collection() return document-uri($i)

Ich hoffe dir ist damit geholfen. Ich leite die Mail ebenfalls an die Liste
weiter, damit mich andere korrigieren oder etwas hinzufuegen koennen.

Gruesse,
Lukas

[1] http://www.inf.uni-konstanz.de/dbis/basex/commands#create
[2] http://www.inf.uni-konstanz.de/dbis/basex/commands#add


_______________________________________________
BaseX-Talk mailing list
BaseX-Talk@mailman.uni-konstanz.de
https://mailman.uni-konstanz.de/mailman/listinfo/basex-talk