[
https://issues.apache.org/jira/browse/HADOOP-12118?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14604427#comment-14604427
]
Kengo Seki commented on HADOOP-12118:
-------------------------------------
[~gliptak] yes, we can achieve basic validation by using that schema. But I'm
afraid it's impossible to check if the configuration satisfies the following
conditions using only XSD:
* <property/> can have children other than <name/>, <value/>, <description/>
and <final/>. <xs:all> seems too strict.
* The children of <property/> can be represented as attributes instead of
elements (See HADOOP-6964). And they should be exclusive except for <source/>.
* <property/> which has the same value for the child <name/> should not be
duplicated.
This is also needed but not so difficult:
* <name/> should not be empty.
Also, I'm not sure we can expect that xmllint is always available for all
platforms that is supposed to be Hadoop supported.
> Validate xml configuration files with XML Schema
> ------------------------------------------------
>
> Key: HADOOP-12118
> URL: https://issues.apache.org/jira/browse/HADOOP-12118
> Project: Hadoop Common
> Issue Type: Improvement
> Reporter: Christopher Tubbs
> Attachments: HADOOP-7947.branch-2.1.patch, hadoop-configuration.xsd
>
>
> I spent an embarrassingly long time today trying to figure out why the
> following wouldn't work.
> {code}
> <property>
> <key>fs.defaultFS</key>
> <value>hdfs://localhost:9000</value>
> </property>
> {code}
> I just kept getting an error about no authority for {{fs.defaultFS}}, with a
> value of {{file:///}}, which made no sense... because I knew it was there.
> The problem was that the {{core-site.xml}} was parsed entirely without any
> validation. This seems incorrect. The very least that could be done is a
> simple XML Schema validation against an XSD, before parsing. That way, users
> will get immediate failures on common typos and other problems in the xml
> configuration files.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)