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