Hi, while making an XML parser for the creation of an entire directory
list I got this problem and I'm having trouble solving it. The program
(not yet written) goes through an XML Schema Instance to create some
directories (about 5000).
While creating the directories the XML file that I'm parsing is
alphabetically ordered not hierarchically and I can't allow the program
to stock the path names for each brach on the directory tree.
The XML file looks something like this :
<Object>
<term>America</term>
<topTerm>Continents</topTerm>
<broaderTerm>Continents</broaderTerm>
<narrowerTerm>USA</narrowerTerm>
<narrowerTerm>Mexico</narrowerTerm>
</Object>
<Object>
<term>Colorado</term>
<topTerm>Continents</topTerm>
<broaderTerm>USA</broaderTerm>
<narrowerTerm>Denver</narrowerTerm>
</Object>
<Object>
<term>Continents</term>
<narrowerTerm>America</narrowerTerm>
<narrowerTerm>Europe</narrowerTerm>
</Object>
<Object>
<term>Denver</term>
<topTerm>Continents</topTerm>
<broaderTerm>Colorado</broaderTerm>
</Object>
<Object>
<term>USA</term>
<topTerm>Continents</topTerm>
<broaderTerm>America</broaderTerm>
<narrowerTerm>Colorado</narrowerTerm>
<narrowerTerm>Detroit</narrowerTerm>
<narrowerTerm>Los Angeles</narrowerTerm>
</Object>
The topTerm is the root of my directory tree, each term can have a
generic node (parent) and a specific node (child) without any limits of
depth. On the example we have :
Contients->America->USA->Colorado->Denver
This is the algorith we came with for creating the directory tree :
Get list of objects
Go to first object
While there are any objects
If topTerm != NULL
If directory "topTerm" exists
If directory "broaderTerm" exists somewhere in "topTerm"
directory
Create directory "term" in "broaderTerm"
Destroy object
End If
Else
Create directory "topTerm"
End If
Else
If directory "term" doesn't exist // If you are here term is
the root of the tree
Create directory "term"
End If
End If
Go to next object
End While
As you can see whenever I try to create a new directory I just have
partial path name,I can't use the usual mkdir POSIX function and this
for every directory exept the root. If somebody knows of a fonction
that allows to find a directory using a partial path name I could use
it to create the directory tree, if not I may change the algorith for
something less practical unless you got a better idea.
Tanks.