55 lines
1.4 KiB
C++
55 lines
1.4 KiB
C++
//
|
|
// XMLDocParser.cpp
|
|
//
|
|
// Copyright (c) Microsoft Corporation. All rights reserved.
|
|
//
|
|
|
|
#include "stdafx.h"
|
|
#include "XMLDocParser.h"
|
|
#include "resource.h"
|
|
|
|
CXMLDocParser::CXMLDocParser()
|
|
:m_docType(UNKDOC)
|
|
{
|
|
}
|
|
|
|
CXMLDocParser::CXMLDocParser(ISAXXMLReader *pReader, CParserBase *pParent, DWORD dwLevel)
|
|
:CParserBase(pReader, pParent, dwLevel), m_docType(UNKDOC)
|
|
{
|
|
}
|
|
|
|
TAG_METHOD_IMPL( CXMLDocParser, OnSchema )
|
|
{
|
|
if (m_docType != UNKDOC && m_docType != SCHEMADOC)
|
|
{
|
|
ATLTRACE( _T("Not a schema document. Unknown root document tag: %.*ws\n"), cchLocalName, wszLocalName );
|
|
}
|
|
return S_OK;
|
|
}
|
|
|
|
TAG_METHOD_IMPL( CXMLDocParser, OnDefinitions )
|
|
{
|
|
if (m_docType != UNKDOC && m_docType != WSDLDOC)
|
|
{
|
|
ATLTRACE( _T("Not a WSDL document. Unknown root document tag: %.*ws\n"), cchLocalName, wszLocalName );
|
|
}
|
|
return S_OK;
|
|
}
|
|
|
|
HRESULT CXMLDocParser::OnUnrecognizedTag(
|
|
const wchar_t *wszNamespaceUri, int cchNamespaceUri,
|
|
const wchar_t *wszLocalName, int cchLocalName,
|
|
const wchar_t *wszQName, int cchQName,
|
|
ISAXAttributes *pAttributes) throw()
|
|
{
|
|
const wchar_t *wszUrl;
|
|
if (SUCCEEDED(GetReader()->getBaseURL(&wszUrl)))
|
|
{
|
|
EmitError(IDS_SDL_UNRECOGNIZED_DOC, wszUrl, wszNamespaceUri, wszLocalName);
|
|
}
|
|
|
|
return CParserBase::OnUnrecognizedTag(wszNamespaceUri, cchNamespaceUri,
|
|
wszLocalName, cchLocalName,
|
|
wszQName, cchQName,
|
|
pAttributes);
|
|
} |