为什么不使用名为 DAY、MONTH、WEEKDAY 和 TIME 的元素,而不是将信息下推到元素的字符内容中呢?也就是说,如果出于您的目的,有四种不同类型的日期时间数据,您为什么要使用相同的名称来称呼它们?
[附录] OP要求一个例子。好的,这是一个例子:
<Root>
<Scheduler>
<Day>
<DayOfWeek>Sunday</DayOfWeek>
</Day>
</Scheduler>
<Scheduler>
<DayOfMonth>
<DayOfWeek>Sunday</DayOfWeek>
<DayOfMonth>28</DayOfMonth>
</DayOfMonth>
</Scheduler>
<Scheduler>
<Weekday>
<DayOfWeek>Sunday</DayOfWeek>
<TimeOfDay>15:26</TimeOfDay>
<!--* <DayOfMonth>28</DayOfMonth> not allowed -->
</Weekday>
</Scheduler>
<Scheduler>
<Time>
<!--* Not allowed:
* <DayOfWeek>Sunday</DayOfWeek>
* <DayOfMonth>28</DayOfMonth>
*-->
<TimeOfDay>15:26</TimeOfDay>
</Time>
</Scheduler>
</Root>
另一种选择,在结构上更接近 OP 显示的内容,将是:
<Root>
<Scheduler>
<Day/>
<DayOfWeek>Sunday</DayOfWeek>
</Scheduler>
<Scheduler>
<DayOfMonth/>
<DayOfWeek>Sunday</DayOfWeek>
<DayOfMonth>28</DayOfMonth>
</Scheduler>
<Scheduler>
<Weekday/>
<DayOfWeek>Sunday</DayOfWeek>
<TimeOfDay>15:26</TimeOfDay>
<!--* <DayOfMonth>28</DayOfMonth> not allowed -->
</Scheduler>
<Scheduler>
<Time/>
<!--* Not allowed:
* <DayOfWeek>Sunday</DayOfWeek>
* <DayOfMonth>28</DayOfMonth>
*-->
<TimeOfDay>15:26</TimeOfDay>
</Scheduler>
</Root>
对于任何一种设计,定义适当的约束都是微不足道的。