2009-05-12 6 views
0

Я хочу построить следующий XML:же элемент, несколько типов с XML-схемой

<?xml version="1.0"?> 
<foo> 
    <bar type="alpha"> 
    <first /> 
    <second /> 
    </bar> 
    <bar type="bravo"> 
    <third /> 
    <fourth /> 
    </bar> 
</foo> 

Характерной Суть в том, что я хочу «бар», чтобы иметь различные дочерние элементы в зависимости от его типа - если типа «альфа», тогда дети ДОЛЖНЫ быть «первыми» и «вторыми», а если тип «браво», то дети ДОЛЖНЫ быть «третьими» и «четвертыми». XSD-валидаторы, похоже, не любят идею того же элемента, что и два разных набора правил.

Как создать документ схемы XML для обеспечения соблюдения этого правила?

ответ

1

К сожалению, вы не можете сделать это с помощью XDS, см. Ограничение компонентов схемы cos-element-consistent. Вы можете либо изменить модель контента как обходной путь, либо использовать, например. Relax NG, который позволит это.

+0

@ Майкл Кэй Это самая дьявольская функция XSD когда-либо. –

Смежные вопросы