Чтобы немного расширить дизайн Грега: возможно, было бы целесообразно сделать размер изображения именем элемента, а не size
атрибутом, т. Е .:
<imageset>
<thumbnail width=""... />
<medium width="".../>
<large width="".../>
</imageset>
Для этого есть две причины.
Во-первых, имя imageset
уже говорит вам, что его дочерние элементы будут изображениями, поэтому именование дочерних элементов image
является избыточным. Использовать шаблон XPath imageset/*
так же просто, как и imageset/image
, и немного проще написать imageset/medium
, чем imageset/image[@size='medium']
.
Более важной причиной является то, что эта схема позволяет вашей схеме указывать, что элемент imageset
должен содержать ровно по одному изображению каждого типа. (Или это указывает, что один или несколько типов изображений являются необязательными.)