본문 바로가기
코딩취미/C,C++

[MFC] Ribbon 구조 정의 XML 및 XML 정렬 사이트(Formatted XML)

by 브링블링 2023. 12. 23.
반응형

XML 로 정리된 문서의 내용을 수정해야하는데, 기존 문서에서 띄어쓰기나 줄바꿈 같은 정렬을 하지 않은 상태였습니다.

도저히 그상태로는 내용 파악이 어려워서 보기 좋게 변환해주는 사이트를 찾아서 사용했습니다.

 

사용하려고 했던 파일의 형태

 

해석이 어려워서 XML formatter 기능이 있는 사이트를 이용했습니다. 이걸 이용하니 해석하기 한결 수월해져서 작업속도가 빨라졌습니다.

 

 

MFC의 Ribbon 구조 정의

이 XML은 MFC의 Ribbon 구조를 나타내는 것으로, 각 요소(Element)는 버튼, 카테고리, 패널 등을 정의하고 있습니다.

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<AFX_RIBBON>
    <HEADER>
        <VERSION>1</VERSION>
    </HEADER>
    <RIBBON_BAR>
        <!-- Ribbon Bar 설정 -->
        <ELEMENT_NAME>RibbonBar</ELEMENT_NAME>
        <ENABLE_TOOLTIPS>TRUE</ENABLE_TOOLTIPS>
        <ENABLE_TOOLTIPS_DESCRIPTION>TRUE</ENABLE_TOOLTIPS_DESCRIPTION>
        <ENABLE_KEYS>TRUE</ENABLE_KEYS>
        <ENABLE_PRINTPREVIEW>TRUE</ENABLE_PRINTPREVIEW>
        <ENABLE_DRAWUSINGFONT>FALSE</ENABLE_DRAWUSINGFONT>
        <IMAGE>
            <ID>
                <NAME>IDB_BUTTONS</NAME>
                <VALUE>113</VALUE>
            </ID>
        </IMAGE>
        
        <!-- Ribbon Bar에 속한 메인 버튼 설정 -->
        <BUTTON_MAIN>
            <ELEMENT_NAME>Button_Main</ELEMENT_NAME>
            <!-- 기타 속성들 -->
            <IMAGE>
                <ID>
                    <NAME>IDB_MAIN</NAME>
                    <VALUE>112</VALUE>
                </ID>
            </IMAGE>
        </BUTTON_MAIN>

        <!-- Ribbon Bar에 속한 메인 카테고리 설정 -->
        <CATEGORY_MAIN>
            <ELEMENT_NAME>Category_Main</ELEMENT_NAME>
            <!-- 기타 속성들 -->
            <IMAGE_SMALL>
                <ID>
                    <NAME>IDB_FILESMALL</NAME>
                    <VALUE>115</VALUE>
                </ID>
            </IMAGE_SMALL>
            <IMAGE_LARGE>
                <ID>
                    <NAME>IDB_FILELARGE</NAME>
                    <VALUE>114</VALUE>
                </ID>
            </IMAGE_LARGE>
            
            <!-- 카테고리에 속한 각각의 버튼(Element) 설정 -->
            <ELEMENTS>
                <ELEMENT>
                    <!-- 기타 속성들 -->
                    <ELEMENT_NAME>Button</ELEMENT_NAME>
                    <ID>
                        <NAME>ID_FILE_NEW</NAME>
                        <VALUE>57600</VALUE>
                    </ID>
                    <TEXT>&amp;Viewer</TEXT>
                    <!-- 기타 속성들 -->
                </ELEMENT>
                <!-- 다른 버튼들의 설정도 유사하게 이어짐 -->
            </ELEMENTS>
            
            <!-- 최근 파일 목록 설정 -->
            <RECENT_FILE_LIST>
                <ENABLE>TRUE</ENABLE>
                <LABEL>Recent Documents</LABEL>
                <WIDTH>300</WIDTH>
            </RECENT_FILE_LIST>
        </CATEGORY_MAIN>

        <!-- Ribbon Bar의 탭에 속한 각각의 요소 설정 -->
        <TAB_ELEMENTS>
            <ELEMENT_NAME>Group</ELEMENT_NAME>
            <!-- 기타 속성들 -->
            
            <!-- 그룹에 속한 버튼들의 설정 -->
            <ELEMENTS>
                <ELEMENT>
                    <!-- 기타 속성들 -->
                    <ELEMENT_NAME>Button</ELEMENT_NAME>
                    <ID>
                        <NAME>ID_VIEW_APPLOOK_OFF_2007_BLUE</NAME>
                        <VALUE>215</VALUE>
                    </ID>
                    <TEXT>Office 2007 (&amp;Blue Style)</TEXT>
                    <!-- 기타 속성들 -->
                </ELEMENT>
                <!-- 다른 버튼들의 설정도 유사하게 이어짐 -->
            </ELEMENTS>
            
            <!-- 탭에 속한 다른 요소들의 설정 -->
            <ELEMENT>
                <!-- 기타 속성들 -->
                <ELEMENT_NAME>Button</ELEMENT_NAME>
                <ID>
                    <NAME>ID_APP_ABOUT</NAME>
                    <VALUE>57664</VALUE>
                </ID>
                <!-- 기타 속성들 -->
            </ELEMENT>
        </TAB_ELEMENTS>
        
        <!-- 카테고리 설정 -->
        <CATEGORIES>
            <CATEGORY>
                <!-- 기타 속성들 -->
                <ELEMENT_NAME>Category</ELEMENT_NAME>
                <NAME>Home</NAME>
                <!-- 기타 속성들 -->

                <!-- 카테고리에 속한 각 패널의 설정 -->
                <PANELS>
                    <PANEL>
                        <!-- 기타 속성들 -->
                        <ELEMENT_NAME>Panel</ELEMENT_NAME>
                        <NAME>Project manager</NAME>
                        
                        <!-- 패널에 속한 버튼들의 설정 -->
                        <ELEMENTS>
                            <ELEMENT>
                                <!-- 기타 속성들 -->
                                <ELEMENT_NAME>Button</ELEMENT_NAME>
                                <ID>
                                    <NAME>ID_BTN_newProject</NAME>
                                    <VALUE>32774</VALUE>
                                </ID>
                                <TEXT>New project</TEXT>
                                <!-- 기타 속성들 -->
                            </ELEMENT>
                            <!-- 다른 버튼들의 설정도 유사하게 이어짐 -->
                        </ELEMENTS>
                    </PANEL>
                    <!-- 다른 패널들의 설정도 유사하게 이어짐 -->
                </PANELS>
            </CATEGORY>
            <!-- 다른 카테고리들의 설정도 유사하게 이어짐 -->
        </CATEGORIES>
    </RIBBON_BAR>
</AFX_RIBBON>
반응형

XML 양식보여주는 사이트 정리

  1. Online XML Viewer:
  2. FreeFormatter XML Formatter:
  3. XML Viewer by Codebeautify:
  4. Online XML Pretty Print:
  5. XML Formatter and Beautifier:

 

실행예는 다음과 같습니다.

codebeautify.org
jsonformatter.org

반응형