xref: /aosp_15_r20/external/lzma/CPP/Common/MyXml.h (revision f6dc9357d832569d4d1f5d24eacdb3935a1ae8e6)
1 // MyXml.h
2 
3 #ifndef ZIP7_INC_MY_XML_H
4 #define ZIP7_INC_MY_XML_H
5 
6 #include "MyString.h"
7 
8 struct CXmlProp
9 {
10   AString Name;
11   AString Value;
12 };
13 
14 class CXmlItem
15 {
16 public:
17   AString Name;
18   bool IsTag;
19   CObjectVector<CXmlProp> Props;
20   CObjectVector<CXmlItem> SubItems;
21 
22   const char * ParseItem(const char *s, int numAllowedLevels);
23 
24   bool IsTagged(const char *tag) const throw();
25   int FindProp(const char *propName) const throw();
26   AString GetPropVal(const char *propName) const;
27   AString GetSubString() const;
28   const AString * GetSubStringPtr() const throw();
29   int FindSubTag(const char *tag) const throw();
30   const CXmlItem *FindSubTag_GetPtr(const char *tag) const throw();
31   AString GetSubStringForTag(const char *tag) const;
32   void AppendTo(AString &s) const;
33 };
34 
35 struct CXml
36 {
37   CXmlItem Root;
38 
39   bool Parse(const char *s);
40   // void AppendTo(AString &s) const;
41 };
42 
43 void z7_xml_DecodeString(AString &s);
44 
45 #endif
46