]> git.argeo.org Git - lgpl/argeo-commons.git/blob - org.argeo.cms/src/org/argeo/cms/acr/CmsContentTypes.java
Directory as a hierarchy unit.
[lgpl/argeo-commons.git] / org.argeo.cms / src / org / argeo / cms / acr / CmsContentTypes.java
1 package org.argeo.cms.acr;
2
3 import java.net.MalformedURLException;
4 import java.net.URL;
5 import java.util.Objects;
6
7 import org.argeo.api.acr.CrName;
8
9 public enum CmsContentTypes {
10 CR_2(CrName.CR_DEFAULT_PREFIX, CrName.CR_NAMESPACE_URI, "cr.xsd", null),
11 //
12 XSD_2001("xs", "http://www.w3.org/2001/XMLSchema", "XMLSchema.xsd", "http://www.w3.org/2001/XMLSchema.xsd"),
13 //
14 XML_1998("xml", "http://www.w3.org/XML/1998/namespace", "xml.xsd", "http://www.w3.org/2001/xml.xsd"),
15 //
16 XLINK_1999("xlink", "http://www.w3.org/1999/xlink", "xlink.xsd", "http://www.w3.org/XML/2008/06/xlink.xsd"),
17 //
18 XSLT_2_0("xsl", "http://www.w3.org/1999/XSL/Transform", "schema-for-xslt20.xsd",
19 "https://www.w3.org/2007/schema-for-xslt20.xsd"),
20 //
21 SVG_1_1("svg", "http://www.w3.org/2000/svg", "SVG.xsd",
22 "https://raw.githubusercontent.com/oreillymedia/HTMLBook/master/schema/svg/SVG.xsd"),
23 //
24 DOCBOOK_5_0_1("dbk", "http://docbook.org/ns/docbook", "docbook.xsd",
25 "http://docbook.org/xml/5.0.1/xsd/docbook.xsd"),
26 //
27 XML_EVENTS_2001("ev", "http://www.w3.org/2001/xml-events", "xml-events-attribs-1.xsd",
28 "http://www.w3.org/MarkUp/SCHEMA/xml-events-attribs-1.xsd"),
29 //
30 XFORMS_2002("xforms", "http://www.w3.org/2002/xforms", "XForms-11-Schema.xsd",
31 "https://www.w3.org/MarkUp/Forms/2007/XForms-11-Schema.xsd"),
32 //
33 DSML_v2("dsml", "urn:oasis:names:tc:DSML:2:0:core", "DSMLv2.xsd",
34 "https://www.oasis-open.org/committees/dsml/docs/DSMLv2.xsd"),
35 //
36 ;
37
38 private final static String RESOURCE_BASE = "/org/argeo/cms/acr/schemas/";
39
40 private String defaultPrefix;
41 private String namespace;
42 private URL resource;
43 private URL publicUrl;
44
45 CmsContentTypes(String defaultPrefix, String namespace, String resourceFileName, String publicUrl) {
46 Objects.requireNonNull(namespace);
47 this.defaultPrefix = defaultPrefix;
48 Objects.requireNonNull(namespace);
49 this.namespace = namespace;
50 resource = getClass().getResource(RESOURCE_BASE + resourceFileName);
51 Objects.requireNonNull(resource);
52 if (publicUrl != null)
53 try {
54 this.publicUrl = new URL(publicUrl);
55 } catch (MalformedURLException e) {
56 throw new IllegalArgumentException("Cannot interpret public URL", e);
57 }
58 }
59
60 public String getDefaultPrefix() {
61 return defaultPrefix;
62 }
63
64 public String getNamespace() {
65 return namespace;
66 }
67
68 public URL getResource() {
69 return resource;
70 }
71
72 public URL getPublicUrl() {
73 return publicUrl;
74 }
75
76 }