Jacques Le Roux created OFBIZ-10718:
---------------------------------------

             Summary: Use namespaces instead of ShemaLocation and 
noNamespaceSchemaLocation
                 Key: OFBIZ-10718
                 URL: https://issues.apache.org/jira/browse/OFBIZ-10718
             Project: OFBiz
          Issue Type: Improvement
          Components: ALL COMPONENTS
    Affects Versions: Trunk
            Reporter: Jacques Le Roux
             Fix For: Upcoming Branch


As suggested by [~paul_foxworthy] at bottom of OFBIZ-6807
{quote}
ShemaLocation and noNamespaceSchemaLocation are hacks. It is silly to expect an 
XML document to know the right place for its schema. So its good that you 
removed schemaLocation from the webapp files.

However, there are still thousands of noNamespaceSchemaLocation in other XML 
files.

What the XML files should have is a namespace. Then external tools can map from 
the namespace to a catalogue of schemas to validate elements within those 
namespaces.

I suspect the noNamespaceSchemaLocation attributes are there because people 
were used to SGML and SGML-like documents (including HTML) having a DOCTYPE 
that refers to a location for a DTD. With experience, that has turned out to be 
a mistake - note in HTML5 you just say "it's HTML", no mention of a DTD.

So if you're doing anything to improve XML files, I suggest you include a 
namespace instead of schemaLocation and noNamespaceSchemaLocation. XML 
validators and IDEs like IntelliJ IDEA and Eclipse can find the right schema 
based on the namespace.
{quote}

{quote}
The Eclipse catalogs may not work for other IDEs, so we may need to maintain 
several versions. It shouldn't be too hard because we won't be defining new XML 
schemas and namespaces very often. Mostly we'd just change details within them, 
and that won't affect the catalog or catalogs.
{quote}



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to