summaryrefslogtreecommitdiff
path: root/src/xmlmenu.cpp
diff options
context:
space:
mode:
authorsvntobi <svntobi@cd0d6b48-d4f9-0310-940f-ab8c4eb44d3f>2007-08-19 13:21:59 +0000
committersvntobi <svntobi@cd0d6b48-d4f9-0310-940f-ab8c4eb44d3f>2007-08-19 13:21:59 +0000
commitd1c550f6f31628b3fa08721d8f129394492afc2a (patch)
tree4690bb478eadb5f714d5ad2b4147daa882247c52 /src/xmlmenu.cpp
parent248072c1071d4ca39a54246c892759817e9d53e1 (diff)
downloadvdr-plugin-menuorg-d1c550f6f31628b3fa08721d8f129394492afc2a.tar.gz
vdr-plugin-menuorg-d1c550f6f31628b3fa08721d8f129394492afc2a.tar.bz2
dropped command element from dtd and embedded dtd into XmlMenu
git-svn-id: file:///home/tobias/sandbox/vdr/--/vdr-pkg/vdr-pkg/submenu/trunk@5823 cd0d6b48-d4f9-0310-940f-ab8c4eb44d3f
Diffstat (limited to 'src/xmlmenu.cpp')
-rw-r--r--src/xmlmenu.cpp13
1 files changed, 12 insertions, 1 deletions
diff --git a/src/xmlmenu.cpp b/src/xmlmenu.cpp
index b118bc4..04a8f8f 100644
--- a/src/xmlmenu.cpp
+++ b/src/xmlmenu.cpp
@@ -31,6 +31,15 @@
using namespace xmlpp;
using namespace std;
+const string XmlMenu::_dtd =
+ "<!ELEMENT menus ((menu | system | plugin)+)>\n"
+ "<!ELEMENT menu ((menu | system | plugin)+)>\n"
+ "<!ATTLIST menu name CDATA #REQUIRED>\n"
+ "<!ELEMENT system EMPTY>\n"
+ "<!ATTLIST system name CDATA #REQUIRED>\n"
+ "<!ELEMENT plugin EMPTY>\n"
+ "<!ATTLIST plugin name CDATA #REQUIRED>\n";
+
MenuNode* XmlMenu::LoadXmlMenu(string menuFileName, string schemaFileName)
{
MenuNode* menuRoot = new MenuNode();
@@ -43,7 +52,9 @@ MenuNode* XmlMenu::LoadXmlMenu(string menuFileName, string schemaFileName)
parser.set_substitute_entities();
parser.parse_file(menuFileName);
- DtdValidator validator(schemaFileName);
+ DtdValidator validator;
+ validator.parse_memory(_dtd);
+
Document *pDoc = parser.get_document();
validator.validate( pDoc );