Help with Namespace Defaulting

Mark Tucker (mct@foyt.indyrad.iupui.edu)
Mon, 31 Aug 1998 11:06:18 -0500 (EST)


Hello,
Can I define xmlns = "....." as a fixed attribute of an
element?

Suppose I have Person_Data (PD) and Book (BK), both of which would
like to use an element called NAME. To keep the XML Elements unique,
I could use namespaces to keep PD:NAME distinct from BK:NAME.

MY QUESTION:

Can I use NAMESPACE defaulting via a fixed xmlns attribute
(as seen in the second example) to get rid of most of my namespace
prefixes?

=======================: With Namespaces :======================
<HTML xmlns:PD="http://tucker.rg.iupui.edu/Person_Data"
xmlns:PN="http://tucker.rg.iupui.edu/Person_Name"
xmlns:BK="http://tucker.rg.iupui.edu/Book">

<!ELEMENT PD:PERSON_DATA ( PD:NAME PD:AGE )/>
<!ELEMENT PD:NAME (PN:FIRST PN:LAST) />
<!ELEMENT PN:FIRST (#pcdata) />
<!ELEMENT PN:LAST (#pcdata) />
<!ELEMENT PD:AGE (#pcdata) />

<!ELEMENT BK:BOOK -- (BK:NAME BK:SUMMARY)/>
<!ELEMENT BK:NAME - - (#PCDATA) />
<!ELEMENT BK:SUMMARY - - (#PCDATA) />

<!ELEMENT OUTER (PD:NAME BK:BOOK> />

<OUTER>
<PD:PERSON_DATA>
<PD:NAME>
<PN:FIRST>John</PN:FIRST>
<PN:LAST>Doe</PN:LAST>
</PD:NAME>
<PD:AGE>50</PD:AGE>
</PD:PERSON_DATA>

<BK:BOOK>
<BK:NAME>Xml Made Easy</BK:NAME>
<BK:SUMMARY>Now its all clear</BK:SUMMARY>
</BK:BOOK>
</OUTER>

========================: With Namespace Defaulting :====================

<HTML xmlns:PD="http://tucker.rg.iupui.edu/Person_Data"
xmlns:PN="http://tucker.rg.iupui.edu/Person_Name"
xmlns:BK="http://tucker.rg.iupui.edu/Book">

<!ELEMENT PD:PERSON_DATA ( PD:NAME PD:AGE )/>
<!ATTRLIST PD:PERSON_DATA
xmlns "http://tucker.rg.iupui.edu/Person_Data" #FIXED /?

<!ELEMENT PD:NAME (#pcdata) />

<!ATTRLIST PD:NAME
xmlns "http://tucker.rg.iupui.edu/Person_Name" #FIXED /?

<!ELEMENT PN:FIRST (#pcdata) />
<!ELEMENT PN:LAST (#pcdata) />
<!ELEMENT PD:AGE (#pcdata) />

<!ELEMENT BK:BOOK -- (BK:NAME BK:SUMMARY)/>
<!ELEMENT BK:NAME - - (#PCDATA) />
<!ELEMENT BK:SUMMARY - - (#PCDATA) />
<!ATTRLIST BK:BOOK
xmlns "http://tucker.rg.iupui.edu/Book" #FIXED /?

<!ELEMENT OUTER (PD:PERSON_DATA BK:BOOK> />

<OUTER>
<PD:PERSON_DATA>
<NAME>
<FIRST>John</FIRST>
<LAST>Doe</LAST>
</NAME>
<AGE>50</AGE>
</PD:PERSON_DATA>

<BK:BOOK>
<NAME>Xml Made Easy</NAME>
<SUMMARY>Now its all clear</SUMMARY>
</BK:BOOK>
</OUTER>