Menu Editing - phase 1



Hey,

Perhaps it's not really the time to start up discussion about this, but
when is, right? Anyway, while doing some ARC [1] stuff for Sun, I came
up against this almost insurmountable voodoo creation of George's [2].

Unfortunately, this is probably an interface that we want to support
from a system administration point of view in the long run - so making
it less voodoo is definitely a good idea. So I've managed to do up a DTD
for the vfolder-info xml file of some sorts [3].

I figure it would probably be a good first step to decide on the DTD,
get the existing vfolder-info files validating against it, get it into
the build/install time checking of the vfolder-info and then move
onwards from there and start documenting it a little.

		Let me know what you think [4],

				See ya,
					Glynn :)


[1] See http://developer.gnome.org/dotplan/archreview if you really have
    time to waste

[2] I think he's outdone himself ;)

[3] I'm not a documentation person and hence know very little of this 
    XML/DTD voodoo

[4] I will ignore all flames of 'you have no clue' because well, you'd 
    be right

<!-- This is the root element -->
<!ELEMENT	VFolderInfo	(MergeDir*, ItemDir?, UserItemDir?, DesktopDir, UserDesktopDir?, Folder, ReadOnly) >

<!-- Optional directories of .desktop files -->
<!ELEMENT	MergeDir	(#PCDATA) >

<!-- Used to override the default location of .desktop files -->
<!-- with /usr/share/applications being the default          -->

<!ELEMENT	ItemDir		(#PCDATA) >

<!-- Used to override the default user location of .desktop files -->
<!-- with $(HOME)/.gnome/vfolders being the default               -->

<!ELEMENT	UserItemDir	(#PCDATA) >

<!-- Specifies the location of the .directory files -->

<!ELEMENT	DesktopDir	(#PCDATA) >

<!-- Specifies the location of the user .directory files -->

<!ELEMENT	UserDesktopDir	(#PCDATA) >

<!ELEMENT	Folder		(Name, Desktop, Include*, Exclude*, Query, OnlyUnallocated?, DontShowIfEmpty?, ReadOnly, Folder*) >

<!-- Name of the menu item -->

<!ELEMENT	Name		(#PCDATA) >

<!-- Name of the .directory file -->

<!ELEMENT	Desktop		(#PCDATA) >

<!-- Include specific .desktop files -->

<!ELEMENT	Include		(#PCDATA) >

<!-- Exclude specific .desktop fiels -->

<!ELEMENT	Exclude		(#PCDATA) >

<!-- Not entirely sure -->

<!ELEMENT	OnlyUnallocated EMPTY >

<!-- Don't show menu item if there is no sub-entries -->

<!ELEMENT	DontShowifEmpty EMPTY >

<!-- Query monkey magic -->

<!ELEMENT	Query		(And | Or | Not) >

<!-- Logical operators -->

<!ELEMENT	And		(Keyword*, (And | Or | Not)*) >
<!ELEMENT	Or		(Keyword*, (And | Or | Not)*) >
<!ELEMENT	Not		(Keyword*, (And | Or | Not)*) >

<!-- This must correspond to the Categories field in the .desktop file -->

<!ELEMENT	Keyword		(#PCDATA) >

<!ELEMENT	ReadOnly	EMPTY >


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]