Schemas/SMIL

From Code Synthesis Wiki

< Schemas(Difference between revisions)
Jump to: navigation, search
Revision as of 13:09, 17 February 2008
Boris (Talk | contribs)
(Add a note about the file-per-type compilation mode)
← Previous diff
Current revision
Boris (Talk | contribs)
(Fix incorrect anonymous type regex)
Line 12: Line 12:
* [[Media:Smil-2.0-schemas-split.zip|smil-2.0-schemas-split.zip]] * [[Media:Smil-2.0-schemas-split.zip|smil-2.0-schemas-split.zip]]
-The following options are recommended to compile the SMIL schemas (replace ' with " on Windows):+The following options are recommended to compile the SMIL schemas:
--generate-polymorphic --generate-polymorphic
--namespace-map "http://www.w3.org/1999/02/22-rdf-syntax-ns#=rdf" --namespace-map "http://www.w3.org/1999/02/22-rdf-syntax-ns#=rdf"
- --anonymous-regex '/.* transitionFilterPrototype/calcMode2/' + --anonymous-regex "%.* transitionFilterPrototype/calcMode%calcMode2%"
You should also consider using the --root-element-* options to select for which root elements you need parsing and serialization functions. You should also consider using the --root-element-* options to select for which root elements you need parsing and serialization functions.

Current revision

This page contains information on using the SMIL 2.0 schemas with XSD.

SMIL 2.0 schemas have a pathological circular dependency between smil20.xsd and smil20-language.xsd which prevent XSD from sucessefully translating this schemas in the default, file-per-schema mode. There are two ways to resolve this issue.

The first approach requires the use of the file-per-type compilation mode which was introduced in XSD 3.1.0. For more information about the file-per-type mode see this blog post.

The second approach involves splitting involved files into several parts. The resulting schemas are semantically equivalent to the original.

The following two packages contain the official SMIL 2.0 schemas with circular dependencies removed by introducing several -base files:

The following options are recommended to compile the SMIL schemas:

--generate-polymorphic
--namespace-map "http://www.w3.org/1999/02/22-rdf-syntax-ns#=rdf"
--anonymous-regex "%.* transitionFilterPrototype/calcMode%calcMode2%" 

You should also consider using the --root-element-* options to select for which root elements you need parsing and serialization functions.

Personal tools