Hello everyone,
Sometime ago I sent a patch changing the XML schema to add GTK support for libvirt. As the
type for one path argument, I used the <text/> type, simply copying the similar
approach from another place in the XML schema definition. I was told that it's not the
best way to use the <text/> type for paths and that absFilePath, a defined basic
type for paths, should be used instead.
After this, I decided to fix this in a place where I had seen the same approach, too.
After further investigation, I found a lot more places where the <text/> type is
used for paths. Moreover, I found out that we have at least 4 type definitions for paths
(files and directories). Some of these types accept simply everything, others paths
starting with "/" or even Windows-style disk names.
<define name="filePath">
<data type="string">
<param name="pattern">.+</param>
</data>
</define>
<define name="dirPath">
<data type="string">
<param name="pattern">.+</param>
</data>
</define>
<define name="absFilePath">
<data type="string">
<param name="pattern">(/|[a-zA-Z]:\\).+</param>
</data>
</define>
<define name="absDirPath">
<data type="string">
<param name="pattern">/.*</param>
</data>
</define>
According to this, I have the following questions:
1. Do we allow users to use relative paths, or MUST all paths be absolute?
2. Do we have to accept Windows-style paths everywhere?
3. Do we need to have different types for directories? For example, in some places, the
filePath type is used for directory parameters.
And as a last question, do we want to unify the basic types related to paths to maintain
the schemas more consistent?
Kirill
Show replies by date