OLD | NEW |
1 // Copyright 2014 PDFium Authors. All rights reserved. | 1 // Copyright 2014 PDFium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com | 5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com |
6 | 6 |
7 #ifndef CORE_FXCRT_FX_XML_H_ | 7 #ifndef CORE_FXCRT_FX_XML_H_ |
8 #define CORE_FXCRT_FX_XML_H_ | 8 #define CORE_FXCRT_FX_XML_H_ |
9 | 9 |
10 #include <memory> | 10 #include <memory> |
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
51 }; | 51 }; |
52 | 52 |
53 class CXML_Element { | 53 class CXML_Element { |
54 public: | 54 public: |
55 enum ChildType { Invalid, Element, Content }; | 55 enum ChildType { Invalid, Element, Content }; |
56 | 56 |
57 static CXML_Element* Parse(const void* pBuffer, | 57 static CXML_Element* Parse(const void* pBuffer, |
58 size_t size, | 58 size_t size, |
59 bool bSaveSpaceChars = false, | 59 bool bSaveSpaceChars = false, |
60 FX_FILESIZE* pParsedSize = nullptr); | 60 FX_FILESIZE* pParsedSize = nullptr); |
61 static CXML_Element* Parse(IFX_SeekableReadStream* pFile, | 61 static CXML_Element* Parse(const CFX_RetainPtr<IFX_SeekableReadStream>& pFile, |
62 bool bSaveSpaceChars = false, | 62 bool bSaveSpaceChars = false, |
63 FX_FILESIZE* pParsedSize = nullptr); | 63 FX_FILESIZE* pParsedSize = nullptr); |
64 static CXML_Element* Parse(IFX_BufferedReadStream* pBuffer, | 64 static CXML_Element* Parse( |
65 bool bSaveSpaceChars = false, | 65 const CFX_RetainPtr<IFX_BufferedReadStream>& pBuffer, |
66 FX_FILESIZE* pParsedSize = nullptr); | 66 bool bSaveSpaceChars = false, |
| 67 FX_FILESIZE* pParsedSize = nullptr); |
67 | 68 |
68 CXML_Element(const CFX_ByteStringC& qSpace, const CFX_ByteStringC& tagName); | 69 CXML_Element(const CFX_ByteStringC& qSpace, const CFX_ByteStringC& tagName); |
69 explicit CXML_Element(const CFX_ByteStringC& qTagName); | 70 explicit CXML_Element(const CFX_ByteStringC& qTagName); |
70 CXML_Element(); | 71 CXML_Element(); |
71 ~CXML_Element(); | 72 ~CXML_Element(); |
72 | 73 |
73 void Empty(); | 74 void Empty(); |
74 CFX_ByteString GetTagName(bool bQualified = false) const; | 75 CFX_ByteString GetTagName(bool bQualified = false) const; |
75 CFX_ByteString GetNamespace(bool bQualified = false) const; | 76 CFX_ByteString GetNamespace(bool bQualified = false) const; |
76 CFX_ByteString GetNamespaceURI(const CFX_ByteString& qName) const; | 77 CFX_ByteString GetNamespaceURI(const CFX_ByteString& qName) const; |
(...skipping 87 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
164 CFX_ByteString m_QSpaceName; | 165 CFX_ByteString m_QSpaceName; |
165 CFX_ByteString m_TagName; | 166 CFX_ByteString m_TagName; |
166 CXML_AttrMap m_AttrMap; | 167 CXML_AttrMap m_AttrMap; |
167 std::vector<ChildRecord> m_Children; | 168 std::vector<ChildRecord> m_Children; |
168 | 169 |
169 friend class CXML_Parser; | 170 friend class CXML_Parser; |
170 friend class CXML_Composer; | 171 friend class CXML_Composer; |
171 }; | 172 }; |
172 | 173 |
173 #endif // CORE_FXCRT_FX_XML_H_ | 174 #endif // CORE_FXCRT_FX_XML_H_ |
OLD | NEW |