# -*- makefile -*-

PATTERNS=../patterns/patterns.xml
EXAMPLES=../patterns/examples.xml
EXPLANATIONS=explanations.xml
XMLSPEC=../common/xmlspec.xsl
DATABINDING=../common/databinding.xsl
W3CROOT=../../../../../

XSLTPROC=xsltproc
SAXON=java -jar ../lib/saxon8.9.jar
XMLINDENT=../common/xmlindent
TIDY=tidy

all: basic.html 

#
#  normative HTML 
#
basic.html:	basic-untidy.html 
	-$(TIDY) -utf8 -quiet -asxhtml basic-untidy.html > basic.html 2> tidy.txt

basic-untidy.html: $(XMLSPEC) basic.xsl basic.xml basic.xsl $(DATABINDING) $(XMLSPEC)
	$(XSLTPROC) --stringparam w3c.root "$(W3CROOT)" basic.xsl basic-source.xml > $@

#
#  non-normative indented and expanded XML copy
#
basic.xml: basic-source.xml patterns.xml document-assertion-table.xml implementation-assertion-table.xml pattern-table.xml ws-i-conformance.xml xpath-idioms.xml detecting-patterns.xml notations.xml patterns-intro.xml
	$(XMLINDENT) basic-source.xml > $@

#
#  summary of patterns
#
pattern-table.xml:	basic-source.xml patterns.xml ../common/pattern-table.xsl
	$(XSLTPROC) ../common/pattern-table.xsl basic-source.xml > $@

#
#  summary of document assertions
#
document-assertion-table.xml:	basic-source.xml $(PATTERNS)
	$(XSLTPROC) --stringparam class document ../common/assertion-table.xsl basic-source.xml > $@

#
#  summary of implementation assertions
#
implementation-assertion-table.xml:	basic-source.xml $(PATTERNS)
	$(XSLTPROC) --stringparam class implementation ../common/assertion-table.xsl basic-source.xml > $@



#
#  patterns extracted from patterns.xml
#  - examples highlighted using XPath 2.0
#
patterns.xml: $(PATTERNS) examples-tmp.xml ../common/patterns.xsl
	$(XSLTPROC) --stringparam status basic ../common/patterns.xsl $(PATTERNS)  > $@

examples-tmp.xml:	$(PATTERNS) $(EXAMPLES) examplesbuilder.xsl ../common/example-to-html.xsl Makefile
	$(SAXON) $(EXAMPLES) examplesbuilder.xsl  | \
	    sed -e 's/^      //' > $@

examplesbuilder.xsl:	$(PATTERNS) $(EXAMPLES) ../common/patterns2builder.xsl
	$(XSLTPROC) ../common/patterns2builder.xsl $(PATTERNS)  > $@

clean::
	rm -f tidy-output.txt
