загрузка...
 
ВИКОРИСТАННЯ ГРУП ВМІСТУ
Повернутись до змісту

ВИКОРИСТАННЯ ГРУП ВМІСТУ

В електронній комерції часто виникають ситуації, коли при перевірці яких-небудь даних може виникнути помилка, тому відкидається цілий документ. Але замість того, щоб відхилити цілу транзакцію, користувачеві пропонують змінити тільки той блок коду, який не пройшов верифікації.

Наприклад, необхідно отримувати відомості про те, що повідомлення було отримане повністю. Крім того, необхідно, щоб додаток перевіряв екземпляр XML так, щоб у ньому була потрібна наявність того або іншого повідомлення.

Нехай маємо XML-документ example_10.xml

time=’12:15:45’

date=’2009-10-18’

number=’n1’

from=’Проценко О.Б.’>

Завтра лекція з Web-дизайну о 13.25

time=’14:45:15’

date=’2009-10-18’

number="n2"

from="Керівник відділу"> Терміново здати звіт.

Введемо після кожного елемента text новий елемент , у рамках цього елемента розглянемо дочірній порожній елемент або .

У результаті отримаємо example_10.xml

time=’12:15:45’

date=’2009-10-18’

number=’n1’

from=’Проценко О.Б.’>

Завтра лекція з Web-дизайну о 13.25

time=’14:45:15’

date=’2009-10-18’

number=’n2’

from=’Керівник відділу’>

Терміново здати звіт

.

Для перевірки цього документа створимо групу змісту в схемі XDR, що містить елементи і .

Групи змісту створюються завдяки елементу XDR-схеми , який є дочірнім у батьківському елементі ElementType.

Синтаксис елемента :

.

У даному випадку, фрагмент XDR-схеми буде мати такий вигляд:

order=’one’

.

Повна схема XDR виглядатиме так:

1:

2:

3:name= 'example_10'

4:xmlns= 'urn:shemas-microsoft-com:xml-data'

5:xmlns:dt='urt:shemas-microsoft-com: datatype'>

6:

7:name='note'

8:content='eltOnly'

9:model='close'

10:order=’many’>

11:

12:type=’text’

13:minOccure=’1’

14:maxOccure=’*’   / >

15:

16:type=’report’   / >

17:

18:

19:name=’incomplete’

20:model=’close’

21:content=’empty’/>

22:

23:

24:name=’complete’

25:model=’close’

26:content=’empty’/>

27:

28:

29:name=’text’

30:model=’close’

31:content=’textOnly’/>

32:

33:

34:dt:type= 'time'

35:name= 'time'

36:required= 'yes'/>

37:

38:type= 'time'

39:required= 'yes'/>

40:   

41:dt:type= 'date'

42:name= 'date'

43:required= 'yes'/>

44:   

45:type= 'date'

46:required= 'yes'/>

47:   

48:name= 'date'

49:dt:type= 'string'

50dt:maxLength=’15’

50:required= 'yes'/>

51:   

52:type= 'from'

53:required= 'yes'/>

54:

55:

56:

57:

58:

59:

60:

61:.



загрузка...