The argument was not that you don’t understand the concepts, but that your choice of vocabulary was incorrect, and your ambiguous explanations made what you were saying confusing. Your statements could therefore easily be misinterpreted by someone who doesn’t understand what XHTML is about as saying “you can add any elements you want to XHTML without conditions, because that’s what the X means”. This could lead people to create some very poor implementations of XHTML.
PS - if you create a DTD for <schön> per your example, you would only be able to include it in a valid XHTML doc in a separate namespace, e.g. <noon:schön> where xmlns:noon=“the://schön/namespace/uri” (assuming your XHTML is the default NS)
rect and circle are not svg:rect and svg:circle, there is no need for that, they’re “inside” their respective namespace. Likewise when you don’t prefix every html element with html:. I’ve told you this before.
Unless you add disparate elements from the html in noon, or vice versa, <schön> is just fine.
That’s a valid implementation for a simple single element embedded into a doc. However, if you were going to use multiple SVG elements interspersed throughout your XHTML doc, or complex interlacing of elements (not with SVG, but say, RSS), it would be likewise suggested or required to have a global namespace for all of your embedded elements rather than a local namespace for each element. Also, using a namespace prefix (even on a local declaration) is suggested for human-readability (it visually identifies the disparate documents better).
Depends on the spec and how it integrates with the XHTML. Here’s an example of interlaced XML that would require two namespaces declared (preferably both in the root element). Although SVG doesn’t work this way, this is not uncommon with other XML specs (e.g. RSS, XSL, SOAP, etc.).
Since <schön> is not in danger of being confused with another element from another namespace, in this particular case, because XHTML doesn’t have a <schön> element, the noon: prefix is not necessary.
<schön> is just fine. Still.
I hope you do finally realize you didn’t prefixed table: <html:table>, and what that says.
noon, I had to log in one last time to explain this last bit to you… the reason <table> doesn’t require a prefix in my example is because it’s in the default namespace (look at the xmlns declarations in the root <html> element). The only way to implement my example without a prefix on <schon> elements is to redeclare the namespace for each element, e.g.:
As you can likely see, using a prefix is the more efficient method of doing this, especially if/when you get dozens of element references interspersed in a single document.
Now, it’s time for me to move on from SitePoint per Matt’s request… best of luck to you.
I agree with you that defining a default namespace for an element saves us from using prefixes in all the child elements.
However, what you fail to understand is that, the use of namespace prefix is only necessary if there is a danger of confusion, i.e. two elements from two different namespaces have the same name.
This is called “solving the name conflict using a prefix”.
My comment about <html:table> was to make you recognize the predominant HTML nature in X(HT)ML.