I am making an xml program that makes it easier to find and change mathml equations by loading it up into a program called webEq.
Webeq does somethings weird like when it generates the mathml code it uses entity names that xml can't handle such as InvisibleComma forcing me to make an entity table with all the ones I could find. Right beside the entity name is the number equivalent to it that will be substituted into file so it will actually run and not get parsing errors.
<!ENTITY Ropf "~#x0211D;" >
<!ENTITY Element "~#x02208;" >
<!ENTITY InvisibleComma "~#x0200B;" >
<!ENTITY vellip "~#x022EE;" >
<!ENTITY InvisibleTimes "~#x02062;" >
<!ENTITY ThickSpace "~#x02009;~#x0200A;~#x0200A;" >
<!ENTITY ctdot "~#x022EF;" >
<!ENTITY ApplyFunction "~#x02061;" >
<!ENTITY midast "~#x0002A;" >
<!ENTITY ThinSpace "~#x02009;" >
<!ENTITY Zopf "~#x02124;" >
<!ENTITY Nopf "~#x02115;" >
<!ENTITY Exists "~#x02203;" >
<!ENTITY ForAll "~#x02200;" >
<!ENTITY Implies "~#x021D2;" >
<!ENTITY Vee "~#x022C1;" >
<!ENTITY xvee "~#x022C1;" >
<!ENTITY varnothing "~#x02205;" >
<!ENTITY emptyv "~#x02205;" >
<!ENTITY VerticalBar "~#x02223;" >
<!ENTITY mid "~#x02223;" >
<!ENTITY bigcup "~#x022C3;" >
<!ENTITY xcup "~#x022C3;" >
<!ENTITY nleq "~#x02270;~#x020E5;" >
<!ENTITY nle "~#x02270;" >
<!ENTITY bigwedge "~#x022C0;" >
<!ENTITY xwedge "~#x022C0;" >
<!ENTITY ZeroWidthSpace "~#x0200B;" >
<!ENTITY LeftAngleBracket "~#x02329;" >
<!ENTITY RightAngleBracket "~#x0232A;" >
<!ENTITY check "~#x02713;" >
<!ENTITY dd "~#x02146;" >
<!ENTITY ap "~#8776;">
** not all of these do not have ~ it is just even if they are in a code box you forum still tries to change them into something else **
So I want to make it so when they open their file up in my program it goes though the xml list(that would contain all the entities above) and would look and try to see if the entity has been used or not in their file. If it has been used it would replace it with the correct number.
Also if the user found a new entity name that I did not have in the list they could through my program add it to the xml file list. So the next time they open a file up it would filter out that new entity(if found of course) in the file.
So I am not sure if xml would serve as a good database for this and how I could get xpath to change every single time to the next entity and if this would take along time to search through a file.
I just have found that the webeq program actually has an option to use these number instead of the entity name. They actually recommend you use these over the other 2 options(UTF-8 and this entity name). Since they say this would be the safest bet. Yet for some dumb reason they don't put it as the default choice to use.
I still like to know if I could do this/if it would be good to use xml instead of say a database.
I may or maybe not implement it due to time constraint and the fact I got 4 other courses on top of this course.
But I just like to know for my personal interest(since I like doing the project I am currently doing- I am learning alot and this would be another way for me to get better at using xml and using it with c#).
Also I have not tested there number system enough to know if it really works since I just don't trust this program seeing they think it is a good idea to put something that might run into lots of problems as the default choice.