diff --git a/Makefile b/Makefile index ca8760f3a..b20e897f6 100644 --- a/Makefile +++ b/Makefile @@ -5,7 +5,10 @@ PFLAGS=--catalogs --stringparam baseurl $(BASEURL) BASEURL="" # XML-Validator VALIDATOR=xmllint -VFLAGS=--noout --valid --catalogs +# VALIDATOR-Flags für Eingabe-XML (meist c3d2web) +VFLAGS_IN=--noout --valid --catalogs +# VALIDATOR-Flags für Ausgabe-XML (xhtml, rss, atom, ...) +VFLAGS_OUT=$(VFLAGS_IN) SGML_CATALOG_FILES=$(XML_CATALOG) export SGML_CATALOG_FILES # Downloadmanager (Alternativ: curl, fetch): @@ -56,9 +59,9 @@ CLEAN=$(CONTENT) $(NEWSFILES) $(WWW_CCC_DE_UPDATES) $(DS_PAGES) NOVALID_IGNORE:=false define xml_process - $(VALIDATOR) $(VFLAGS) $< + $(VALIDATOR) $(VFLAGS_IN) $< $(PROCESSOR) $(PFLAGS) -o $@ $(STYLE) $< - $(VALIDATOR) $(VFLAGS) $@ || $(NOVALID_IGNORE) || \ + $(VALIDATOR) $(VFLAGS_OUT) $@ || $(NOVALID_IGNORE) || \ { touch -m -t 197001010000 Makefile $@ ; exit 1 ; } endef @@ -76,8 +79,10 @@ export: www build/news.html: $(WWW_CCC_DE_UPDATES) build/news-rss.xml : STYLE=xsl/rss.xsl build/news-rss.xml : NOVALID_IGNORE:=true +build/news-rss.xml : VFLAGS_OUT=--noout --schema xsd/rss20.xsd build/news-atom.xml : STYLE=xsl/atom.xsl build/news-atom.xml : NOVALID_IGNORE:=true +build/news-atom.xml : VFLAGS_OUT=--noout --schema xsd/atom031.xsd #.INTERMEDIATE: news.xml news.xml: $(NEWSITEMS) diff --git a/xsd/atom031.xsd b/xsd/atom031.xsd new file mode 100644 index 000000000..aa9595aaa --- /dev/null +++ b/xsd/atom031.xsd @@ -0,0 +1,199 @@ + + + + + This version of the Atom API schema is based on version 0.3 of the Atom API and format specifications, + found here http://www.ietf.org/internet-drafts/draft-ietf-atompub-protocol-00.txt + and here http://www.ietf.org/internet-drafts/draft-ietf-atompub-format-00.txt. + + + + + + + The Atom feed is defined in section 4 of the format spec. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The Atom feed is defined in section 4.13 of the format spec. + + + + + + + + + + + + + + + + + + + + + + + + The Atom content construct is defined in section 3.1 of the format spec. + + + + + + + + + + + + + + + + + + + + + The Atom person construct is defined in section 3.2 of the format spec. + + + + + + + + + + + + + The Atom link construct is defined in section 3.4 of the format spec. + + + + + + + + + + + + + + + + + + + + + + + + + The Atom generator element is defined in section 4.9 of the format spec. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The Atom date construct is defined in section 3.3 of the format spec. + + + + + + + + General description for a version number. + + + + + + + + + + + + + + + + + Schema definition for an email address. + + + + + + + + + + + \ No newline at end of file diff --git a/xsd/rss20.xsd b/xsd/rss20.xsd new file mode 100644 index 000000000..b578c749d --- /dev/null +++ b/xsd/rss20.xsd @@ -0,0 +1,174 @@ + + + + + XML Schema for 2.0 by Randy Charles Morin + + + I wrote this with a little help from Jorgen Thelin's similar XML schema. + This schema is more strict, by intention. + + + + + Top level element is rss + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +