Taking bridging example from "A Tutorial Introduction to SGML Architectures"
by W. Eliot Kimber, with architectural DTD :
<!-- Person Name and addresses architecture ("personarch")-->
<!ELEMENT person
(name,
address?)
>
<!ELEMENT name
(#PCDATA | archbridge)*
>
<!ELEMENT address
(#PCDATA | archbridge)*
>
<!ELEMENT archbridge
(#PCDATA | archbridge)*
>
And mapping from elements in the document to elements in the architecture :
<?XML version="1.0" ?>
<?IS10744:arch name="personarch"
bridge-form="archbridge"
?>
<!DOCTYPE customer.record [
<!ATTLIST customer.record personarch NAME #FIXED "person" >
<!ATTLIST cust.name personarch NAME #FIXED "name" >
<!ATTLIST last personarch NAME #FIXED "archbridge" >
<!ATTLIST first personarch NAME #FIXED "archbridge" >
<!ATTLIST cust.address personarch NAME #FIXED "address" >
<!ATTLIST street personarch NAME #FIXED "archbridge" >
<!ATTLIST city personarch NAME #FIXED "archbridge" >
<!ATTLIST state personarch NAME #FIXED "archbridge" >
<!ATTLIST zip personarch NAME #FIXED "archbridge" >
]>
<customer.record>
<cust.name><last>Kimber</last><first>William</first></cust.name>
<cust.address>
<street>1234 Maple St.</street>
<city>Austin</city><state>TX</state><zip>78757</zip>
</cust.address>
</customer.record>
There is no DTD for <archbridge> element content so:
<last>Kimber</last><first>William</first>
could be :
<last>Kimber</last><middle>Eliot</middle><first>William</first>
So my question is :
how validity constraints can be enforced for bridging element substructure ?
Thanks,
Dima
-----------------
Dmitri Kondratiev
dima@paragraph.com
102401.2457@compuserve.com
http://www.geocities.com/SiliconValley/Lakes/3767/
tel: 07-095-464-9241