CLOSE SEARCH
POSTS TAGGED WITH: XML

CRuntimeClass

CRuntimeClass는 이름과는 다르게 클래스가 아닌 구조체이며, 따라서 부모 클래스도 가지지 않는다.

이 구조체에는 실행시에 특정 클래스나 혹은 그 클래스의 상위 클래스에 대한 정보를 얻을 수 있는 기능을 제공하는데 핵심이 된다.


CRuntimeClass는 afx.h 파일에 아래와 같이 선언되어 있다.


struct CRuntimeClass
{

LPCSTR m_lpszClassName;

int m_nObjectSize;

UINT m_wSchema;


CObject* (PASCAL* m_pfnCreateObject)(); // NULL => abstract class

#ifdef _AFXDLL
CRuntimeClass* (PASCAL* m_pfnGetBaseClass)();
#else
CRuntimeClass* m_pBaseClass;
#endif


CObject* CreateObject();
BOOL IsDerivedFrom(const CRuntimeClass* pBaseClass) const;


static CRuntimeClass* PASCAL FromName(LPCSTR lpszClassName);
static CRuntimeClass* PASCAL FromName(LPCWSTR lpszClassName);
static CObject* PASCAL CreateObject(LPCSTR lpszClassName);
static CObject* PASCAL CreateObject(LPCWSTR lpszClassName);


void Store(CArchive& ar) const;
static CRuntimeClass* PASCAL Load(CArchive& ar, UINT* pwSchemaNum);


CRuntimeClass* m_pNextClass;

const AFX_CLASSINIT* m_pClassInit;
};



크리에이티브 커먼즈 라이선스
이 저작물은 크리에이티브 커먼즈 저작자표시-비영리-변경금지 2.0 대한민국 라이선스에 따라 이용할 수 있습니다.

EBNF 표기법

EBNF(Extended Backus-Naur Form) 표기법


Symbol ::= [Expression]


EBNF Pattern.


P

P 표현은 반드시 한번은 기술되어야 한다.


P?

P 표현은 기술되거나 생략될 수 있다.


P Q

P 표현 뒤에 Q 표현 순서로 기술되어야 한다.


P | Q

P 표현이나 Q 표현 중 하나만 기술되어야 한다.


P-Q

P 표현과 Q 표현이 동일하면 안됞다.


P+

P 표현이 한 개 이상 기술될 수 있다.


P*

P 표현이 생략되거나 한 개 이상 기술될 수 있다.


ex) OnlyNumber ::= [0-9]

OnlyNumber 심볼은 0~9 사의 숫자 중 하나만 가질 수 있다.


ex) OnlyChar ::= [a-zA-Z]

OnlyChar 심볼은 영소/영대문자 중 하나의 문자만을 가질 수 있다.


ex) ConstString ::= “xml”

ConstString 심볼은 “xml”이라는 문자열만 가질 수 있다.


ex) Tel ::= ([0-9] | ‘-‘)*

Tel 심볼은 생략되거나 숫자, ‘-’로 이루어진 표현식을 하나 이상 가질 수 있다.



크리에이티브 커먼즈 라이선스
이 저작물은 크리에이티브 커먼즈 저작자표시-비영리-변경금지 2.0 대한민국 라이선스에 따라 이용할 수 있습니다.

XML 개발 환경 셋팅

XML 개발환경


1. XML 에디터

Unicode 인코딩을 지원하는 에디터여야 함.

● Editplus [다운로드]

● Visual studio [다운로드]

● XML Spy [다운로드]

● UltraEdit [다운로드]



2. XML 지원 브라우저

● IE 6.0 이상 (MSXML 파서가 동시에 설치된다.), 그 외 파이어폭스 등의 브라우저(브라우저는 최신 버전을 유지하는 것이 좋다.)


3. XML 파서 (XML 파일이 권고안 규격에 맞게 작성되었는지 검사)

● MSXML 파서 [다운로드] [서비스팩 1] [서비스팩 2]




크리에이티브 커먼즈 라이선스
이 저작물은 크리에이티브 커먼즈 저작자표시-비영리-변경금지 2.0 대한민국 라이선스에 따라 이용할 수 있습니다.