File: af-8

package info (click to toggle)
opensp 1.5.2-3
  • links: PTS
  • area: main
  • in suites: etch, etch-m68k
  • size: 8,900 kB
  • ctags: 10,028
  • sloc: cpp: 65,784; ansic: 17,124; sh: 11,255; xml: 2,704; makefile: 899; perl: 561; yacc: 288; sed: 16
file content (108 lines) | stat: -rwxr-xr-x 2,295 bytes parent folder | download | duplicates (8)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
#!/bin/sh
# Architectural Form: test ArcNamrA:
#    Keep attribute "role" as "role", but rename its value "a" to "yyy"
#    #MAPTOKEN is supported since 1.5pre4 according to NEWS
# test onsgmls and osgmlnorm

LANG=C; export LANG
LC_ALL=C; export LC_ALL

tmpfiles=""
trap 'rm -fr $tmpfiles' 1 2 3 15

tmpfiles="$tmpfiles af-8.sgml af-8.dtd af-meta-8.dtd"
cat <<EOF >af-8.sgml
<!DOCTYPE doc SYSTEM "af-8.dtd">
<doc>
 <s role="a">
  <v n="1">verse 1</v>
  <v n="2">verse 2</v>
 </s>
</doc>
EOF
cat <<EOF >af-8.dtd
<!NOTATION SGML PUBLIC "-//ISO 8879:1986//NOTATION Standard Generalized Markup
    Language//EN">

<?IS10744 ArcBase open>
<!NOTATION open PUBLIC "-//OpenJade Project//NOTATION AFDR ARCBASE open Architecture//EN">
<!ATTLIST #NOTATION open
    ArcNamrA NAME #FIXED "doc-attr"
    ArcDTD CDATA #FIXED "opendtd">
<!ENTITY opendtd SYSTEM "af-meta-8.dtd" CDATA SGML>

<!ELEMENT doc - o (s+)>
<!ATTLIST doc
  open NMTOKEN #FIXED "open">
<!ELEMENT s   - o (v+)>
<!ATTLIST s
  role (a|b)     #REQUIRED
  doc-attr CDATA #FIXED "role role
                         #MAPTOKEN yyy a"
  open NMTOKEN   #FIXED "stanza">
<!ELEMENT v   - o (#PCDATA)>
<!ATTLIST v
  n CDATA        #REQUIRED
  open NMTOKEN   #FIXED "verse"
  doc-attr CDATA #FIXED "v n">
EOF

cat <<EOF >af-meta-8.dtd
<!ELEMENT open     - o (stanza+)>
<!ELEMENT stanza   - o (verse+)>
<!ATTLIST stanza
  role (zzz|yyy) #REQUIRED
  -- role CDATA #REQUIRED --
>
<!ELEMENT verse    - o (#PCDATA)>
<!ATTLIST verse
  v CDATA #REQUIRED>
EOF

tmpfiles="$tmpfiles af-8-onsgmls.out"

: ${ONSGMLS=onsgmls}
${ONSGMLS} >af-8-onsgmls.out -A open af-8.sgml
tmpfiles="$tmpfiles af-8-onsgmls.ok"
cat <<EOF >af-8-onsgmls.ok
(OPEN
AROLE TOKEN YYY
(STANZA
AV CDATA 1
(VERSE
-verse 1
)VERSE
AV CDATA 2
(VERSE
-verse 2
)VERSE
)STANZA
)OPEN
EOF

: ${DIFF=diff}
${DIFF} af-8-onsgmls.ok af-8-onsgmls.out
result=$?
test $result = 0 || { rm -fr $tmpfiles; exit 1; }

tmpfiles="$tmpfiles af-8-norm.out"
: ${OSGMLNORM=osgmlnorm}
${OSGMLNORM} >af-8-norm.out -A open af-8.sgml
tmpfiles="$tmpfiles af-8-norm.ok"

cat <<EOF >af-8-norm.ok
<OPEN>
<STANZA ROLEE="YYY">
<VERSE V="1">verse 1</VERSE>
<VERSE V="2">verse 2</VERSE>
</STANZA>
</OPEN>
EOF

${DIFF} af-8-norm.ok af-8-norm.out
result=$?
test $result = 0 || result=$(($result + 1))

rm -fr $tmpfiles

exit $result