• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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/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 & qTagName)26 void CXML_Element::SetTag(const CFX_ByteStringC& qTagName) {
27   ASSERT(!qTagName.IsEmpty());
28   CFX_ByteStringC bsSpace;
29   CFX_ByteStringC bsName;
30   FX_XML_SplitQualifiedName(qTagName, bsSpace, bsName);
31   m_QSpaceName = bsSpace;
32   m_TagName = bsName;
33 }
34