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