switch input validation from DTD to XSD
git-svn-id: svn://svn.c3d2.de/c3d2-web/trunk@1459 31f61c52-7bfb-0310-b897-fc00f8a278f0ds2013
parent
fb737b7bd7
commit
e805a09dc8
4
Makefile
4
Makefile
|
@ -9,7 +9,7 @@ BASEURL=""
|
|||
# XML-Validator
|
||||
VALIDATOR=xmllint
|
||||
# VALIDATOR-Flags für Eingabe-XML (meist c3d2web)
|
||||
VFLAGS_IN=--noout --valid --catalogs
|
||||
VFLAGS_IN=--noout --schema xsd/c3d2web.xsd
|
||||
# VALIDATOR-Flags für Ausgabe-XML (xhtml, rss, atom, ...)
|
||||
VFLAGS_OUT=$(VFLAGS_IN)
|
||||
SGML_CATALOG_FILES=$(XML_CATALOG)
|
||||
|
@ -94,6 +94,7 @@ $(DATESTAMP):
|
|||
|
||||
### Regeln für den XSLT-Prozess ###
|
||||
|
||||
build/%.html : VFLAGS_OUT=--noout --schema xsd/xhtml1-strict.xsd
|
||||
build/news.html: $(WWW_CCC_DE_UPDATES) $(CALENDAR_SUMMARY) $(DATESTAMP)
|
||||
build/news-rss.xml : STYLE=xsl/rss.xsl
|
||||
build/news-rss.xml : NOVALID_IGNORE:=true
|
||||
|
@ -170,6 +171,7 @@ build/cgi-bin/search.html: content/cgi-bin/search.xml $(STYLE) $(NAVIGATION) $(D
|
|||
build/datenspuren/%html : STYLE=$(DS_STYLE)
|
||||
build/datenspuren/%.html: content/datenspuren/%.xml $(DS_STYLE)
|
||||
$(call xml_process)
|
||||
build/datenspuren/schedule.html : VFLAGS_IN=--noout --schema xsd/xhtml1-strict.xsd
|
||||
build/datenspuren/schedule.html : NOVALID_IGNORE:=true
|
||||
|
||||
#content/datenspuren/schedule.xml: content/static/datenspuren/fahrplan/days.de.html
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
|
||||
<p title="Ort">Das Symposium findet
|
||||
im <link href="http://www.scheune.org/"
|
||||
title="http://www.scheune.org/">Kulturzentrum Scheune</link>
|
||||
>Kulturzentrum Scheune</link>
|
||||
Alaunstr. 36-40, 01099 Dresden, statt.</p>
|
||||
|
||||
<dl>
|
||||
|
|
|
@ -452,11 +452,14 @@ td.calsun3 {
|
|||
}
|
||||
|
||||
table.calendar tr td ul {
|
||||
list-style-type: none;
|
||||
font-size: 70%;
|
||||
padding: 2px 0px;
|
||||
margin: 0px;
|
||||
}
|
||||
table.calendar tr td ul li {
|
||||
list-style-type: none;
|
||||
list-style-image: none;
|
||||
}
|
||||
|
||||
/* -- MIME Icons -- */
|
||||
/* Icons from the Tango Project, http://art.gnome.org/themes/icon/1150 */
|
||||
|
|
|
@ -0,0 +1,192 @@
|
|||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<xs:schema elementFormDefault="qualified"
|
||||
xmlns:xs="http://www.w3.org/2001/XMLSchema">
|
||||
|
||||
<xs:element name="page">
|
||||
<xs:complexType>
|
||||
<xs:choice>
|
||||
<xs:element ref="news"/>
|
||||
<xs:group ref="Block.class" minOccurs="1" maxOccurs="unbounded"/>
|
||||
</xs:choice>
|
||||
<xs:attribute name="title" type="xs:string" use="required"/>
|
||||
<xs:attribute name="pagetitle" type="xs:string" use="optional"/>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
|
||||
<xs:element name="news">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element ref="newsfile" minOccurs="1"
|
||||
maxOccurs="unbounded"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="newsfile" type="xs:anyURI"/>
|
||||
|
||||
<xs:element name="item">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element ref="image" minOccurs="0"/>
|
||||
<xs:element ref="event" minOccurs="0"/>
|
||||
<xs:group ref="Block.class" minOccurs="0"
|
||||
maxOccurs="unbounded"/>
|
||||
<xs:element ref="addendum" minOccurs="0"/>
|
||||
<xs:element ref="resource" minOccurs="0"
|
||||
maxOccurs="unbounded"/>
|
||||
</xs:sequence>
|
||||
<xs:attribute name="title" type="xs:string" use="required"/>
|
||||
<xs:attribute name="date" type="xs:dateTime" use="required"/>
|
||||
<xs:attribute name="author" type="xs:string" use="required"/>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
|
||||
<xs:element name="addendum">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:group ref="Block.class" minOccurs="0"
|
||||
maxOccurs="unbounded"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
|
||||
<xs:element name="resource">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element ref="alternative" minOccurs="0"
|
||||
maxOccurs="unbounded"/>
|
||||
</xs:sequence>
|
||||
<xs:attribute name="size" type="xs:nonNegativeInteger"
|
||||
use="required"/>
|
||||
<xs:attribute name="type" type="xs:string" use="required"/>
|
||||
<xs:attribute name="hide" type="xs:string" use="optional"/>
|
||||
<xs:attribute name="title" type="xs:string" use="optional"/>
|
||||
<xs:attribute name="url" type="xs:anyURI" use="required"/>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="alternative">
|
||||
<xs:complexType>
|
||||
<xs:attribute name="size" type="xs:nonNegativeInteger"
|
||||
use="required"/>
|
||||
<xs:attribute name="type" type="xs:string" use="required"/>
|
||||
<xs:attribute name="url" type="xs:anyURI" use="required"/>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
|
||||
<xs:group name="Block.class">
|
||||
<xs:choice>
|
||||
<xs:element ref="p"/>
|
||||
<xs:element ref="pre"/>
|
||||
<xs:element ref="dl"/>
|
||||
<xs:element ref="ul"/>
|
||||
<xs:element ref="ol"/>
|
||||
<xs:element ref="news-list"/>
|
||||
</xs:choice>
|
||||
</xs:group>
|
||||
<xs:complexType name="Block" mixed="true">
|
||||
<xs:sequence>
|
||||
<xs:group ref="Inline.class" minOccurs="0"
|
||||
maxOccurs="unbounded"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
|
||||
<xs:group name="Inline.class">
|
||||
<xs:choice>
|
||||
<xs:element ref="link"/>
|
||||
<xs:element ref="link"/>
|
||||
<xs:element ref="em"/>
|
||||
<xs:element ref="image"/>
|
||||
</xs:choice>
|
||||
</xs:group>
|
||||
|
||||
<xs:element name="news-list">
|
||||
<xs:complexType>
|
||||
<xs:attribute name="prefix" type="xs:string" use="optional"/>
|
||||
<xs:attribute name="details" type="xs:string" use="required"/>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
|
||||
<xs:element name="p">
|
||||
<xs:complexType>
|
||||
<xs:complexContent>
|
||||
<xs:extension base="Block">
|
||||
<xs:attribute name="class" type="xs:string" use="optional"/>
|
||||
<xs:attribute name="title" type="xs:string" use="optional"/>
|
||||
</xs:extension>
|
||||
</xs:complexContent>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
|
||||
<xs:element name="link">
|
||||
<xs:complexType mixed="true">
|
||||
<xs:sequence>
|
||||
<xs:element ref="image" minOccurs="0"/>
|
||||
</xs:sequence>
|
||||
<xs:attribute name="href" type="xs:anyURI" use="optional"/>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
|
||||
<xs:element name="image">
|
||||
<xs:complexType mixed="true">
|
||||
<xs:attribute name="title" type="xs:string" use="required"/>
|
||||
<xs:attribute name="class" type="xs:string" use="optional"/>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
|
||||
<xs:element name="pre" type="xs:string"/>
|
||||
|
||||
<xs:element name="em" type="xs:string"/>
|
||||
|
||||
<xs:element name="dl">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element ref="dh" minOccurs="0"/>
|
||||
<xs:choice maxOccurs="unbounded">
|
||||
<xs:element ref="dt"/>
|
||||
<xs:element ref="dd"/>
|
||||
</xs:choice>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
<xs:element name="dh" type="Block"/>
|
||||
<xs:element name="dt" type="Block"/>
|
||||
<xs:element name="dd" type="Block"/>
|
||||
|
||||
<xs:complexType name="List">
|
||||
<xs:sequence>
|
||||
<xs:element ref="li" maxOccurs="unbounded"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
<xs:element name="ul" type="List"/>
|
||||
<xs:element name="ol" type="List"/>
|
||||
<xs:element name="li">
|
||||
<xs:complexType mixed="true">
|
||||
<xs:choice maxOccurs="unbounded">
|
||||
<xs:group ref="Inline.class" minOccurs="0"
|
||||
maxOccurs="unbounded"/>
|
||||
<xs:group ref="Block.class" minOccurs="1" maxOccurs="unbounded"/>
|
||||
</xs:choice>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
|
||||
|
||||
<xs:simpleType name="dateOrDateTime">
|
||||
<xs:union>
|
||||
<xs:simpleType>
|
||||
<xs:restriction base="xs:date"/>
|
||||
</xs:simpleType>
|
||||
<xs:simpleType>
|
||||
<xs:restriction base="xs:dateTime"/>
|
||||
</xs:simpleType>
|
||||
</xs:union>
|
||||
</xs:simpleType>
|
||||
<xs:element name="event">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="start" type="dateOrDateTime"/>
|
||||
<xs:element name="end" type="dateOrDateTime" minOccurs="0"/>
|
||||
<xs:element name="location" type="xs:string" minOccurs="0"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
|
||||
</xs:schema>
|
File diff suppressed because it is too large
Load Diff
|
@ -125,9 +125,7 @@
|
|||
</xsl:call-template>
|
||||
</xsl:variable>
|
||||
|
||||
<xsl:if test="string-length(normalize-space($dholiday)) > 0">
|
||||
<li><xsl:value-of select="normalize-space($dholiday)"/></li>
|
||||
</xsl:if>
|
||||
<li><xsl:value-of select="normalize-space($dholiday)"/></li>
|
||||
</ul>
|
||||
</td>
|
||||
<xsl:if test="date:day-in-week($date) != 1"> <!-- Sunday? Break and return to output-week... -->
|
||||
|
|
Loading…
Reference in New Issue