According to Where to put copyright information in an XSD?, one way to put a copyright notice in an xsd is to insert something like
<xs:schema version="1.0" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xsd:annotation>
<xsd:appinfo>
<copyright-notice>
Copyright 2015 Example.com. All rights reserved.
<copyright-notice>
<license uri="http://www.apache.org/licenses/LICENSE-2.0"
version="2.0">Apache License, Version 2.0</license>
<!-- ... -->
</xsd:appinfo>
</xsd:annotation>
<!-- ... -->
</xs:schema>
If I do that, it works indeed.
But now, I want to insert something alike in the corresponding XML:
<MyCase xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="MyCaseDefinition.xsd">
<annotation>
<appinfo>
<copyright-notice>
Copyright 2015 Example.com. All rights reserved.
</copyright-notice>
<license uri="http://www.apache.org/licenses/LICENSE-2.0"
version="2.0">Apache License, Version 2.0</license>
</appinfo>
</annotation>
<!-- ... -->
</MyCase>
However, if I do that, I get an error:
Invalid content starting with element 'annotation'
at the loading of the file.
It seems the 2 above are exclusive:
- If I put the annotation in the XSD, then I cannot put the equivalent in the XML.
- If I don't put anything in the XSD, then the annotation in the XML is OK.
How can I get the copyright notice in both files?