On Fri, 2022-11-18 at 18:39 +0000, Lizzi, Vincent wrote:
> Hi Liam,
> 
> XML's way handling of space characters is understandably an
> improvement over SGML, but it still causes problems sometimes and
> seems more complex than it perhaps could be. Although the ship has
> long since sailed, out of curiosity do you recall if there were any
> suggestions for a rule to ensure that spaces (and absence of spaces)
> would be consistently preserved without relying on a DTD or Schema?

There were. There was a lot of discussion around this. The main
proposals were
(1) disallow mixed content entirely, and require an element to contain
text.
  <p><T>Karen </T><emph>actually</em><T> smiled at this idea.</T?</p>
It's easy to see why this didn't get much traction from document
people.

(2) require mixed or text elements to use different syntax, e.g.
  <@p>Karen <@emph>actually</@emph> smiled at this idea.</@p>
This would have ruled out XHTML, however, or any other pre-existing
SGML vocabulary, and at that time that was 100% of all content: there
was no XML content outside of the examples in the specification itself.

At one point i remember (foolishly) suggesting upper-case element names
for ones that count not contain text directly (or the other way round,
i forget), but of course this wouldn't work in a multilingual world
where not all languages have upper and lower case.

XML was developed before XML Schema. When we started, a DTD was
required; by the end, DTDs were optional (i had Charles Goldfarb
calling me at home over this, trying to find ways to keep DTDs as
mandatory!) but i think we didn't revisit all of the decisions in this
light.

> A relatively safe way to "pretty print" indent XML is to only insert
> or remove spaces between an element's name and closing > and where
> spaces already exist in text nodes.

Yes, there are tools that can do this, too.
> 
> However I haven't seen any XML editor or processor implement this
> approach.

I think maybe xmllint can, i'm not sure. And possibly xml tidy, and
maybe James' xp has something like this. Overall i think it tends to
confuse people more than it helps, though. I'm not sure.

liam


-- 
Liam Quin, https://www.delightfulcomputing.com/
Available for XML/Document/Information Architecture/XSLT/
XSL/XQuery/Web/Text Processing/A11Y training, work & consulting.
Barefoot Web-slave, antique illustrations:  http://www.fromoldbooks.org

Reply via email to