Кто-нибудь знает, можно ли с помощью DTD или XML Schema описывать XML, структура которого зависит от значений атрибутов. Типа такого: если у <box> атрибут type="a", то этот <box> может содержать только элементы <a1>, <a2>, <a3>. А если type="b" — то только <b> и <b1>.
Или, если не с помощью DTD или XML Schema, то с помощью чего?
F2>Кто-нибудь знает, можно ли с помощью DTD или XML Schema описывать XML, структура которого зависит от значений атрибутов. Типа такого: если у <box> атрибут type="a", то этот <box> может содержать только элементы <a1>, <a2>, <a3>. А если type="b" — то только <b> и <b1>.
По-моему, так нельзя. Правильно будет сделать значение Вашего атрибута элементом, и в зависимости от того, что за элемент, включать в него другие элементы. Это проходит и со схемой, и с DTD.
Re: DTD, XML Schema etc.
От:
Аноним
Дата:
27.01.03 15:35
Оценка:
Здравствуйте, fox_2000, Вы писали:
F2>Можно ли с помощью DTD или XML Schema описывать XML, структура которого зависит от значений атрибутов. Типа такого: если у <box> атрибут type="a", то этот <box> может содержать только элементы <a1>, <a2>, <a3>. А если type="b" — то только <b> и <b1>.
DTD таких сложномудрых вещей не позволяет точно.
XSD позволяет в некоторых ситуациях извернуться при помощи ограничений идентичности (identity constraints), но как этого добиться в данном конкретном случае, я не вижу.
Здравствуйте, dmile, Вы писали:
F2>>Кто-нибудь знает, можно ли с помощью DTD или XML Schema описывать XML, структура которого зависит от значений атрибутов. Типа такого: если у <box> атрибут type="a", то этот <box> может содержать только элементы <a1>, <a2>, <a3>. А если type="b" — то только <b> и <b1>.
D>По-моему, так нельзя. Правильно будет сделать значение Вашего атрибута элементом, и в зависимости от того, что за элемент, включать в него другие элементы. Это проходит и со схемой, и с DTD.
К сожалению, эта структура xml от меня не зависит. Приходится работать с тем, что дали.
Здравствуйте, fox_2000, Вы писали:
F2>Здравствуйте, dmile, Вы писали:
F2>>>Кто-нибудь знает, можно ли с помощью DTD или XML Schema описывать XML, структура которого зависит от значений атрибутов. Типа такого: если у <box> атрибут type="a", то этот <box> может содержать только элементы <a1>, <a2>, <a3>. А если type="b" — то только <b> и <b1>.
Попробуй определение самого элемента <box> включить в <choice>. Собственно говоря почему нет, если элемент <box> выглядит так, то содержит такие элементы, а если так, то — другие.
Здравствуйте, A_Gura, Вы писали:
F2>>>>Кто-нибудь знает, можно ли с помощью DTD или XML Schema описывать XML, структура которого зависит от значений атрибутов. Типа такого: если у <box> атрибут type="a", то этот <box> может содержать только элементы <a1>, <a2>, <a3>. А если type="b" — то только <b> и <b1>.
AG>Попробуй определение самого элемента <box> включить в <choice>. Собственно говоря почему нет, если элемент <box> выглядит так, то содержит такие элементы, а если так, то — другие.
Просто в <choice> нельзя, потому что у него еще атрибут должен быть. Так что он в любом случае complextype и на него ссылка по type. Но и ссылки эти тоже непосредственно в <choice> включать нельзя, ибо там не может быть элементов с одинаковыми именами. В итоге, у меня получилось так: