YAML包括兩種塊標量樣式:literal和folded。塊標量由幾個指示器控制,這些指示器的頭部位於內容本身的前面。下面給出了塊標量頭的一個例子−
%YAML 1.2 --- !!seq [ !!str "literal\n", !!str "·folded\n", !!str "keep\n\n", !!str "·strip", ]
默認行爲的JSON格式輸出如下所示−
[ "literal\n", "\u00b7folded\n", "keep\n\n", "\u00b7strip" ]
Types of Block Styles
有四種類型的塊樣式:文字樣式、摺疊樣式、保留樣式和條形樣式。這些塊樣式是在塊選擇場景的幫助下定義的。下面給出了一個block-chomping場景的示例;
%YAML 1.2 --- !!map { ? !!str "strip" : !!str "# text", ? !!str "clip" : !!str "# text\n", ? !!str "keep" : !!str "# text\n", }
您可以看到用JSON生成的三種格式的輸出,如下所示−
{ "strip": "# text", "clip": "# text\n", "keep": "# text\n" }
YAML中的Chomping控制以各種形式解釋的最後中斷和尾隨空行。
Stripping
在這種情況下,標量內容不包括最後的換行符和空行。它是由chomping指示符「-」指定的。
Clipping
如果未指定顯式chomping指示符,則剪裁被視爲默認行爲。最後一個中斷字符保留在標量的內容中。上面的示例演示了剪裁的最佳示例。它以換行符結束。
Keeping
Keeping是用「+」chomping指示符表示的加法。創建的其他行不受摺疊限制。附加線條不可摺疊。