I want to know what is difference between this 2 ELEMENT tag :
<!ELEMENT bank (account*, customer*, depositor*)>
and
<!ELEMENT bank (account | customer | depositor )*>
thanks.
I want to know what is difference between this 2 ELEMENT tag :
<!ELEMENT bank (account*, customer*, depositor*)>
and
<!ELEMENT bank (account | customer | depositor )*>
thanks.
In a nutshell, the first ELEMENT declaration is saying the child elements have to be in a specific order. The second ELEMENT declaration is saying the child elements can be in any order.
The following means: a bank element containing zero or more account elements, followed by zero or more customer elements, followed by zero or more depositor elements. (In that specific order.)
<!ELEMENT bank (account*, customer*, depositor*)>
The following means: a bank element containing zero or more account or customer or depositor elements (in any order).
<!ELEMENT bank (account | customer | depositor )*>
The ',' means "followed by" and the '|' means "or". The '*' means zero or more. Also, a '+' means one or more (at least one).
It denotes a regular expression. Though I'm not very good at that, I think the second tag accepts sub-element of either account or customer or depositor.