我有一個屬性:如何驗證屬性如果存在於DTD中不爲空?
preprocessFile CDATA #IMPLIED
我想這個屬性是:
- 允許缺席
- 如果存在的話,一個非空字符串
哪有我用DTD表達了這一點?爲了儘量減少爭論,請假設我知道rng/xsd,並且不能將它們用於此特定任務。
我有一個屬性:如何驗證屬性如果存在於DTD中不爲空?
preprocessFile CDATA #IMPLIED
我想這個屬性是:
哪有我用DTD表達了這一點?爲了儘量減少爭論,請假設我知道rng/xsd,並且不能將它們用於此特定任務。
使用XML DTD無法驗證如果存在屬性,它不能爲空。
這裏是你的選擇:
preprocessFile CDATA "novalueprovided"
無論哪種情況,您都可以在XML解析代碼中強制該屬性爲「缺席或不存在」(如果存在)。
我同意DwB,這超出了DTD,即使有了上述建議,仍然可以明確指定空字符串。但是由於DTD也不允許數據類型規範,所以這符合圖片的要求,因爲您不僅要求字符串數據類型,還要限制長度。當然,像RNG(RelaxNG)或XML:Schema等任何真正的模式語言都很容易支持這樣的檢查,這裏給出的RNG:
<optional>
<attribute name="preprocessFile">
<data type=string">
<minLength value="1"/>
</data>
</attribute>
</optional>