0

我是 yml 的新手。

我的 yml 数据文件可能包含也可能不包含“reference:”标签下的名称。基本上,它可能只是空的,所以为了成功验证,我做到了'required: no'

type: map
mapping:
  file:
    type: seq
    sequence:
      - type: map
        mapping:
          project:
            type: str
            required: yes
          sub:
            type: str
            required: yes
          source:
            type: str
            required: yes
          reference:
            type: seq
            required: no
            sequence:
              - type: map
                mapping:
                  name:
                    type: str
                    required: no
                    unique: yes

当我尝试使用 验证 ymlKwalify.pm时,它会失败并出现问题:-

 warning: Use of uninitialized value $data in concatenation (.) or string at /home/nv/utils/MFT/perl/lib/Kwalify-1.22/lib/Kwalify.pm

在这方面需要 yml 专家的帮助。谢谢!

4

1 回答 1

1

sequence:,单独站立而不跟随更多缩进的内容,生成一个键值对,其中sequence作为键和一个空标量作为值。空标量将被处理为空字符串或null,两者都不是您的架构所需的序列。

要拥有一个空映射,请编写sequence: [].

于 2021-07-19T11:47:45.500 回答