• <menu id="w2i4a"></menu>
  • logo BCGControlBar 中文文檔
    文檔首頁>>BCGControlBar 中文文檔>>XML格式的大綱解析器

    XML格式的大綱解析器


    立即下載BCGSuite for MFC

    本文介紹了與CBCGPOutlineParser一起使用的 XML 文件格式以及編輯控件的自動大綱功能,XML 解析器是通過調(diào)用CBCGPEditCtrl::LoadOutlineParserXMLSettings來調(diào)用的。

    用于大綱解析器的結(jié)構(gòu)如下:

    <SETTINGS>
    <OUTLINE_DATA>
    <IgnoreOneLineBlocks></IgnoreOneLineBlocks>
    <EscapeSequences>
    <EscapeSequence></EscapeSequence>
    </EscapeSequences>
    
    <BLOCKS>
    <BLOCK>
    <Start></Start>
    <End></End>
    <ReplaceString></ReplaceString>
    <AllowNestedBlocks></AllowNestedBlocks>
    <Ignore></Ignore>
    </BLOCK>
    </BLOCKS>
    </OUTLINE_DATA>
    </SETTINGS>

    除了主要的“SETTINGS”標(biāo)簽外,沒有強(qiáng)制性標(biāo)簽。

    • "OUTLINE_DATA"標(biāo)簽定義一般大綱解析器設(shè)置。
    • “IgnoreOneLineBlocks”標(biāo)簽定義了編輯控件是否應(yīng)該將一行塊視為可折疊的,默認(rèn)為False。
    • "EscapeSequences"標(biāo)簽定義了一個轉(zhuǎn)義序列列表。
    • "EscapeSequence"標(biāo)記表示單個轉(zhuǎn)義序列。
    • “BLOCKS”標(biāo)記用于該語言的語法定義,每個塊指定大綱解析器如何找到大綱可折疊區(qū)域的規(guī)則。當(dāng)您需要定義一組相同語言語法塊的自動概述區(qū)域時,它很有用,對于每個塊,XML解析器將調(diào)用CBCGPOutlineParser::AddBlockType。
    • “BLOCK”標(biāo)簽代表單個塊。
    1. “Start”——定義BlockType::m_strOpen。
    2. “End”——定義BlockType::m_strClose。
    3. “ReplaceString”——定義BlockType::m_strReplace,默認(rèn)為“...”。
    4. “AllowNestedBlocks” —— 定義BlockType::m_bAllowNestedBlocks,默認(rèn)為“True”。
    5. “Ignore”——定義BlockType::m_bIgnore,默認(rèn)為“False”。

    C++ 的默認(rèn) XML 設(shè)置

    <SETTINGS>
    <OUTLINE_DATA>
    <IgnoreOneLineBlocks>True</IgnoreOneLineBlocks>
    <IncludeSpaceLines>True</IncludeSpaceLines>
    <EscapeSequences>
    <EscapeSequence>\\\"</EscapeSequence>
    </EscapeSequences>
    <BLOCKS>
    <BLOCK>
    <Start>\\\"</Start>
    <End></End>
    <ReplaceString></ReplaceString>
    <AllowNestedBlocks>False</AllowNestedBlocks>
    <Ignore>True</Ignore>
    </BLOCK>
    
    <BLOCK>
    <Start>\"</Start>
    <End>\"</End>
    <ReplaceString>\"\"</ReplaceString>
    <AllowNestedBlocks>False</AllowNestedBlocks>
    <Ignore>True</Ignore>
    </BLOCK>
    
    <BLOCK>
    <Start>{</Start>
    <End>}</End>
    <ReplaceString>..</ReplaceString>
    <KEYWORDS>
    <Keyword>else</Keyword>
    <Keyword>struct</Keyword>
    <Keyword>enum</Keyword>
    <Keyword>switch</Keyword>
    <Keyword>catch</Keyword>
    <Keyword>try</Keyword>
    <Keyword>for</Keyword>
    <Keyword>operator</Keyword>
    <Keyword>class</Keyword>
    <Keyword>if</Keyword>
    <Keyword>union</Keyword>
    <Keyword>do</Keyword>
    <Keyword>while</Keyword>
    <Keyword>namespace</Keyword>
    </KEYWORDS>
    </BLOCK>
    
    <BLOCK>
    <Start>{</Start>
    <End>}</End>
    <ReplaceString>...</ReplaceString>
    </BLOCK>
    
    <BLOCK>
    <Start>//</Start>
    <End>\n</End>
    <ReplaceString>/**/</ReplaceString>
    <AllowNestedBlocks>False</AllowNestedBlocks>
    </BLOCK>
    
    <BLOCK>
    <Start>/*</Start>
    <End>*/</End>
    <ReplaceString>/**/</ReplaceString>
    <AllowNestedBlocks>False</AllowNestedBlocks>
    </BLOCK>
    </BLOCKS>
    </OUTLINE_DATA>
    </SETTINGS>
    掃碼咨詢


    添加微信 立即咨詢

    電話咨詢

    客服熱線
    023-68661681

    TOP
    三级成人熟女影院,欧美午夜成人精品视频,亚洲国产成人乱色在线观看,色中色成人论坛 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();