1 // Copyright 2014 PDFium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4 
5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
6 
7 #include "core/fxcrt/xml_int.h"
8 
9 #include "core/fxcrt/include/fx_xml.h"
10 
FX_XML_SplitQualifiedName(const CFX_ByteStringC & bsFullName,CFX_ByteStringC & bsSpace,CFX_ByteStringC & bsName)11 void FX_XML_SplitQualifiedName(const CFX_ByteStringC& bsFullName,
12                                CFX_ByteStringC& bsSpace,
13                                CFX_ByteStringC& bsName) {
14   if (bsFullName.IsEmpty())
15     return;
16 
17   FX_STRSIZE iStart = bsFullName.Find(':');
18   if (iStart == -1) {
19     bsName = bsFullName;
20   } else {
21     bsSpace = bsFullName.Mid(0, iStart);
22     bsName = bsFullName.Mid(iStart + 1);
23   }
24 }
25 
SetTag(const CFX_ByteStringC & qSpace,const CFX_ByteStringC & tagname)26 void CXML_Element::SetTag(const CFX_ByteStringC& qSpace,
27                           const CFX_ByteStringC& tagname) {
28   m_QSpaceName = qSpace;
29   m_TagName = tagname;
30 }
SetTag(const CFX_ByteStringC & qTagName)31 void CXML_Element::SetTag(const CFX_ByteStringC& qTagName) {
32   ASSERT(!qTagName.IsEmpty());
33   CFX_ByteStringC bsSpace, bsName;
34   FX_XML_SplitQualifiedName(qTagName, bsSpace, bsName);
35   m_QSpaceName = bsSpace;
36   m_TagName = bsName;
37 }
38