77 lines
1.2 KiB
C++
77 lines
1.2 KiB
C++
//
|
|
// Content.h
|
|
//
|
|
// Copyright (c) Microsoft Corporation. All rights reserved.
|
|
//
|
|
|
|
// CContent represents the complexContent and the simpleContent
|
|
|
|
#pragma once
|
|
|
|
#include "stdafx.h"
|
|
#include "XSDElement.h"
|
|
#include "QName.h"
|
|
#include "Util.h"
|
|
|
|
class CComplexType;
|
|
|
|
class CContent : public CXSDElement
|
|
{
|
|
private:
|
|
|
|
// restriction/extension
|
|
CComplexType * m_pType;
|
|
|
|
BOOL m_bMixed;
|
|
CStringW m_strID;
|
|
|
|
protected:
|
|
|
|
public:
|
|
|
|
CContent()
|
|
:m_pType(NULL), m_bMixed(FALSE)
|
|
{
|
|
}
|
|
|
|
CComplexType * AddType(CComplexType *pContent = NULL);
|
|
|
|
CComplexType * GetType();
|
|
|
|
~CContent();
|
|
|
|
inline HRESULT SetID(const wchar_t *wsz, int cch)
|
|
{
|
|
m_strID.SetString(wsz, cch);
|
|
return S_OK;
|
|
}
|
|
|
|
inline HRESULT SetID(const CStringW& strID)
|
|
{
|
|
m_strID = strID;
|
|
return S_OK;
|
|
}
|
|
|
|
inline HRESULT SetMixed(const wchar_t *wszValue, int cchValue)
|
|
{
|
|
bool bVal;
|
|
HRESULT hr = GetBooleanValue(&bVal, wszValue, cchValue);
|
|
if (SUCCEEDED(hr))
|
|
{
|
|
m_bMixed = (bVal == true) ? TRUE : FALSE;
|
|
}
|
|
|
|
// unknown string
|
|
return hr;
|
|
}
|
|
|
|
inline HRESULT SetMixed(BOOL bMixed)
|
|
{
|
|
m_bMixed = bMixed;
|
|
}
|
|
|
|
inline BOOL GetMixed()
|
|
{
|
|
return m_bMixed;
|
|
}
|
|
}; // class CContent
|