首页 > 解决方案 > TIDY:如何使用 COMMA+SPACE 而不是仅使用 COMMA 来分隔值?

问题描述

这是 TIDY 操作的 XML 结果:

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
width="32px" height="32px" viewBox="0 0 32 32"
enable-background="new 0 0 32 32" xml:space="preserve">

<g id="icon">

<path d="M28.4638,1.6295l0.283,6.0073c0.0116,0.2453,-0.1848,0.4505,-0.4312,0.4505h-0.0188c-0.214,0,-0.3952,-0.1573,-0.4269,-0.3683c-0.1577,-1.0518,-0.3632,-1.817,-0.6164,-2.2956c-0.4604,-0.8581,-1.0729,-1.4908,-1.8374,-1.898c-0.765,-0.4069,-1.7708,-0.5255,-3.018,-0.5255H18v22.9128c0,1.85,0.2005,2.8884,0.6014,3.3469c0.5641,0.6215,1.5768,0.9324,2.7499,0.9324h0.6348c0.2276,0,0.412,0.1839,0.412,0.4107v0c0,0.2268,-0.1845,0.4107,-0.412,0.4107H10.0593c-0.2276,0,-0.412,-0.1839,-0.412,-0.4107v0c0,-0.2268,0.1845,-0.4107,0.412,-0.4107h0.6571c1.2768,0,2.2591,-0.3847,2.7936,-1.1543c0.3264,-0.4734,0.49,-1.4379,0.49,-3.125V3h-3.7069c-1.4108,0,-2.4131,0.0188,-3.0068,0.2259c-0.7723,0.2813,-1.4331,0.8213,-1.9823,1.6205c-0.4969,0.7226,-0.8116,1.6751,-0.944,2.8573c-0.0244,0.2179,-0.2084,0.3837,-0.4284,0.3837h0c-0.2469,0,-0.4435,-0.2061,-0.4311,-0.4519l0.3019,-6.0081C3.8202,1.2759,4.1113,1,4.4644,1h23.3373C28.1556,1,28.4471,1.2771,28.4638,1.6295z"
fill="#3E78B3" />
  </g>
</svg>

此命令行用于获得该结果:

tidy.exe -q -xml input.xml

以“<path d”开头的块包含许多值,每个值用逗号分隔。

是否有一个 TIDY 命令行参数用逗号+空格而不是唯一的逗号分隔每个值?

所以结果应该是:

<path d="M28.4638, 1.6295l0.283, 6.0073c0.0116...

原因是许多编辑器在对这样的块进行自动换行时遇到问题,因为他们没有在逗号后面设置换行符,从而使 XML 无效。

标签: tidy

解决方案


根据手册:没有。但是,如果您已经将空格作为输入,则使用literal-attributes配置选项来保留它们。

但是由于您通常关心行长,因此您可能还想尝试wrapand wrap-attributes


推荐阅读