#change FS: PUBDIR=$TR$(DOCIDENT) to PUBDIR=$(DOCIDENT) (can't use TR dir on homer) #change FS: ant changelog to # ant changelog #change FS: $(POLICY.xml) $(STYLESHEET) to $(STYLESHEET) $(POLICY.xml) (doesn't work the other way round) #change FS: $(LINKCHECKER) -s -r -b $? > $@ to # $(LINKCHECKER) -s -r -b $? > $@ (no linkchecker to save some time) # -*- makefile -*- XSL=xmlspec.xsl xmlspec-policy.xsl changelog.xsl STYLESHEETXSL10=xmlspec-policy-xsl1-0.xsl #FS: Browsers don't understand XSLT2.0 yet, hence this stylesheet for the TR space directory. XSLINPUBDIR=xmlspec.xsl changelog.xsl #FS: Related to STYLESHEETXSL10 XSLADDLINENUMBERS=addlinenumbers.xsl #FS: Related to STYLESHEETXSL10 ENTITIES=entities.dtd entitieswd.dtd entitiesedcopy.dtd YEAR=$(shell grep "ENTITY draft.year" entitieswd.dtd | cut -d '"' -f2) MM=$(shell grep "ENTITY draft.mm" entitieswd.dtd | cut -d '"' -f2) DD=$(shell grep "ENTITY draft.dd" entitieswd.dtd | cut -d '"' -f2) NSURI=$(shell grep "ENTITY nsuri" entities.dtd | head -1| cut -d '"' -f2) STATUS_ENTITY=w3c.status$(STATUSPREFIX) STATUS=$(shell grep "ENTITY $(STATUS_ENTITY) " entitieswd.dtd | cut -d '"' -f2) DOCIDENT=$(STATUS)-$(PREFIX)-$(YEAR)$(MM)$(DD) TOOLS=../../../2002/ws/desc/tools include $(TOOLS)/Makefile.jars LINKCHECKER=$(TOOLS)/checklink.pl TIDY=tidy -asxml -utf8 SPELL=aspell --mode=html --encoding=utf-8 --master=american list HTML2PS=html2ps PS2PDF=ps2pdf HTML2TEXT=w3m -dump VALIDATE=xmllint --noout --valid VALIDATESCHEMA=$(TOOLS)/validate-schema.sh XSLTPROC=xsltproc SAXON=saxon NSCHECK=REQUEST_METHOD="GET" SCRIPT_NAME=nschecker python $(TOOLS)/nschecker SETUP-NAMESPACES=$(TOOLS)/setup-namespaces RDDLTRANS=sed -e "s/@Y@/$(YEAR)/g" -e "s/@M@/$(MM)/g" -e "s/@D@/$(DD)/g" -e "s/@S@/$(STATUS)/g" -e "s/@NS@/Web Services Policy 1.5/g" -e "s/@N@/ws-policy/g" -e "s|@NSURI@|http://www.w3.org/ns/ws-policy|g" TR=$(WWW)TR/$(YEAR) PUBDIR=$(DOCIDENT) NSDIR=$(WWW)/ns$(EXTRANSDIR) SCHEMADIR=$(WWW)/2007/02$(EXTRANSDIR) POLICY.xml=$(PREFIX).xml POLICY.html=$(PREFIX).html POLICY.ps=$(PREFIX).ps POLICY.pdf=$(PREFIX).pdf POLICY.txt=$(PREFIX).txt STYLESHEET=xmlspec-policy.xsl $(POLICY.html): $(POLICY.xml) $(FILES) $(XSL) changelog.xml valid-xml.txt @echo "Generating $@";\ $(SAXON) $(STYLESHEET) $(POLICY.xml) > $@ @echo "Running tidy on $@";\ mv $@ $@.old; \ $(TIDY) $@.old > $@ 2>./tidy-output.txt;\ rm $@.old changelog.xml: $(POLICY.xml) $(FILES) $(XSL) ifndef NOANT # ant changelog endif $(POLICY.ps): $(POLICY.html) $(IMAGES) @echo "Generating $@";\ $(XSLTPROC) $(TOOLS)/latin1-conv.xsl $(POLICY.html) | $(HTML2PS) -f $(TOOLS)/html2psrc > $@ || rm $@ $(POLICY.pdf): $(POLICY.ps) @echo "Generating $@";\ $(PS2PDF) $< $(POLICY.txt): $(POLICY.html) @echo "Generating $@";\ $(RM) $@ ; \ $(HTML2TEXT) $< > $@ diff.html: $(POLICY.html) @echo "Generating diff" ifndef FIRST @wget -q -O $<-prevversion.html `$(TOOLS)/prevloc $(POLICY.xml)`;\ $(TOOLS)/htmldiff $<-prevversion.html $(POLICY.html) | sed -e "s/<\(title\|h1\)>/\0${YEAR}-${MM}-${DD} diff-marked version: /g" | $(TIDY) - | $(TOOLS)/cleanup-diff.pl > $@ 2>/dev/null;\ rm $<-prevversion.html endif check.txt: trhtml valid-html.txt valid-ns.html checkspell.txt valid-links.txt valid-html.txt: $(POLICY.html) @echo "Validating $?";\ $(VALIDATE) $? && touch ./$@ validate-html: valid-html.txt @cat valid-html.txt validate-xml: valid-xml.txt @cat valid-xml.txt valid-ns.html: $(POLICY.html) valid-html.txt ifndef QUICK @echo "Running namespace checker";\ # QUERY_STRING="uri=file://$(PWD)/$(POLICY.html)" $(NSCHECK) > $@ endif validate-ns: valid-ns.html ifndef QUICK @lynx -dump $? endif checkspell: checkspell.txt ifndef QUICK @cat checkspell.txt endif validate-links: valid-links.txt ifndef QUICK @cat valid-links.txt endif check: validate-xml validate-html validate-ns checkspell validate-links valid-xml.txt: $(POLICY.xml) @echo "Validating $?";\ $(VALIDATE) $? > ./$@ valid-links.txt: $(POLICY.html) ifndef QUICK @echo "Checking links $?";\ # $(LINKCHECKER) -s -r -b $? > $@ endif checkspell.txt: $(POLICY.html) ifndef QUICK echo "Checking spelling $?";\ rm -f $@ ;\ $(SPELL) < $? | sort | uniq -c | sort -n > $@ endif directory: @-echo "Installing directories";\ mkdir -p $(PUBDIR) schemas: $(SCHEMAS) $(RDDL) @if [ -n "$(SCHEMAS)" ] ;\ then\ rm -f valid-schemas.txt;\ for i in $(SCHEMAS) ;\ do echo "Generating $$i...";\ $(XSLTPROC) $(TOOLS)/identity.xsl $$i > $(SCHEMADIR)/$$i;\ $(VALIDATESCHEMA) $(SCHEMADIR)/$$i >> ./valid-schemas.txt;\ done ;\ cat valid-schemas.txt;\ fi ws-policy: echo "Generating RDDL ($@)";\ mkdir -p $(NSDIR);\ for ext in html xhtml; do $(RDDLTRANS) rddl-main.$$ext > $(NSDIR)/$@.$$ext; done trhtml: $(POLICY.html) altformats: $(POLICY.pdf) $(POLICY.ps) $(POLICY.txt) # @@@ Uncomment this after the first public w=Working Draft # trall: trhtml diff.html altformats check.txt trall: trhtml altformats check.txt install-tr: trall directory @echo "Installing draft";\ cp $(XSLINPUBDIR) $(IMAGES) changelog.xml xmlspec.dtd $(PUBDIR);\ cp $(STYLESHEETXSL10) $(PUBDIR)/$(STYLESHEET);\ cp $(POLICY.pdf) $(POLICY.ps) $(POLICY.txt) diff.html $(PUBDIR);\ cat htaccess-for-html htaccess-for-text > $(PUBDIR)/.htaccess;\ $(SAXON) $(XSLADDLINENUMBERS) $(POLICY.xml) > temp.xml $(XSLTPROC) --stringparam year $(YEAR) identityxmlspec.xsl temp.xml > $(PUBDIR)/$(POLICY.xml) ;\ rm temp.xml cp $(POLICY.html) $(PUBDIR)/Overview.html install: install-tr clean: rm -f *~* html2ps.dbg ./valid-html.txt ./valid-xml.txt ./checkspell.txt ./valid-links.txt ./valid-ns.html ./valid-schemas.txt ./tidy-output.txt $(POLICY.html) diff.html $(POLICY.pdf) $(POLICY.ps) $(POLICY.txt) .PHONY: install install-tr validate-html validate-xml spellcheck pubinstall clean schemas directory check.txt acknowledgements trhtml trall altformats ws-policy