From: <nw...@us...> - 2010-03-19 00:16:45
|
Revision: 8593 http://docbook.svn.sourceforge.net/docbook/?rev=8593&view=rev Author: nwalsh Date: 2010-03-19 00:16:32 +0000 (Fri, 19 Mar 2010) Log Message: ----------- Initial checkin of toolchain for converting DocBook RNG schemas to DTDs and XSDs Added Paths: ----------- trunk/docbook/relaxng/tools/rng2dtd/ trunk/docbook/relaxng/tools/rng2dtd/pipe.xpl trunk/docbook/relaxng/tools/rng2dtd/rng2dtd.xpl trunk/docbook/relaxng/tools/rng2dtd/src/ trunk/docbook/relaxng/tools/rng2dtd/src/override-docbook.xml trunk/docbook/relaxng/tools/rng2dtd/src/override-publishers.xml trunk/docbook/relaxng/tools/rng2dtd/style/ trunk/docbook/relaxng/tools/rng2dtd/style/attr-optional-to-decl.xsl trunk/docbook/relaxng/tools/rng2dtd/style/attr-optional-to-ref.xsl trunk/docbook/relaxng/tools/rng2dtd/style/attr-remove-choice.xsl trunk/docbook/relaxng/tools/rng2dtd/style/attr-remove-unused.xsl trunk/docbook/relaxng/tools/rng2dtd/style/common.xsl trunk/docbook/relaxng/tools/rng2dtd/style/dtx2dtd.xsl trunk/docbook/relaxng/tools/rng2dtd/style/flatten-attref.xsl trunk/docbook/relaxng/tools/rng2dtd/style/multiple-gis.xsl trunk/docbook/relaxng/tools/rng2dtd/style/override.xsl trunk/docbook/relaxng/tools/rng2dtd/style/pull-up-text.xsl trunk/docbook/relaxng/tools/rng2dtd/style/ref-to-attref.xsl trunk/docbook/relaxng/tools/rng2dtd/style/remove-empty-pes.xsl trunk/docbook/relaxng/tools/rng2dtd/style/rng2dtx.xsl trunk/docbook/relaxng/tools/rng2dtd/style/sort-pes.xsl trunk/docbook/relaxng/tools/rng2dtd/style/unwrap-zeroormore.xsl trunk/docbook/relaxng/tools/rng2dtd/test/ trunk/docbook/relaxng/tools/rng2dtd/test/dbdoc.xml trunk/docbook/relaxng/tools/rng2dtd/test/doc.xml Added: trunk/docbook/relaxng/tools/rng2dtd/pipe.xpl =================================================================== --- trunk/docbook/relaxng/tools/rng2dtd/pipe.xpl (rev 0) +++ trunk/docbook/relaxng/tools/rng2dtd/pipe.xpl 2010-03-19 00:16:32 UTC (rev 8593) @@ -0,0 +1,205 @@ +<p:declare-step xmlns:p="http://www.w3.org/ns/xproc" + xmlns:c="http://www.w3.org/ns/xproc-step" + xmlns:cx="http://xmlcalabash.com/ns/extensions" + name="main" version='1.0' > + + <p:input port="source"> + <p:document href="../../docbook/dtd.rng"/> + </p:input> + <p:input port="parameters" kind="parameter"/> + <p:output port="result"/> + <p:serialization port="result" method="text"/> + + <p:option name="debug" select="0"/> + <p:option name="override" select="'src/override-docbook.xml'"/> + +<!-- ============================================================ --> + + <p:declare-step type="cx:tee" name="teemain"> + <p:input port="source" sequence="true" primary="true"/> + <p:output port="result" sequence="true" primary="true"> + <p:pipe step="identity" port="result"/> + </p:output> + <p:option name="href" required="true"/> + <p:option name="debug" select="0"/> + + <p:choose> + <p:when test="$debug != 0"> + <p:store name="saving-debugging-output" method="xml" indent="true"> + <p:with-option name="href" select="$href"/> + </p:store> + </p:when> + <p:otherwise> + <p:sink name="discarding-debugging-output"/> + </p:otherwise> + </p:choose> + + <p:identity name="identity"> + <p:input port="source"> + <p:pipe step="teemain" port="source"/> + </p:input> + </p:identity> + </p:declare-step> + +<!-- ============================================================ --> + + <p:variable name="override.xml" select="resolve-uri($override)"/> + +<!-- ============================================================ --> + + <cx:tee href="output-of-input.xml"> + <p:with-option name="debug" select="$debug"/> + </cx:tee> + + <p:xslt name="rng2dtx"> + <p:input port="stylesheet"> + <p:document href="style/rng2dtx.xsl"/> + </p:input> + </p:xslt> + + <cx:tee href="output-of-rng2dtx.xml"> + <p:with-option name="debug" select="$debug"/> + </cx:tee> + + <p:xslt name="override"> + <p:input port="stylesheet"> + <p:document href="style/override.xsl"/> + </p:input> + <p:with-param name="override.xml" select="$override.xml"/> + </p:xslt> + + <cx:tee href="output-of-override.xml"> + <p:with-option name="debug" select="$debug"/> + </cx:tee> + + <cx:until-unchanged name="remove-choice"> + <p:xslt name="attr-remove-choice"> + <p:input port="stylesheet"> + <p:document href="style/attr-remove-choice.xsl"/> + </p:input> + </p:xslt> + </cx:until-unchanged> + + <cx:tee href="output-of-attr-remove-choice.xml"> + <p:with-option name="debug" select="$debug"/> + </cx:tee> + + <cx:until-unchanged name="remove-unused"> + <p:xslt name="attr-remove-unused"> + <p:input port="stylesheet"> + <p:document href="style/attr-remove-unused.xsl"/> + </p:input> + </p:xslt> + </cx:until-unchanged> + + <cx:tee href="output-of-attr-remove-unused.xml"> + <p:with-option name="debug" select="$debug"/> + </cx:tee> + + <p:xslt name="attr-optional-to-ref"> + <p:input port="stylesheet"> + <p:document href="style/attr-optional-to-ref.xsl"/> + </p:input> + </p:xslt> + + <cx:tee href="output-of-attr-optional-to-ref.xml"> + <p:with-option name="debug" select="$debug"/> + </cx:tee> + + <cx:until-unchanged name="to-attref"> + <p:xslt name="ref-to-attref"> + <p:input port="stylesheet"> + <p:document href="style/ref-to-attref.xsl"/> + </p:input> + </p:xslt> + </cx:until-unchanged> + + <cx:tee href="output-of-ref-to-attref.xml"> + <p:with-option name="debug" select="$debug"/> + </cx:tee> + + <cx:until-unchanged name="flatten"> + <p:xslt name="flatten-attref"> + <p:input port="stylesheet"> + <p:document href="style/flatten-attref.xsl"/> + </p:input> + </p:xslt> + </cx:until-unchanged> + + <cx:tee href="output-of-flatten-attref.xml"> + <p:with-option name="debug" select="$debug"/> + </cx:tee> + + <p:xslt name="attr-optional-to-decl"> + <p:input port="stylesheet"> + <p:document href="style/attr-optional-to-decl.xsl"/> + </p:input> + </p:xslt> + + <cx:tee href="output-of-attr-optional-to-decl.xml"> + <p:with-option name="debug" select="$debug"/> + </cx:tee> + + <p:xslt name="multiple-gis"> + <p:input port="stylesheet"> + <p:document href="style/multiple-gis.xsl"/> + </p:input> + </p:xslt> + + <cx:tee href="output-of-multiple-gis.xml"> + <p:with-option name="debug" select="$debug"/> + </cx:tee> + + <p:xslt name="remove-empty-pes"> + <p:input port="stylesheet"> + <p:document href="style/remove-empty-pes.xsl"/> + </p:input> + </p:xslt> + + <cx:tee href="output-of-remove-empty-pes.xml"> + <p:with-option name="debug" select="$debug"/> + </cx:tee> + + <cx:until-unchanged name="pull-up"> + <p:xslt name="pull-up-text"> + <p:input port="stylesheet"> + <p:document href="style/pull-up-text.xsl"/> + </p:input> + </p:xslt> + </cx:until-unchanged> + + <cx:tee href="output-of-pull-up-text.xml"> + <p:with-option name="debug" select="$debug"/> + </cx:tee> + + <cx:until-unchanged name="unwrap"> + <p:xslt name="unwrap-zeroormore"> + <p:input port="stylesheet"> + <p:document href="style/unwrap-zeroormore.xsl"/> + </p:input> + </p:xslt> + </cx:until-unchanged> + + <cx:tee href="output-of-unwrap-zeroormore.xml"> + <p:with-option name="debug" select="$debug"/> + </cx:tee> + + <cx:until-unchanged name="sort"> + <p:xslt name="sort-pe"> + <p:input port="stylesheet"> + <p:document href="style/sort-pes.xsl"/> + </p:input> + </p:xslt> + </cx:until-unchanged> + + <cx:tee href="output-of-sort-pes.xml"> + <p:with-option name="debug" select="$debug"/> + </cx:tee> + + <p:xslt name="dtx2dtd"> + <p:input port="stylesheet"> + <p:document href="style/dtx2dtd.xsl"/> + </p:input> + </p:xslt> + +</p:declare-step> Added: trunk/docbook/relaxng/tools/rng2dtd/rng2dtd.xpl =================================================================== --- trunk/docbook/relaxng/tools/rng2dtd/rng2dtd.xpl (rev 0) +++ trunk/docbook/relaxng/tools/rng2dtd/rng2dtd.xpl 2010-03-19 00:16:32 UTC (rev 8593) @@ -0,0 +1,121 @@ +<p:declare-step xmlns:p="http://www.w3.org/ns/xproc" + xmlns:c="http://www.w3.org/ns/xproc-step" + xmlns:cx="http://xmlcalabash.com/ns/extensions" + name="main" version='1.0' > + + <p:input port="source"> + <p:document href="../../docbook/dtd.rng"/> + </p:input> + <p:input port="parameters" kind="parameter"/> + <p:output port="result"/> + <p:serialization port="result" method="text"/> + + <p:option name="debug" select="0"/> + <p:option name="override" select="'src/override-docbook.xml'"/> + +<!-- ============================================================ --> + + <p:variable name="override.xml" select="resolve-uri($override)"/> + +<!-- ============================================================ --> + + <p:xslt name="rng2dtx"> + <p:input port="stylesheet"> + <p:document href="style/rng2dtx.xsl"/> + </p:input> + </p:xslt> + + <p:xslt name="override"> + <p:input port="stylesheet"> + <p:document href="style/override.xsl"/> + </p:input> + <p:with-param name="override.xml" select="$override.xml"/> + </p:xslt> + + <cx:until-unchanged name="remove-choice"> + <p:xslt name="attr-remove-choice"> + <p:input port="stylesheet"> + <p:document href="style/attr-remove-choice.xsl"/> + </p:input> + </p:xslt> + </cx:until-unchanged> + + <cx:until-unchanged name="remove-unused"> + <p:xslt name="attr-remove-unused"> + <p:input port="stylesheet"> + <p:document href="style/attr-remove-unused.xsl"/> + </p:input> + </p:xslt> + </cx:until-unchanged> + + <p:xslt name="attr-optional-to-ref"> + <p:input port="stylesheet"> + <p:document href="style/attr-optional-to-ref.xsl"/> + </p:input> + </p:xslt> + + <cx:until-unchanged name="to-attref"> + <p:xslt name="ref-to-attref"> + <p:input port="stylesheet"> + <p:document href="style/ref-to-attref.xsl"/> + </p:input> + </p:xslt> + </cx:until-unchanged> + + <cx:until-unchanged name="flatten"> + <p:xslt name="flatten-attref"> + <p:input port="stylesheet"> + <p:document href="style/flatten-attref.xsl"/> + </p:input> + </p:xslt> + </cx:until-unchanged> + + <p:xslt name="attr-optional-to-decl"> + <p:input port="stylesheet"> + <p:document href="style/attr-optional-to-decl.xsl"/> + </p:input> + </p:xslt> + + <p:xslt name="multiple-gis"> + <p:input port="stylesheet"> + <p:document href="style/multiple-gis.xsl"/> + </p:input> + </p:xslt> + + <p:xslt name="remove-empty-pes"> + <p:input port="stylesheet"> + <p:document href="style/remove-empty-pes.xsl"/> + </p:input> + </p:xslt> + + <cx:until-unchanged name="pull-up"> + <p:xslt name="pull-up-text"> + <p:input port="stylesheet"> + <p:document href="style/pull-up-text.xsl"/> + </p:input> + </p:xslt> + </cx:until-unchanged> + + <cx:until-unchanged name="unwrap"> + <p:xslt name="unwrap-zeroormore"> + <p:input port="stylesheet"> + <p:document href="style/unwrap-zeroormore.xsl"/> + </p:input> + </p:xslt> + </cx:until-unchanged> + + <cx:until-unchanged name="sort"> + <p:xslt name="sort-pe"> + <p:input port="stylesheet"> + <p:document href="style/sort-pes.xsl"/> + </p:input> + </p:xslt> + </cx:until-unchanged> + + <p:xslt name="dtx2dtd"> + <p:input port="stylesheet"> + <p:document href="style/dtx2dtd.xsl"/> + </p:input> + </p:xslt> + +</p:declare-step> Added: trunk/docbook/relaxng/tools/rng2dtd/src/override-docbook.xml =================================================================== --- trunk/docbook/relaxng/tools/rng2dtd/src/override-docbook.xml (rev 0) +++ trunk/docbook/relaxng/tools/rng2dtd/src/override-docbook.xml 2010-03-19 00:16:32 UTC (rev 8593) @@ -0,0 +1,75 @@ +<?xml version="1.0" encoding="UTF-8"?> +<dtd xmlns="http://nwalsh.com/ns/dtd-xml"> + + <!-- Fix "any" content --> + + <del-pe name="db._any.attribute"/> + <del-element name="db._any"/> + + <!-- Fix indexterm --> + + <ref-rename name="db.indexterm.singular" rename="db.indexterm"/> + + <!-- Fix caption --> + + <ref-rename name="db.html.caption" rename="db.caption"/> + + <!-- Fix limited content model inlines --> + + <del-element name="db._foreignphrase"/> + <ref-rename name="db._foreignphrase" rename="db.foreignphrase"/> + + <del-element name="db._emphasis"/> + <ref-rename name="db._emphasis" rename="db.emphasis"/> + + <del-element name="db._quote"/> + <ref-rename name="db._quote" rename="db.quote"/> + + <del-element name="db._firstterm"/> + <ref-rename name="db._firstterm" rename="db.firstterm"/> + + <del-element name="db._glossterm"/> + <ref-rename name="db._glossterm" rename="db.glossterm"/> + + <del-element name="db._phrase"/> + <ref-rename name="db._phrase" rename="db.phrase"/> + + <!-- Fix SVG and MathML --> + + <ref-rename name="db.imagedata.mathml" rename="db.imagedata"/> + <ref-rename name="db.imagedata.svg" rename="db.imagedata"/> + + <!-- area --> + + <ref-rename name="db.area.inareaset" rename="db.area"/> + + <!-- group --> + + <ref-rename name="db.group.methodparam" rename="db.group"/> + <ref-rename name="db.group.paramdef" rename="db.group"/> + + <!-- info --> + + <ref-rename name="db.titlereq.info" rename="db.info"/> + <ref-rename name="db.titleonly.info" rename="db.info"/> + <ref-rename name="db.titleonlyreq.info" rename="db.info"/> + <ref-rename name="db.titleforbidden.info" rename="db.info"/> + + <!-- tables --> + + <ref-rename name="db.html.thead" rename="db.thead"/> + <ref-rename name="db.cals.thead" rename="db.thead"/> + <ref-rename name="db.html.tfoot" rename="db.tfoot"/> + <ref-rename name="db.cals.tfoot" rename="db.tfoot"/> + <ref-rename name="db.cals.tbody" rename="db.tbody"/> + <ref-rename name="db.html.tbody" rename="db.tbody"/> + <ref-rename name="db.entrytbl.row" rename="db.row"/> + <ref-rename name="db.html.table" rename="db.table"/> + <ref-rename name="db.cals.table" rename="db.table"/> + <ref-rename name="db.html.informaltable" rename="db.informaltable"/> + <ref-rename name="db.cals.informaltable" rename="db.informaltable"/> + + <ref-rename name="db.cals.entrytbl.thead" rename="db.thead"/> + <ref-rename name="db.cals.entrytbl.tbody" rename="db.tbody"/> + +</dtd> Added: trunk/docbook/relaxng/tools/rng2dtd/src/override-publishers.xml =================================================================== --- trunk/docbook/relaxng/tools/rng2dtd/src/override-publishers.xml (rev 0) +++ trunk/docbook/relaxng/tools/rng2dtd/src/override-publishers.xml 2010-03-19 00:16:32 UTC (rev 8593) @@ -0,0 +1,63 @@ +<?xml version="1.0" encoding="UTF-8"?> +<dtd xmlns="http://nwalsh.com/ns/dtd-xml"> + + <!-- Fix "any" content --> + + <del-pe name="db._any.attribute"/> + <del-element name="db._any"/> + + <!-- Fix indexterm --> + + <ref-rename name="db.indexterm.singular" rename="db.indexterm"/> + + <!-- Fix caption --> + + <ref-rename name="db.html.caption" rename="db.caption"/> + + <!-- Fix limited content model inlines --> + + <del-element name="db._foreignphrase"/> + <ref-rename name="db._foreignphrase" rename="db.foreignphrase"/> + + <del-element name="db._emphasis"/> + <ref-rename name="db._emphasis" rename="db.emphasis"/> + + <del-element name="db._quote"/> + <ref-rename name="db._quote" rename="db.quote"/> + + <del-element name="db._firstterm"/> + <ref-rename name="db._firstterm" rename="db.firstterm"/> + + <del-element name="db._glossterm"/> + <ref-rename name="db._glossterm" rename="db.glossterm"/> + + <del-element name="db._phrase"/> + <ref-rename name="db._phrase" rename="db.phrase"/> + + <!-- Fix SVG and MathML --> + + <ref-rename name="db.imagedata.mathml" rename="db.imagedata"/> + <ref-rename name="db.imagedata.svg" rename="db.imagedata"/> + + <!-- area --> + + <ref-rename name="db.area.inareaset" rename="db.area"/> + + <!-- group --> + + <ref-rename name="db.group.methodparam" rename="db.group"/> + <ref-rename name="db.group.paramdef" rename="db.group"/> + + <!-- info --> + + <ref-rename name="db.titlereq.info" rename="db.info"/> + <ref-rename name="db.titleonly.info" rename="db.info"/> + <ref-rename name="db.titleonlyreq.info" rename="db.info"/> + <ref-rename name="db.titleforbidden.info" rename="db.info"/> + + <!-- tables --> +<!-- + <ref-rename name="db.cals.entrytbl.thead" rename="db.thead"/> + <ref-rename name="db.cals.entrytbl.tbody" rename="db.tbody"/> +--> +</dtd> Added: trunk/docbook/relaxng/tools/rng2dtd/style/attr-optional-to-decl.xsl =================================================================== --- trunk/docbook/relaxng/tools/rng2dtd/style/attr-optional-to-decl.xsl (rev 0) +++ trunk/docbook/relaxng/tools/rng2dtd/style/attr-optional-to-decl.xsl 2010-03-19 00:16:32 UTC (rev 8593) @@ -0,0 +1,140 @@ +<?xml version="1.0" encoding="utf-8"?> +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + xmlns:s="http://www.ascc.net/xml/schematron" + xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" + xmlns:dtx="http://nwalsh.com/ns/dtd-xml" + xmlns:f="http://nwalsh.com/functions/dtd-xml" + xmlns="http://nwalsh.com/ns/dtd-xml" + xmlns:xs="http://www.w3.org/2001/XMLSchema" + exclude-result-prefixes="s a dtx xs f" + version="2.0"> + +<!-- move the optionality of attributes back up into the declarations --> + +<xsl:output method="xml" encoding="utf-8" indent="yes" omit-xml-declaration="yes"/> + +<xsl:key name="ref" match="dtx:ref|dtx:attref" use="@name"/> +<xsl:key name="pe" match="dtx:pe" use="@name"/> + +<xsl:strip-space elements="*"/> + +<xsl:template match="/"> + <xsl:apply-templates/> +</xsl:template> + +<xsl:template match="dtx:pe[dtx:attdecl and count(*) = 1]"> + <xsl:variable name="refs" select="key('ref', @name)"/> + + <xsl:choose> + <xsl:when test="count($refs[@optional = 'true']) != count($refs) + and count($refs[@optional = 'true']) != 0"> +<!-- + <xsl:message>Splitting <xsl:value-of select="@name"/></xsl:message> +--> + + <pe name="{@name}.REQ"> + <attdecl> + <xsl:copy-of select="dtx:attdecl/@*[local-name(.) != 'optional']"/> + <xsl:apply-templates select="dtx:attdecl/*"/> + </attdecl> + </pe> + <xsl:copy> + <xsl:copy-of select="@*"/> + <xsl:apply-templates/> + </xsl:copy> + </xsl:when> + <xsl:otherwise> + <xsl:copy> + <xsl:copy-of select="@*"/> + <xsl:apply-templates/> + </xsl:copy> + </xsl:otherwise> + </xsl:choose> +</xsl:template> + +<xsl:template match="dtx:attref[not(@optional='true')]"> + <xsl:variable name="refs" select="key('ref', @name)"/> + <xsl:variable name="target" select="key('pe', @name)"/> + + <!-- The and $target/dtx:attdecl test avoids a bug where db.html.attributes + appears sometimes required and sometimes optional but really doesn't + matter --> + + <xsl:choose> + <xsl:when test="count($refs[@optional = 'true']) != count($refs) + and count($refs[@optional = 'true']) != 0 + and $target/dtx:attdecl"> + <xsl:copy> + <xsl:copy-of select="@*"/> + <xsl:attribute name="name" select="concat(@name,'.REQ')"/> + <xsl:apply-templates/> + </xsl:copy> + </xsl:when> + <xsl:otherwise> + <xsl:copy> + <xsl:copy-of select="@*"/> + <xsl:apply-templates/> + </xsl:copy> + </xsl:otherwise> + </xsl:choose> +</xsl:template> + +<xsl:template match="dtx:attref[@optional='true']"> + <xsl:copy> + <xsl:copy-of select="@*[local-name(.) != 'optional']"/> + <xsl:apply-templates/> + </xsl:copy> +</xsl:template> + +<xsl:template match="dtx:attdecl"> + <xsl:variable name="pe" select="ancestor::dtx:pe"/> + <xsl:variable name="refs" select="key('ref', $pe/@name)"/> + + <xsl:if test="not($pe)"> + <xsl:message terminate="yes"> + <xsl:text>dtx:attdecl not an ancestor of a dtx:pe?</xsl:text> + </xsl:message> + </xsl:if> + +<!-- + <xsl:if test="count($refs[@optional = 'true']) != count($refs) + and count($refs[@optional = 'true']) != 0"> + <xsl:message> + <xsl:text>Attribute </xsl:text> + <xsl:value-of select="@name"/> + <xsl:text> (on </xsl:text> + <xsl:value-of select="$pe/@name"/> + <xsl:text>) is sometimes optional and sometimes not?</xsl:text> + </xsl:message> + <xsl:for-each select="$refs"> + <xsl:message> + <xsl:text> </xsl:text> + <xsl:value-of select="@name"/> + <xsl:text>: </xsl:text> + <xsl:value-of select="@optional"/> + </xsl:message> + </xsl:for-each> + </xsl:if> +--> + + <xsl:copy> + <xsl:copy-of select="@*"/> + <xsl:if test="$refs[@optional = 'true']"> + <xsl:attribute name="optional" select="'true'"/> + </xsl:if> + <xsl:apply-templates/> + </xsl:copy> +</xsl:template> + +<xsl:template match="*"> + <xsl:copy> + <xsl:copy-of select="@*"/> + <xsl:apply-templates/> + </xsl:copy> +</xsl:template> + +<xsl:template match="comment()|processing-instruction()|text()"> + <xsl:copy/> +</xsl:template> + +</xsl:stylesheet> Added: trunk/docbook/relaxng/tools/rng2dtd/style/attr-optional-to-ref.xsl =================================================================== --- trunk/docbook/relaxng/tools/rng2dtd/style/attr-optional-to-ref.xsl (rev 0) +++ trunk/docbook/relaxng/tools/rng2dtd/style/attr-optional-to-ref.xsl 2010-03-19 00:16:32 UTC (rev 8593) @@ -0,0 +1,36 @@ +<?xml version="1.0" encoding="utf-8"?> +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + xmlns:s="http://www.ascc.net/xml/schematron" + xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" + xmlns:dtx="http://nwalsh.com/ns/dtd-xml" + xmlns:f="http://nwalsh.com/functions/dtd-xml" + xmlns="http://nwalsh.com/ns/dtd-xml" + xmlns:xs="http://www.w3.org/2001/XMLSchema" + exclude-result-prefixes="s a dtx xs f" + version="2.0"> + +<xsl:include href="common.xsl"/> + +<!-- Normalize optionality of attributes: move to ref --> + +<xsl:key name="name" match="dtx:pe|dtx:element" use="@name"/> + +<xsl:template match="dtx:optional[parent::dtx:pe and dtx:attdecl]"> + <xsl:apply-templates/> +</xsl:template> + +<xsl:template match="dtx:ref"> + <xsl:variable name="target" select="key('name',@name)"/> + + <xsl:copy> + <xsl:copy-of select="@*"/> + + <xsl:if test="$target[dtx:optional/dtx:attdecl]"> + <xsl:attribute name="optional" select="'true'"/> + </xsl:if> + + <xsl:apply-templates/> + </xsl:copy> +</xsl:template> + +</xsl:stylesheet> Added: trunk/docbook/relaxng/tools/rng2dtd/style/attr-remove-choice.xsl =================================================================== --- trunk/docbook/relaxng/tools/rng2dtd/style/attr-remove-choice.xsl (rev 0) +++ trunk/docbook/relaxng/tools/rng2dtd/style/attr-remove-choice.xsl 2010-03-19 00:16:32 UTC (rev 8593) @@ -0,0 +1,105 @@ +<?xml version="1.0" encoding="utf-8"?> +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + xmlns:s="http://www.ascc.net/xml/schematron" + xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" + xmlns:dtx="http://nwalsh.com/ns/dtd-xml" + xmlns:f="http://nwalsh.com/functions/dtd-xml" + xmlns="http://nwalsh.com/ns/dtd-xml" + xmlns:xs="http://www.w3.org/2001/XMLSchema" + exclude-result-prefixes="s a dtx xs f" + version="2.0"> + +<xsl:import href="common.xsl"/> + +<!-- You can't have a choice of attributes, remove the choice wrapper --> + +<xsl:key name="name" match="dtx:pe|dtx:element" use="@name"/> + +<xsl:template match="dtx:choice"> + <xsl:variable name="refs" select="dtx:ref"/> + <xsl:variable name="attdecls" select="dtx:attdecl"/> + <xsl:variable name="attref" select="f:only-attributes(dtx:ref)"/> + + <xsl:choose> + <xsl:when test="count($refs) + count($attdecls) = count(*)"> + <xsl:choose> + <xsl:when test="$attref"> + <xsl:apply-templates/> + </xsl:when> + <xsl:otherwise> + <xsl:copy> + <xsl:copy-of select="@*"/> + <xsl:apply-templates/> + </xsl:copy> + </xsl:otherwise> + </xsl:choose> + </xsl:when> + <xsl:otherwise> + <xsl:copy> + <xsl:copy-of select="@*"/> + <xsl:apply-templates/> + </xsl:copy> + </xsl:otherwise> + </xsl:choose> +</xsl:template> + +<xsl:template match="dtx:optional[dtx:ref and count(dtx:ref) = count(*)]"> + <xsl:variable name="attref" select="f:only-attributes(dtx:ref)"/> + + <xsl:choose> + <xsl:when test="$attref"> + <xsl:for-each select="*"> + <xsl:copy> + <xsl:copy-of select="@*"/> + <xsl:attribute name="optional" select="'true'"/> + <xsl:apply-templates/> + </xsl:copy> + </xsl:for-each> + </xsl:when> + <xsl:otherwise> + <choice> + <xsl:apply-templates/> + </choice> + </xsl:otherwise> + </xsl:choose> +</xsl:template> + +<xsl:template match="dtx:optional[dtx:attdecl and count(*) = 1]"> + <xsl:apply-templates/> +</xsl:template> + +<!-- +<xsl:template match="dtx:optional[dtx:attdecl and count(dtx:attdecl) = count(*)]"> + <xsl:apply-templates/> +</xsl:template> +--> + +<xsl:template match="dtx:attdecl[ancestor::dtx:optional]"> + <xsl:copy> + <xsl:copy-of select="@*"/> + <xsl:attribute name="optional" select="'true'"/> + <xsl:apply-templates/> + </xsl:copy> +</xsl:template> + +<xsl:template match="dtx:ref[ancestor::dtx:optional]"> + <xsl:variable name="target" select="key('name',@name)"/> + + <xsl:choose> + <xsl:when test="$target/dtx:attdecl"> + <xsl:copy> + <xsl:copy-of select="@*"/> + <xsl:attribute name="optional" select="'true'"/> + <xsl:apply-templates/> + </xsl:copy> + </xsl:when> + <xsl:otherwise> + <xsl:copy> + <xsl:copy-of select="@*"/> + <xsl:apply-templates/> + </xsl:copy> + </xsl:otherwise> + </xsl:choose> +</xsl:template> + +</xsl:stylesheet> Added: trunk/docbook/relaxng/tools/rng2dtd/style/attr-remove-unused.xsl =================================================================== --- trunk/docbook/relaxng/tools/rng2dtd/style/attr-remove-unused.xsl (rev 0) +++ trunk/docbook/relaxng/tools/rng2dtd/style/attr-remove-unused.xsl 2010-03-19 00:16:32 UTC (rev 8593) @@ -0,0 +1,29 @@ +<?xml version="1.0" encoding="utf-8"?> +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + xmlns:s="http://www.ascc.net/xml/schematron" + xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" + xmlns:dtx="http://nwalsh.com/ns/dtd-xml" + xmlns:f="http://nwalsh.com/functions/dtd-xml" + xmlns="http://nwalsh.com/ns/dtd-xml" + xmlns:xs="http://www.w3.org/2001/XMLSchema" + exclude-result-prefixes="s a dtx xs f" + version="2.0"> + +<xsl:include href="common.xsl"/> + +<!-- Remove dtx:pe elements that are unreferenced --> + +<xsl:key name="ref" match="dtx:ref" use="@name"/> + +<xsl:template match="dtx:pe"> + <xsl:variable name="refs" select="key('ref', @name)"/> + + <xsl:if test="$refs"> + <xsl:copy> + <xsl:copy-of select="@*"/> + <xsl:apply-templates/> + </xsl:copy> + </xsl:if> +</xsl:template> + +</xsl:stylesheet> Added: trunk/docbook/relaxng/tools/rng2dtd/style/common.xsl =================================================================== --- trunk/docbook/relaxng/tools/rng2dtd/style/common.xsl (rev 0) +++ trunk/docbook/relaxng/tools/rng2dtd/style/common.xsl 2010-03-19 00:16:32 UTC (rev 8593) @@ -0,0 +1,84 @@ +<?xml version="1.0" encoding="utf-8"?> +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + xmlns:s="http://www.ascc.net/xml/schematron" + xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" + xmlns:dtx="http://nwalsh.com/ns/dtd-xml" + xmlns:f="http://nwalsh.com/functions/dtd-xml" + xmlns="http://nwalsh.com/ns/dtd-xml" + xmlns:xs="http://www.w3.org/2001/XMLSchema" + exclude-result-prefixes="s a dtx xs f" + version="2.0"> + +<!-- Common declarations --> + +<xsl:output method="xml" encoding="utf-8" indent="yes" omit-xml-declaration="yes"/> + +<xsl:strip-space elements="*"/> + +<xsl:template match="/"> + <xsl:apply-templates/> +</xsl:template> + +<xsl:template match="*"> + <xsl:copy> + <xsl:copy-of select="@*"/> + <xsl:apply-templates/> + </xsl:copy> +</xsl:template> + +<xsl:template match="comment()|processing-instruction()|text()"> + <xsl:copy/> +</xsl:template> + +<!-- Common functions --> + +<!-- ============================================================ --> + +<xsl:function name="f:only-attributes" as="xs:boolean"> + <xsl:param name="elem" as="element(dtx:ref)*"/> + +<!-- + <xsl:message> + <xsl:value-of select="count($elem)"/> + <xsl:text> </xsl:text> + <xsl:for-each select="$elem"> + <xsl:value-of select="@name"/> + <xsl:text> </xsl:text> + </xsl:for-each> + </xsl:message> +--> + + <xsl:variable name="allatts" as="xs:string*"> + <xsl:for-each select="$elem"> + <xsl:variable name="target" select="key('name',@name)"/> + <xsl:choose> + <xsl:when test="$target/dtx:attdecl"> + <xsl:text>YES</xsl:text> + </xsl:when> + <xsl:when test="$target/dtx:ref + and count($target/dtx:ref) = count($target/*)"> + <xsl:choose> + <xsl:when test="f:only-attributes($target/dtx:ref)">YES</xsl:when> + <xsl:otherwise>NO</xsl:otherwise> + </xsl:choose> + </xsl:when> + <xsl:when test="$target/dtx:choice and count($target/*) = 1 + and $target/dtx:choice/dtx:ref + and count($target/dtx:choice/dtx:ref) + = count($target/dtx:choice/*)"> + <xsl:choose> + <xsl:when test="f:only-attributes($target/dtx:choice/dtx:ref)">YES</xsl:when> + <xsl:otherwise>NO</xsl:otherwise> + </xsl:choose> + </xsl:when> + <xsl:otherwise> + <xsl:text>NO</xsl:text> + </xsl:otherwise> + </xsl:choose> + </xsl:for-each> + </xsl:variable> + + <xsl:value-of select="not($allatts = 'NO')"/> +</xsl:function> + +</xsl:stylesheet> Added: trunk/docbook/relaxng/tools/rng2dtd/style/dtx2dtd.xsl =================================================================== --- trunk/docbook/relaxng/tools/rng2dtd/style/dtx2dtd.xsl (rev 0) +++ trunk/docbook/relaxng/tools/rng2dtd/style/dtx2dtd.xsl 2010-03-19 00:16:32 UTC (rev 8593) @@ -0,0 +1,431 @@ +<?xml version="1.0" encoding="utf-8"?> +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + xmlns:s="http://www.ascc.net/xml/schematron" + xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" + xmlns:dtx="http://nwalsh.com/ns/dtd-xml" + xmlns:f="http://nwalsh.com/functions/dtd-xml" + xmlns="http://nwalsh.com/ns/dtd-xml" + xmlns:xs="http://www.w3.org/2001/XMLSchema" + exclude-result-prefixes="s a dtx xs f" + version="2.0"> + +<!-- If the contents of an attdecl is a ref, inline the referenced content --> + +<xsl:param name="prefix" select="''"/> +<xsl:param name="ns" select="'http://docbook.org/ns/docbook'"/> + +<xsl:output method="text" encoding="utf-8"/> + +<xsl:key name="name" match="dtx:pe|dtx:element" use="@name"/> + +<xsl:strip-space elements="*"/> + +<xsl:template match="/"> + <!-- This is silly, but we do it for XProc --> + <dtd> + <xsl:apply-templates/> + </dtd> +</xsl:template> + +<xsl:template match="dtx:dtd"> + <xsl:apply-templates select="dtx:pe"> + <xsl:sort select="@depth"/> + </xsl:apply-templates> + <xsl:apply-templates select="*[not(self::dtx:pe)]"/> +</xsl:template> + +<xsl:template match="dtx:pe"> + <xsl:text> <!ENTITY % </xsl:text> + <xsl:value-of select="@name"/> + <xsl:text> 	"</xsl:text> + + <xsl:choose> + <xsl:when test="dtx:attref|dtx:attdecl"> + <xsl:apply-templates/> + </xsl:when> + <xsl:otherwise> + <xsl:call-template name="implicit-group"/> + </xsl:otherwise> + </xsl:choose> +<!-- + <xsl:choose> + <xsl:when test="count(dtx:ref) > 1"> + <xsl:for-each select="dtx:ref"> + <xsl:if test="position() > 1"> | </xsl:if> + <xsl:apply-templates select="."/> + </xsl:for-each> + </xsl:when> + <xsl:otherwise> + <xsl:apply-templates/> + </xsl:otherwise> + </xsl:choose> +--> + + <xsl:text>" > </xsl:text> +</xsl:template> + +<xsl:template match="dtx:element"> + <xsl:text> <!ATTLIST </xsl:text> + <xsl:value-of select="if ($prefix) then concat($prefix, ':') else ''"/> + <xsl:value-of select="@gi"/> + <xsl:text> 	</xsl:text> + + <xsl:text>xmlns</xsl:text> + <xsl:value-of select="if ($prefix) then concat(':', $prefix) else ''"/> + <xsl:text>	CDATA	#FIXED "</xsl:text> + <xsl:value-of select="$ns"/> + <xsl:text>" 	</xsl:text> + + <xsl:text>xmlns:xlink</xsl:text> + <xsl:text>	CDATA	#FIXED "http://www.w3.org/1999/xlink"</xsl:text> + <xsl:text> 	</xsl:text> + + <xsl:apply-templates select="dtx:attref"/> + + <xsl:text> > </xsl:text> + + <xsl:text> <!ELEMENT </xsl:text> + <xsl:value-of select="if ($prefix) then concat($prefix, ':') else ''"/> + <xsl:value-of select="@gi"/> + <xsl:text> 	</xsl:text> + + <xsl:variable name="cm" select="*[not(self::dtx:attref)]"/> + + <xsl:choose> + <xsl:when test="count($cm) = 1 and $cm[1]/self::dtx:text"> + <xsl:text>(#PCDATA)*</xsl:text> + </xsl:when> + <xsl:when test=".//dtx:text"> + <xsl:call-template name="mixed-content"> + <xsl:with-param name="cm" select="$cm"/> + </xsl:call-template> + </xsl:when> + <xsl:when test="count($cm) > 1"> + <xsl:text>(</xsl:text> + <xsl:for-each select="$cm"> + <xsl:if test="position() > 1">, </xsl:if> + <xsl:apply-templates select="."/> + </xsl:for-each> + <xsl:text>)</xsl:text> + </xsl:when> + <xsl:otherwise> + <xsl:text>(</xsl:text> + <xsl:apply-templates select="$cm"/> + <xsl:text>)</xsl:text> + </xsl:otherwise> + </xsl:choose> + + <xsl:text> > </xsl:text> +</xsl:template> + +<xsl:template match="dtx:attdecl"> + <xsl:value-of select="@name"/> + <xsl:text>	</xsl:text> + + <xsl:choose> + <xsl:when test="not(*)">CDATA</xsl:when> + <xsl:when test="dtx:data"> + <xsl:apply-templates select="dtx:data"/> + </xsl:when> + <xsl:when test="dtx:value"> + <xsl:text>(</xsl:text> + <xsl:for-each select="dtx:value"> + <xsl:if test="position()>1">|</xsl:if> + <xsl:value-of select="."/> + </xsl:for-each> + <xsl:text>)</xsl:text> + </xsl:when> + <xsl:when test="dtx:choice"> + <xsl:apply-templates select="."/> + </xsl:when> + <xsl:when test="dtx:ref"> + <xsl:text>%</xsl:text> + <xsl:value-of select="dtx:ref/@name"/> + <xsl:text>;</xsl:text> + </xsl:when> + <xsl:otherwise> + <xsl:message>Unknown attribute type: <xsl:copy-of select="*"/></xsl:message> + <xsl:text>???</xsl:text> + </xsl:otherwise> + </xsl:choose> + + <xsl:text>	</xsl:text> + <xsl:choose> + <xsl:when test="@optional = 'true' or @name = 'xlink:href'"> + <xsl:text>	#IMPLIED</xsl:text> + </xsl:when> + <xsl:otherwise> + <xsl:text>	#REQUIRED</xsl:text> + </xsl:otherwise> + </xsl:choose> + + <xsl:text> 	</xsl:text> +</xsl:template> + +<xsl:template match="dtx:ref"> + <xsl:variable name="target" select="key('name', @name)"/> + + <xsl:choose> + <xsl:when test="$target/self::dtx:pe"> + <xsl:choose> + <xsl:when test="@optional = 'true'"> + <xsl:text>(%</xsl:text> + <xsl:value-of select="@name"/> + <xsl:text>;)?</xsl:text> + </xsl:when> + <xsl:otherwise> + <xsl:text>%</xsl:text> + <xsl:value-of select="@name"/> + <xsl:text>;</xsl:text> + </xsl:otherwise> + </xsl:choose> + </xsl:when> + <xsl:when test="$target/self::dtx:element"> + <xsl:value-of select="if ($prefix) then concat($prefix, ':') else ''"/> + <xsl:value-of select="$target/@gi"/> + <xsl:if test="@optional = 'true'">?</xsl:if> + </xsl:when> + <xsl:otherwise> + <xsl:message> + <xsl:text>dtx:ref points to neither pe nor element? </xsl:text> + <xsl:value-of select="@name"/> + </xsl:message> + </xsl:otherwise> + </xsl:choose> +</xsl:template> + +<xsl:template match="dtx:attref"> + <xsl:text>%</xsl:text> + <xsl:value-of select="@name"/> + <xsl:text>; 	</xsl:text> +</xsl:template> + +<xsl:template match="dtx:text">#PCDATA</xsl:template> + +<xsl:template match="dtx:empty">EMPTY</xsl:template> + +<xsl:template match="dtx:optional"> + <xsl:call-template name="implicit-group"/> + <xsl:text>?</xsl:text> +</xsl:template> + +<xsl:template match="dtx:value"> + <xsl:value-of select="."/> +</xsl:template> + +<xsl:template match="dtx:data"> + <xsl:choose> + <xsl:when test="@type='IDREF' or @type='IDREFS' or @type='ID' + or @type='ENTITY' or @type='NMTOKEN'"> + <xsl:value-of select="@type"/> + </xsl:when> + <xsl:when test="@type='anyURI' or @type='token' + or @type='decimal' or @type='integer' + or @type='positiveInteger' + or @type='nonNegativeInteger' + or @type='date' or @type='dateTime' + or @type='gYearMonth' or @type='gYear'"> + <xsl:text>CDATA</xsl:text> + </xsl:when> + <xsl:otherwise> + <xsl:message>DATA: <xsl:copy-of select="."/></xsl:message> + </xsl:otherwise> + </xsl:choose> +</xsl:template> + +<xsl:template match="dtx:choice|dtx:zeroOrMore|dtx:oneOrMore"> + <xsl:text>(</xsl:text> + <xsl:for-each select="*"> + <xsl:if test="position() > 1"> | </xsl:if> + <xsl:apply-templates select="."/> + </xsl:for-each> + <xsl:text>)</xsl:text> + <xsl:if test="self::dtx:zeroOrMore">*</xsl:if> + <xsl:if test="self::dtx:oneOrMore">+</xsl:if> +</xsl:template> + +<xsl:template match="dtx:group"> + <xsl:text>(</xsl:text> + <xsl:for-each select="*"> + <xsl:if test="position() > 1">, </xsl:if> + <xsl:apply-templates select="."/> + </xsl:for-each> + <xsl:text>)</xsl:text> +</xsl:template> + +<xsl:template match="*"> + <xsl:message>Unhandled: <xsl:value-of select="local-name(.)"/> + </xsl:message> +</xsl:template> + +<xsl:template match="comment()|processing-instruction()|text()"> + <xsl:copy/> +</xsl:template> + +<xsl:template name="implicit-group"> + <xsl:choose> + <xsl:when test="count(*) > 1"> + <xsl:text>(</xsl:text> + <xsl:for-each select="*"> + <xsl:if test="position() > 1">, </xsl:if> + <xsl:apply-templates select="."/> + </xsl:for-each> + <xsl:text>)</xsl:text> + </xsl:when> + <xsl:otherwise> + <xsl:apply-templates/> + </xsl:otherwise> + </xsl:choose> +</xsl:template> + +<!-- ============================================================ --> + +<xsl:template name="mixed-content"> + <xsl:param name="cm"/> + +<!-- + <xsl:variable name="refs" as="xs:string*"> + <xsl:apply-templates select="$cm" mode="mixed-refs"/> + </xsl:variable> + + <xsl:message>element: <xsl:value-of select="@gi"/></xsl:message> + <xsl:message><xsl:value-of select="distinct-values($refs)"/></xsl:message> + + <xsl:call-template name="collapse-mixed"> + <xsl:with-param name="refs" select="distinct-values($refs)"/> + </xsl:call-template> +--> + + <xsl:variable name="gis" as="xs:string*"> + <xsl:apply-templates select="$cm" mode="mixed"/> + </xsl:variable> + + <xsl:text>(#PCDATA</xsl:text> + <xsl:for-each select="distinct-values($gis)"> + <xsl:sort select="."/> + <xsl:if test=". != '#PCDATA'"> + <xsl:text> | </xsl:text> + <xsl:value-of select="if ($prefix) then concat($prefix, ':') else ''"/> + <xsl:value-of select="."/> + </xsl:if> + </xsl:for-each> + <xsl:text>)*</xsl:text> +</xsl:template> + +<xsl:template match="dtx:text" mode="mixed"> + <xsl:text>#PCDATA</xsl:text> +</xsl:template> + +<xsl:template match="dtx:ref" mode="mixed"> + <xsl:variable name="target" select="key('name', @name)"/> + + <xsl:choose> + <xsl:when test="$target/self::dtx:element"> + <xsl:value-of select="concat(if ($prefix) then concat($prefix, ':') else '', + $target/@gi)"/> + </xsl:when> + <xsl:otherwise> + <xsl:apply-templates select="$target/*" mode="mixed"/> + </xsl:otherwise> + </xsl:choose> +</xsl:template> + +<xsl:template match="dtx:choice|dtx:zeroOrMore|dtx:oneOrMore|dtx:optional" + mode="mixed"> + <xsl:apply-templates mode="mixed"/> +</xsl:template> + +<!-- ============================================================ --> + +<xsl:template match="dtx:ref" mode="mixed-refs"> + <xsl:variable name="target" select="key('name', @name)"/> + + <xsl:choose> + <xsl:when test="$target/self::dtx:element"> + <xsl:value-of select="$target/@gi"/> + </xsl:when> + <xsl:when test="$target/self::dtx:pe and f:ref-bottom($target)"> + <xsl:value-of select="@name"/> + </xsl:when> + <xsl:otherwise> + <xsl:apply-templates select="$target/*" mode="mixed-refs"/> + </xsl:otherwise> + </xsl:choose> +</xsl:template> + +<xsl:template match="dtx:choice|dtx:zeroOrMore|dtx:oneOrMore|dtx:optional" + mode="mixed-refs"> + <xsl:apply-templates mode="mixed-refs"/> +</xsl:template> + +<xsl:template match="dtx:text" + mode="mixed-refs"/> + +<xsl:template match="*" + mode="mixed-refs"> + <xsl:message>Not handled in mixed-refs mode: <xsl:value-of select="local-name(.)"/></xsl:message> +</xsl:template> + +<xsl:template match="comment()|processing-instruction()|text()" mode="mixed-refs"/> + +<!-- ============================================================ --> + +<xsl:function name="f:ref-bottom" as="xs:boolean"> + <xsl:param name="elem" as="element(dtx:pe)"/> + + <xsl:variable name="allatts" as="xs:string*"> + <xsl:for-each select="$elem//dtx:ref"> + <xsl:variable name="target" select="key('name',@name)"/> + <xsl:choose> + <xsl:when test="$target/self::dtx:element">YES</xsl:when> + <xsl:when test="$target/self::dtx:pe">NO</xsl:when> + <xsl:otherwise> + <xsl:message> + <xsl:text>Unexpected ref: </xsl:text> + <xsl:value-of select="local-name($target)"/> + </xsl:message> + </xsl:otherwise> + </xsl:choose> + </xsl:for-each> + </xsl:variable> + + <xsl:value-of select="not($allatts = 'NO')"/> +</xsl:function> + +<!-- ============================================================ --> + +<xsl:template name="collapse-mixed"> + <xsl:param name="refs" as="xs:string*"/> + <xsl:param name="elements" as="xs:string*" select="()"/> + <xsl:param name="pes" as="xs:string*" select="()"/> + + <xsl:variable name="allelem" as="xs:string*"> + <xsl:for-each select="$elements"><xsl:value-of select="."/></xsl:for-each> + <xsl:for-each select="$refs"> + <xsl:variable name="target" select="key('name', .)"/> + <xsl:if test="$target/self::dtx:element"> + <xsl:value-of select="."/> + </xsl:if> + </xsl:for-each> + </xsl:variable> + +<!-- + <xsl:variable name="newelem" select="distinct-values($allelem)"/> + + <xsl:variable name="newpes" as="xs:string*"> + <xsl:for-each select="$refs"> + <xsl:if test="not(. = $newelem)"> + <xsl:value-of select="."/> + </xsl:if> + </xsl:for-each> + </xsl:variable> + + <xsl:message>ELEM: <xsl:value-of select="$newelem"/></xsl:message> + <xsl:message>PES: <xsl:value-of select="$newpes"/></xsl:message> +--> + + <xsl:value-of select="''"/> + +</xsl:template> + +</xsl:stylesheet> Added: trunk/docbook/relaxng/tools/rng2dtd/style/flatten-attref.xsl =================================================================== --- trunk/docbook/relaxng/tools/rng2dtd/style/flatten-attref.xsl (rev 0) +++ trunk/docbook/relaxng/tools/rng2dtd/style/flatten-attref.xsl 2010-03-19 00:16:32 UTC (rev 8593) @@ -0,0 +1,62 @@ +<?xml version="1.0" encoding="utf-8"?> +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + xmlns:s="http://www.ascc.net/xml/schematron" + xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" + xmlns:dtx="http://nwalsh.com/ns/dtd-xml" + xmlns:f="http://nwalsh.com/functions/dtd-xml" + xmlns="http://nwalsh.com/ns/dtd-xml" + xmlns:xs="http://www.w3.org/2001/XMLSchema" + exclude-result-prefixes="s a dtx xs f" + version="2.0"> + +<xsl:import href="common.xsl"/> + +<!-- Flatten chains of attrefs --> + +<xsl:key name="name" match="dtx:pe" use="@name"/> +<xsl:key name="use" match="dtx:ref|dtx:attref" use="@name"/> + +<xsl:template match="dtx:pe"> + <xsl:choose> + <xsl:when test="key('use',@name)"> + <xsl:copy> + <xsl:copy-of select="@*"/> + <xsl:apply-templates/> + </xsl:copy> + </xsl:when> + <xsl:otherwise> +<!-- + <xsl:message>Unused pattern: <xsl:value-of select="@name"/></xsl:message> +--> + </xsl:otherwise> + </xsl:choose> +</xsl:template> + +<xsl:template match="dtx:attref"> + <xsl:variable name="target" select="key('name',@name)"/> + + <xsl:choose> + <xsl:when test="$target/dtx:attref and count($target/dtx:attref) = 1"> +<!-- + <xsl:message> + <xsl:value-of select="@name"/> + <xsl:text> is just another name for </xsl:text> + <xsl:value-of select="$target/dtx:attref/@name"/> + </xsl:message> +--> + <xsl:copy> + <xsl:copy-of select="@*"/> + <xsl:attribute name="name" select="$target/dtx:attref/@name"/> + <xsl:apply-templates/> + </xsl:copy> + </xsl:when> + <xsl:otherwise> + <xsl:copy> + <xsl:copy-of select="@*"/> + <xsl:apply-templates/> + </xsl:copy> + </xsl:otherwise> + </xsl:choose> +</xsl:template> + +</xsl:stylesheet> Added: trunk/docbook/relaxng/tools/rng2dtd/style/multiple-gis.xsl =================================================================== --- trunk/docbook/relaxng/tools/rng2dtd/style/multiple-gis.xsl (rev 0) +++ trunk/docbook/relaxng/tools/rng2dtd/style/multiple-gis.xsl 2010-03-19 00:16:32 UTC (rev 8593) @@ -0,0 +1,36 @@ +<?xml version="1.0" encoding="utf-8"?> +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + xmlns:s="http://www.ascc.net/xml/schematron" + xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" + xmlns:dtx="http://nwalsh.com/ns/dtd-xml" + xmlns:f="http://nwalsh.com/functions/dtd-xml" + xmlns="http://nwalsh.com/ns/dtd-xml" + xmlns:xs="http://www.w3.org/2001/XMLSchema" + exclude-result-prefixes="s a dtx xs f" + version="2.0"> + +<xsl:include href="common.xsl"/> + +<!-- Detect multiple platterns that define the same GI --> + +<xsl:key name="gi" match="dtx:element" use="@gi"/> + +<xsl:template match="dtx:element[@gi]"> + <xsl:variable name="gi" select="@gi"/> + <xsl:variable name="gis" select="key('gi', @gi)"/> + + <xsl:choose> + <xsl:when test="count($gis) = 1"> + <xsl:next-match/> + </xsl:when> + <xsl:when test="preceding-sibling::dtx:element[@gi = $gi]"> + <xsl:next-match/> + </xsl:when> + <xsl:otherwise> + <xsl:message>Duplicate patterns for <xsl:value-of select="$gi"/></xsl:message> + <xsl:next-match/> + </xsl:otherwise> + </xsl:choose> +</xsl:template> + +</xsl:stylesheet> Added: trunk/docbook/relaxng/tools/rng2dtd/style/override.xsl =================================================================== --- trunk/docbook/relaxng/tools/rng2dtd/style/override.xsl (rev 0) +++ trunk/docbook/relaxng/tools/rng2dtd/style/override.xsl 2010-03-19 00:16:32 UTC (rev 8593) @@ -0,0 +1,80 @@ +<?xml version="1.0" encoding="utf-8"?> +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + xmlns:rng="http://relaxng.org/ns/structure/1.0" + xmlns:s="http://www.ascc.net/xml/schematron" + xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" + xmlns:dtx="http://nwalsh.com/ns/dtd-xml" + xmlns="http://nwalsh.com/ns/dtd-xml" + exclude-result-prefixes="rng s a dtx" + version="2.0"> + +<xsl:include href="common.xsl"/> + +<!-- apply the rules in the specified overrride file --> + +<xsl:param name="override.xml" required="yes"/> + +<xsl:variable name="overrides" select="doc($override.xml)/dtx:dtd"/> + +<xsl:key name="name" match="dtx:pe|dtx:element" use="@name"/> + +<xsl:template match="dtx:pe"> + <xsl:variable name="name" select="@name"/> + + <xsl:choose> + <xsl:when test="$overrides/dtx:del-pe[@name = $name]"/> + <xsl:when test="$overrides/dtx:pe[@name = $name]"> + <xsl:variable name="pe" select="$overrides/dtx:pe[@name = $name]"/> + <xsl:if test="$pe/*"> + <xsl:copy-of select="$pe"/> + </xsl:if> + </xsl:when> + <xsl:otherwise> + <xsl:copy> + <xsl:copy-of select="@*"/> + <xsl:apply-templates/> + </xsl:copy> + </xsl:otherwise> + </xsl:choose> +</xsl:template> + +<xsl:template match="dtx:element"> + <xsl:variable name="name" select="@name"/> + + <xsl:choose> + <xsl:when test="$overrides/dtx:del-element[@name = $name]"/> + <xsl:when test="$overrides/dtx:element[@name = $name]"> + <xsl:sequence select="$overrides/dtx:element[@name = $name]"/> + </xsl:when> + <xsl:otherwise> + <xsl:copy> + <xsl:copy-of select="@*"/> + <xsl:apply-templates/> + </xsl:copy> + </xsl:otherwise> + </xsl:choose> +</xsl:template> + +<xsl:template match="dtx:ref"> + <xsl:variable name="name" select="@name"/> + + <xsl:choose> + <xsl:when test="$overrides/dtx:del-ref[@name = $name]"/> + <xsl:when test="$overrides/dtx:ref-rename[@name = $name]"> + <xsl:variable name="rename" select="$overrides/dtx:ref-rename[@name = $name]"/> + <xsl:copy> + <xsl:copy-of select="@*"/> + <xsl:attribute name="name" select="$rename/@rename"/> + <xsl:apply-templates/> + </xsl:copy> + </xsl:when> + <xsl:otherwise> + <xsl:copy> + <xsl:copy-of select="@*"/> + <xsl:apply-templates/> + </xsl:copy> + </xsl:otherwise> + </xsl:choose> +</xsl:template> + +</xsl:stylesheet> Added: trunk/docbook/relaxng/tools/rng2dtd/style/pull-up-text.xsl =================================================================== --- trunk/docbook/relaxng/tools/rng2dtd/style/pull-up-text.xsl (rev 0) +++ trunk/docbook/relaxng/tools/rng2dtd/style/pull-up-text.xsl 2010-03-19 00:16:32 UTC (rev 8593) @@ -0,0 +1,31 @@ +<?xml version="1.0" encoding="utf-8"?> +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + xmlns:s="http://www.ascc.net/xml/schematron" + xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" + xmlns:dtx="http://nwalsh.com/ns/dtd-xml" + xmlns:f="http://nwalsh.com/functions/dtd-xml" + xmlns="http://nwalsh.com/ns/dtd-xml" + xmlns:xs="http://www.w3.org/2001/XMLSchema" + exclude-result-prefixes="s a dtx xs f" + version="2.0"> + +<xsl:include href="common.xsl"/> + +<!-- replace a ref to a pe that contains text with the content of the pe --> + +<xsl:key name="pe" match="dtx:pe" use="@name"/> + +<xsl:template match="dtx:ref"> + <xsl:variable name="target" select="key('pe', @name)"/> + + <xsl:choose> + <xsl:when test="$target//dtx:text"> + <xsl:copy-of select="$target/*"/> + </xsl:when> + <xsl:otherwise> + <xsl:next-match/> + </xsl:otherwise> + </xsl:choose> +</xsl:template> + +</xsl:stylesheet> Added: trunk/docbook/relaxng/tools/rng2dtd/style/ref-to-attref.xsl =================================================================== --- trunk/docbook/relaxng/tools/rng2dtd/style/ref-to-attref.xsl (rev 0) +++ trunk/docbook/relaxng/tools/rng2dtd/style/ref-to-attref.xsl 2010-03-19 00:16:32 UTC (rev 8593) @@ -0,0 +1,37 @@ +<?xml version="1.0" encoding="utf-8"?> +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + xmlns:s="http://www.ascc.net/xml/schematron" + xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" + xmlns:dtx="http://nwalsh.com/ns/dtd-xml" + xmlns:f="http://nwalsh.com/functions/dtd-xml" + xmlns="http://nwalsh.com/ns/dtd-xml" + xmlns:xs="http://www.w3.org/2001/XMLSchema" + exclude-result-prefixes="s a dtx xs f" + version="2.0"> + +<xsl:include href="common.xsl"/> + +<!-- Change ref's that point exclusively to attributes into attref's --> + +<xsl:key name="name" match="dtx:pe|dtx:element" use="@name"/> + +<xsl:template match="dtx:ref"> + <xsl:variable name="attref" select="f:only-attributes(.)"/> + + <xsl:choose> + <xsl:when test="$attref"> + <attref> + <xsl:copy-of select="@*"/> + <xsl:apply-templates/> + </attref> + </xsl:when> + <xsl:otherwise> + <xsl:copy> + <xsl:copy-of select="@*"/> + <xsl:apply-templates/> + </xsl:copy> + </xsl:otherwise> + </xsl:choose> +</xsl:template> + +</xsl:stylesheet> Added: trunk/docbook/relaxng/tools/rng2dtd/style/remove-empty-pes.xsl =================================================================== --- trunk/docbook/relaxng/tools/rng2dtd/style/remove-empty-pes.xsl (rev 0) +++ trunk/docbook/relaxng/tools/rng2dtd/style/remove-empty-pes.xsl 2010-03-19 00:16:32 UTC (rev 8593) @@ -0,0 +1,58 @@ +<?xml version="1.0" encoding="utf-8"?> +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + xmlns:s="http://www.ascc.net/xml/schematron" + xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" + xmlns:dtx="http://nwalsh.com/ns/dtd-xml" + xmlns:f="http://nwalsh.com/functions/dtd-xml" + xmlns="http://nwalsh.com/ns/dtd-xml" + xmlns:xs="http://www.w3.org/2001/XMLSchema" + exclude-result-prefixes="s a dtx xs f" + version="2.0"> + +<!-- If a pe is empty, remove it and references to it --> + +<xsl:output method="xml" encoding="utf-8" indent="yes" omit-xml-declaration="yes"/> + +<xsl:key name="pe" match="dtx:pe" use="@name"/> + +<xsl:strip-space elements="*"/> + +<xsl:template match="/"> + <xsl:apply-templates/> +</xsl:template> + +<xsl:template match="dtx:pe[not(*)]"> + <!-- nop --> + <!-- + <xsl:message>Remove empty PE: <xsl:value-of select="@name"/></xsl:message> + --> +</xsl:template> + +<xsl:template match="dtx:ref"> + <xsl:variable name="target" select="key('pe', @name)"/> + + <xsl:choose> + <xsl:when test="$target and not($target/*)"> + <!-- nop --> + <!-- + <xsl:message>Remove ref to PE: <xsl:value-of select="@name"/></xsl:message> + --> + </xsl:when> + <xsl:otherwise> + <xsl:next-match/> + </xsl:otherwise> + </xsl:choose> +</xsl:template> + +<xsl:template match="*"> + <xsl:copy> + <xsl:copy-of select="@*"/> + <xsl:apply-templates/> + </xsl:copy> +</xsl:template> + +<xsl:template match="comment()|processing-instruction()|text()"> + <xsl:copy/> +</xsl:template> + +</xsl:stylesheet> Added: trunk/docbook/relaxng/tools/rng2dtd/style/rng2dtx.xsl =================================================================== --- trunk/docbook/relaxng/tools/rng2dtd/style/rng2dtx.xsl (rev 0) +++ trunk/docbook/relaxng/tools/rng2dtd/style/rng2dtx.xsl 2010-03-19 00:16:32 UTC (rev 8593) @@ -0,0 +1,104 @@ +<?xml version="1.0" encoding="utf-8"?> +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + xmlns:rng="http://relaxng.org/ns/structure/1.0" + xmlns:s="http://www.ascc.net/xml/schematron" + xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" + xmlns:dtx="http://nwalsh.com/ns/dtd-xml" + xmlns="http://nwalsh.com/ns/dtd-xml" + exclude-result-prefixes="rng s a dtx" + version="2.0"> + +<xsl:include href="common.xsl"/> + +<!-- Rough conversion of rng:* to dtx:* --> + +<xsl:template match="rng:grammar"> + <dtd> + <xsl:apply-templates/> + </dtd> +</xsl:template> + +<xsl:template match="s:ns"/> +<xsl:template match="s:pattern"/> +<xsl:template match="rng:start"/> +<xsl:template match="a:documentation"/> + +<xsl:template match="rng:div"> + <xsl:apply-templates/> +</xsl:template> + +<xsl:template match="rng:interleave"> + <choice> + <xsl:apply-templates/> + </choice> +</xsl:template> + +<xsl:template match="rng:optional[rng:ref and count(*) = 1]"> + <xsl:apply-templates/> +</xsl:template> + +<xsl:template match="rng:choice[parent::rng:choice]"> + <xsl:apply-templates/> +</xsl:template> + +<xsl:template match="rng:choice|rng:zeroOrMore|rng:oneOrMore|rng:optional + |rng:empty|rng:text|rng:group|rng:value|rng:data"> + <xsl:element name="{local-name(.)}" namespace="http://nwalsh.com/ns/dtd-xml"> + <xsl:copy-of select="@*"/> + <xsl:apply-templates/> + </xsl:element> +</xsl:template> + +<xsl:template match="rng:define[@name='db._any']" priority="500"> + <element name="db._any"/> +</xsl:template> + +<xsl:template match="rng:define[rng:element and count(*) = 1]"> + <xsl:apply-templates/> +</xsl:template> + +<xsl:template match="rng:define"> + <pe name="{@name}"> + <xsl:apply-templates/> + </pe> +</xsl:template> + +<xsl:template match="rng:attribute"> + <attdecl name="{@name}"> + <xsl:apply-templates select="rng:value|rng:data|rng:ref"/> + </attdecl> +</xsl:template> + +<xsl:template match="rng:element"> + <element name="{../@name}"> + <xsl:if test="@name"> + <xsl:attribute name="gi" select="@name"/> + </xsl:if> + <xsl:apply-templates/> + </element> +</xsl:template> + +<xsl:template match="rng:ref"> + <ref name="{@name}"> + <xsl:if test="parent::rng:optional"> + <xsl:attribute name="optional" select="'true'"/> + </xsl:if> + </ref> +</xsl:template> + +<xsl:template match="rng:notAllowed"> + <!-- nop --> +</xsl:template> + +<xsl:template match="rng:param"> + <!-- nop --> +</xsl:template> + +<xsl:template match="*"> + <xsl:message> + <xsl:text>Failed to handle element: </xsl:text> + <xsl:value-of select="node-name(.)"/> + </xsl:message> +</xsl:template> + +</xsl:stylesheet> Added: trunk/docbook/relaxng/tools/rng2dtd/style/sort-pes.xsl =================================================================== --- trunk/docbook/relaxng/tools/rng2dtd/style/sort-pes.xsl (rev 0) +++ trunk/docbook/relaxng/tools/rng2dtd/style/sort-pes.xsl 2010-03-19 00:16:32 UTC (rev 8593) @@ -0,0 +1,99 @@ +<?xml version="1.0" encoding="utf-8"?> +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + xmlns:s="http://www.ascc.net/xml/schematron" + xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" + xmlns:dtx="http://nwalsh.com/ns/dtd-xml" + xmlns:f="http://nwalsh.com/functions/dtd-xml" + xmlns="http://nwalsh.com/ns/dtd-xml" + ... [truncated message content] |
From: <nw...@us...> - 2010-10-20 13:32:37
|
Revision: 8932 http://docbook.svn.sourceforge.net/docbook/?rev=8932&view=rev Author: nwalsh Date: 2010-10-20 13:32:28 +0000 (Wed, 20 Oct 2010) Log Message: ----------- Changed Schematron namespace to official ISO Schematron URI Modified Paths: -------------- trunk/docbook/relaxng/tools/augment.xsl trunk/docbook/relaxng/tools/cleanup.pl trunk/docbook/relaxng/tools/html.xsl trunk/docbook/relaxng/tools/removedoc.xsl trunk/docbook/relaxng/tools/rng2dtd/style/attr-optional-to-decl.xsl trunk/docbook/relaxng/tools/rng2dtd/style/attr-optional-to-ref.xsl trunk/docbook/relaxng/tools/rng2dtd/style/attr-remove-choice.xsl trunk/docbook/relaxng/tools/rng2dtd/style/attr-remove-unused.xsl trunk/docbook/relaxng/tools/rng2dtd/style/common.xsl trunk/docbook/relaxng/tools/rng2dtd/style/dtx2dtd.xsl trunk/docbook/relaxng/tools/rng2dtd/style/flatten-attref.xsl trunk/docbook/relaxng/tools/rng2dtd/style/multiple-gis.xsl trunk/docbook/relaxng/tools/rng2dtd/style/override.xsl trunk/docbook/relaxng/tools/rng2dtd/style/pull-up-text.xsl trunk/docbook/relaxng/tools/rng2dtd/style/ref-to-attref.xsl trunk/docbook/relaxng/tools/rng2dtd/style/remove-empty-pes.xsl trunk/docbook/relaxng/tools/rng2dtd/style/rng2dtx.xsl trunk/docbook/relaxng/tools/rng2dtd/style/sort-pes.xsl trunk/docbook/relaxng/tools/rng2dtd/style/unwrap-zeroormore.xsl trunk/docbook/relaxng/tools/rngdocxml-multipass.xsl trunk/docbook/relaxng/tools/rngdocxml.xsl trunk/docbook/relaxng/tools/rngdocxml2.xsl trunk/docbook/relaxng/tools/schematron.xsl Modified: trunk/docbook/relaxng/tools/augment.xsl =================================================================== --- trunk/docbook/relaxng/tools/augment.xsl 2010-10-20 13:29:20 UTC (rev 8931) +++ trunk/docbook/relaxng/tools/augment.xsl 2010-10-20 13:32:28 UTC (rev 8932) @@ -3,7 +3,7 @@ xmlns:exsl="http://exslt.org/common" xmlns:rng="http://relaxng.org/ns/structure/1.0" xmlns:ctrl="http://nwalsh.com/xmlns/schema-control/" - xmlns:s="http://www.ascc.net/xml/schematron" + xmlns:s="http://purl.oclc.org/dsdl/schematron" xmlns:db="http://docbook.org/ns/docbook" xmlns:dbx = "http://sourceforge.net/projects/docbook/defguide/schema/extra-markup" exclude-result-prefixes="exsl ctrl" @@ -34,7 +34,7 @@ <xsl:template match="rng:grammar" priority="2"> <grammar xmlns="http://relaxng.org/ns/structure/1.0" - xmlns:s="http://www.ascc.net/xml/schematron" + xmlns:s="http://purl.oclc.org/dsdl/schematron" xmlns:db="http://docbook.org/ns/docbook" xmlns:dbx = "http://sourceforge.net/projects/docbook/defguide/schema/extra-markup"> Modified: trunk/docbook/relaxng/tools/cleanup.pl =================================================================== --- trunk/docbook/relaxng/tools/cleanup.pl 2010-10-20 13:29:20 UTC (rev 8931) +++ trunk/docbook/relaxng/tools/cleanup.pl 2010-10-20 13:32:28 UTC (rev 8932) @@ -15,7 +15,7 @@ binmode(STDOUT, ":utf8"); -my $schematron_uri = "http://www.ascc.net/xml/schematron"; +my $schematron_uri = "http://purl.oclc.org/dsdl/schematron"; my $schematron_pfx = ""; my %xmlns = (); Modified: trunk/docbook/relaxng/tools/html.xsl =================================================================== --- trunk/docbook/relaxng/tools/html.xsl 2010-10-20 13:29:20 UTC (rev 8931) +++ trunk/docbook/relaxng/tools/html.xsl 2010-10-20 13:32:28 UTC (rev 8932) @@ -5,7 +5,7 @@ xmlns:ctrl="http://nwalsh.com/xmlns/schema-control/" xmlns:doc="http://nwalsh.com/xmlns/schema-doc/" xmlns:set="http://exslt.org/sets" - xmlns:s="http://www.ascc.net/xml/schematron" + xmlns:s="http://purl.oclc.org/dsdl/schematron" exclude-result-prefixes="exsl ctrl s rng set" version="1.0"> Modified: trunk/docbook/relaxng/tools/removedoc.xsl =================================================================== --- trunk/docbook/relaxng/tools/removedoc.xsl 2010-10-20 13:29:20 UTC (rev 8931) +++ trunk/docbook/relaxng/tools/removedoc.xsl 2010-10-20 13:32:28 UTC (rev 8932) @@ -3,7 +3,7 @@ xmlns:exsl="http://exslt.org/common" xmlns:rng="http://relaxng.org/ns/structure/1.0" xmlns:ctrl="http://nwalsh.com/xmlns/schema-control/" - xmlns:s="http://www.ascc.net/xml/schematron" + xmlns:s="http://purl.oclc.org/dsdl/schematron" xmlns:db="http://docbook.org/ns/docbook" xmlns:dbx = "http://sourceforge.net/projects/docbook/defguide/schema/extra-markup" xmlns:html="http://www.w3.org/1999/xhtml" Modified: trunk/docbook/relaxng/tools/rng2dtd/style/attr-optional-to-decl.xsl =================================================================== --- trunk/docbook/relaxng/tools/rng2dtd/style/attr-optional-to-decl.xsl 2010-10-20 13:29:20 UTC (rev 8931) +++ trunk/docbook/relaxng/tools/rng2dtd/style/attr-optional-to-decl.xsl 2010-10-20 13:32:28 UTC (rev 8932) @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="utf-8"?> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" - xmlns:s="http://www.ascc.net/xml/schematron" + xmlns:s="http://purl.oclc.org/dsdl/schematron" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns:dtx="http://nwalsh.com/ns/dtd-xml" xmlns:f="http://nwalsh.com/functions/dtd-xml" Modified: trunk/docbook/relaxng/tools/rng2dtd/style/attr-optional-to-ref.xsl =================================================================== --- trunk/docbook/relaxng/tools/rng2dtd/style/attr-optional-to-ref.xsl 2010-10-20 13:29:20 UTC (rev 8931) +++ trunk/docbook/relaxng/tools/rng2dtd/style/attr-optional-to-ref.xsl 2010-10-20 13:32:28 UTC (rev 8932) @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="utf-8"?> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" - xmlns:s="http://www.ascc.net/xml/schematron" + xmlns:s="http://purl.oclc.org/dsdl/schematron" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns:dtx="http://nwalsh.com/ns/dtd-xml" xmlns:f="http://nwalsh.com/functions/dtd-xml" Modified: trunk/docbook/relaxng/tools/rng2dtd/style/attr-remove-choice.xsl =================================================================== --- trunk/docbook/relaxng/tools/rng2dtd/style/attr-remove-choice.xsl 2010-10-20 13:29:20 UTC (rev 8931) +++ trunk/docbook/relaxng/tools/rng2dtd/style/attr-remove-choice.xsl 2010-10-20 13:32:28 UTC (rev 8932) @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="utf-8"?> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" - xmlns:s="http://www.ascc.net/xml/schematron" + xmlns:s="http://purl.oclc.org/dsdl/schematron" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns:dtx="http://nwalsh.com/ns/dtd-xml" xmlns:f="http://nwalsh.com/functions/dtd-xml" Modified: trunk/docbook/relaxng/tools/rng2dtd/style/attr-remove-unused.xsl =================================================================== --- trunk/docbook/relaxng/tools/rng2dtd/style/attr-remove-unused.xsl 2010-10-20 13:29:20 UTC (rev 8931) +++ trunk/docbook/relaxng/tools/rng2dtd/style/attr-remove-unused.xsl 2010-10-20 13:32:28 UTC (rev 8932) @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="utf-8"?> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" - xmlns:s="http://www.ascc.net/xml/schematron" + xmlns:s="http://purl.oclc.org/dsdl/schematron" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns:dtx="http://nwalsh.com/ns/dtd-xml" xmlns:f="http://nwalsh.com/functions/dtd-xml" Modified: trunk/docbook/relaxng/tools/rng2dtd/style/common.xsl =================================================================== --- trunk/docbook/relaxng/tools/rng2dtd/style/common.xsl 2010-10-20 13:29:20 UTC (rev 8931) +++ trunk/docbook/relaxng/tools/rng2dtd/style/common.xsl 2010-10-20 13:32:28 UTC (rev 8932) @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="utf-8"?> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" - xmlns:s="http://www.ascc.net/xml/schematron" + xmlns:s="http://purl.oclc.org/dsdl/schematron" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns:dtx="http://nwalsh.com/ns/dtd-xml" xmlns:f="http://nwalsh.com/functions/dtd-xml" Modified: trunk/docbook/relaxng/tools/rng2dtd/style/dtx2dtd.xsl =================================================================== --- trunk/docbook/relaxng/tools/rng2dtd/style/dtx2dtd.xsl 2010-10-20 13:29:20 UTC (rev 8931) +++ trunk/docbook/relaxng/tools/rng2dtd/style/dtx2dtd.xsl 2010-10-20 13:32:28 UTC (rev 8932) @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="utf-8"?> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" - xmlns:s="http://www.ascc.net/xml/schematron" + xmlns:s="http://purl.oclc.org/dsdl/schematron" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns:dtx="http://nwalsh.com/ns/dtd-xml" xmlns:f="http://nwalsh.com/functions/dtd-xml" Modified: trunk/docbook/relaxng/tools/rng2dtd/style/flatten-attref.xsl =================================================================== --- trunk/docbook/relaxng/tools/rng2dtd/style/flatten-attref.xsl 2010-10-20 13:29:20 UTC (rev 8931) +++ trunk/docbook/relaxng/tools/rng2dtd/style/flatten-attref.xsl 2010-10-20 13:32:28 UTC (rev 8932) @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="utf-8"?> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" - xmlns:s="http://www.ascc.net/xml/schematron" + xmlns:s="http://purl.oclc.org/dsdl/schematron" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns:dtx="http://nwalsh.com/ns/dtd-xml" xmlns:f="http://nwalsh.com/functions/dtd-xml" Modified: trunk/docbook/relaxng/tools/rng2dtd/style/multiple-gis.xsl =================================================================== --- trunk/docbook/relaxng/tools/rng2dtd/style/multiple-gis.xsl 2010-10-20 13:29:20 UTC (rev 8931) +++ trunk/docbook/relaxng/tools/rng2dtd/style/multiple-gis.xsl 2010-10-20 13:32:28 UTC (rev 8932) @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="utf-8"?> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" - xmlns:s="http://www.ascc.net/xml/schematron" + xmlns:s="http://purl.oclc.org/dsdl/schematron" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns:dtx="http://nwalsh.com/ns/dtd-xml" xmlns:f="http://nwalsh.com/functions/dtd-xml" Modified: trunk/docbook/relaxng/tools/rng2dtd/style/override.xsl =================================================================== --- trunk/docbook/relaxng/tools/rng2dtd/style/override.xsl 2010-10-20 13:29:20 UTC (rev 8931) +++ trunk/docbook/relaxng/tools/rng2dtd/style/override.xsl 2010-10-20 13:32:28 UTC (rev 8932) @@ -1,7 +1,7 @@ <?xml version="1.0" encoding="utf-8"?> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:rng="http://relaxng.org/ns/structure/1.0" - xmlns:s="http://www.ascc.net/xml/schematron" + xmlns:s="http://purl.oclc.org/dsdl/schematron" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns:dtx="http://nwalsh.com/ns/dtd-xml" xmlns="http://nwalsh.com/ns/dtd-xml" Modified: trunk/docbook/relaxng/tools/rng2dtd/style/pull-up-text.xsl =================================================================== --- trunk/docbook/relaxng/tools/rng2dtd/style/pull-up-text.xsl 2010-10-20 13:29:20 UTC (rev 8931) +++ trunk/docbook/relaxng/tools/rng2dtd/style/pull-up-text.xsl 2010-10-20 13:32:28 UTC (rev 8932) @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="utf-8"?> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" - xmlns:s="http://www.ascc.net/xml/schematron" + xmlns:s="http://purl.oclc.org/dsdl/schematron" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns:dtx="http://nwalsh.com/ns/dtd-xml" xmlns:f="http://nwalsh.com/functions/dtd-xml" Modified: trunk/docbook/relaxng/tools/rng2dtd/style/ref-to-attref.xsl =================================================================== --- trunk/docbook/relaxng/tools/rng2dtd/style/ref-to-attref.xsl 2010-10-20 13:29:20 UTC (rev 8931) +++ trunk/docbook/relaxng/tools/rng2dtd/style/ref-to-attref.xsl 2010-10-20 13:32:28 UTC (rev 8932) @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="utf-8"?> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" - xmlns:s="http://www.ascc.net/xml/schematron" + xmlns:s="http://purl.oclc.org/dsdl/schematron" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns:dtx="http://nwalsh.com/ns/dtd-xml" xmlns:f="http://nwalsh.com/functions/dtd-xml" Modified: trunk/docbook/relaxng/tools/rng2dtd/style/remove-empty-pes.xsl =================================================================== --- trunk/docbook/relaxng/tools/rng2dtd/style/remove-empty-pes.xsl 2010-10-20 13:29:20 UTC (rev 8931) +++ trunk/docbook/relaxng/tools/rng2dtd/style/remove-empty-pes.xsl 2010-10-20 13:32:28 UTC (rev 8932) @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="utf-8"?> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" - xmlns:s="http://www.ascc.net/xml/schematron" + xmlns:s="http://purl.oclc.org/dsdl/schematron" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns:dtx="http://nwalsh.com/ns/dtd-xml" xmlns:f="http://nwalsh.com/functions/dtd-xml" Modified: trunk/docbook/relaxng/tools/rng2dtd/style/rng2dtx.xsl =================================================================== --- trunk/docbook/relaxng/tools/rng2dtd/style/rng2dtx.xsl 2010-10-20 13:29:20 UTC (rev 8931) +++ trunk/docbook/relaxng/tools/rng2dtd/style/rng2dtx.xsl 2010-10-20 13:32:28 UTC (rev 8932) @@ -1,7 +1,7 @@ <?xml version="1.0" encoding="utf-8"?> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:rng="http://relaxng.org/ns/structure/1.0" - xmlns:s="http://www.ascc.net/xml/schematron" + xmlns:s="http://purl.oclc.org/dsdl/schematron" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns:dtx="http://nwalsh.com/ns/dtd-xml" xmlns="http://nwalsh.com/ns/dtd-xml" Modified: trunk/docbook/relaxng/tools/rng2dtd/style/sort-pes.xsl =================================================================== --- trunk/docbook/relaxng/tools/rng2dtd/style/sort-pes.xsl 2010-10-20 13:29:20 UTC (rev 8931) +++ trunk/docbook/relaxng/tools/rng2dtd/style/sort-pes.xsl 2010-10-20 13:32:28 UTC (rev 8932) @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="utf-8"?> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" - xmlns:s="http://www.ascc.net/xml/schematron" + xmlns:s="http://purl.oclc.org/dsdl/schematron" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns:dtx="http://nwalsh.com/ns/dtd-xml" xmlns:f="http://nwalsh.com/functions/dtd-xml" Modified: trunk/docbook/relaxng/tools/rng2dtd/style/unwrap-zeroormore.xsl =================================================================== --- trunk/docbook/relaxng/tools/rng2dtd/style/unwrap-zeroormore.xsl 2010-10-20 13:29:20 UTC (rev 8931) +++ trunk/docbook/relaxng/tools/rng2dtd/style/unwrap-zeroormore.xsl 2010-10-20 13:32:28 UTC (rev 8932) @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="utf-8"?> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" - xmlns:s="http://www.ascc.net/xml/schematron" + xmlns:s="http://purl.oclc.org/dsdl/schematron" xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns:dtx="http://nwalsh.com/ns/dtd-xml" xmlns:f="http://nwalsh.com/functions/dtd-xml" Modified: trunk/docbook/relaxng/tools/rngdocxml-multipass.xsl =================================================================== --- trunk/docbook/relaxng/tools/rngdocxml-multipass.xsl 2010-10-20 13:29:20 UTC (rev 8931) +++ trunk/docbook/relaxng/tools/rngdocxml-multipass.xsl 2010-10-20 13:32:28 UTC (rev 8932) @@ -5,7 +5,7 @@ xmlns:rng="http://relaxng.org/ns/structure/1.0" xmlns:ctrl="http://nwalsh.com/xmlns/schema-control/" xmlns:doc="http://nwalsh.com/xmlns/schema-doc/" - xmlns:s="http://www.ascc.net/xml/schematron" + xmlns:s="http://purl.oclc.org/dsdl/schematron" exclude-result-prefixes="exsl ctrl s set" version="1.0"> Modified: trunk/docbook/relaxng/tools/rngdocxml.xsl =================================================================== --- trunk/docbook/relaxng/tools/rngdocxml.xsl 2010-10-20 13:29:20 UTC (rev 8931) +++ trunk/docbook/relaxng/tools/rngdocxml.xsl 2010-10-20 13:32:28 UTC (rev 8932) @@ -5,7 +5,7 @@ xmlns:rng="http://relaxng.org/ns/structure/1.0" xmlns:ctrl="http://nwalsh.com/xmlns/schema-control/" xmlns:doc="http://nwalsh.com/xmlns/schema-doc/" - xmlns:s="http://www.ascc.net/xml/schematron" + xmlns:s="http://purl.oclc.org/dsdl/schematron" exclude-result-prefixes="exsl ctrl s set" extension-element-prefixes="exsl" version="1.0"> Modified: trunk/docbook/relaxng/tools/rngdocxml2.xsl =================================================================== --- trunk/docbook/relaxng/tools/rngdocxml2.xsl 2010-10-20 13:29:20 UTC (rev 8931) +++ trunk/docbook/relaxng/tools/rngdocxml2.xsl 2010-10-20 13:32:28 UTC (rev 8932) @@ -5,7 +5,7 @@ xmlns:rng="http://relaxng.org/ns/structure/1.0" xmlns:ctrl="http://nwalsh.com/xmlns/schema-control/" xmlns:doc="http://nwalsh.com/xmlns/schema-doc/" - xmlns:s="http://www.ascc.net/xml/schematron" + xmlns:s="http://purl.oclc.org/dsdl/schematron" exclude-result-prefixes="exsl ctrl s set" version="1.0"> Modified: trunk/docbook/relaxng/tools/schematron.xsl =================================================================== --- trunk/docbook/relaxng/tools/schematron.xsl 2010-10-20 13:29:20 UTC (rev 8931) +++ trunk/docbook/relaxng/tools/schematron.xsl 2010-10-20 13:32:28 UTC (rev 8932) @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="utf-8"?> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" - xmlns:s="http://www.ascc.net/xml/schematron" + xmlns:s="http://purl.oclc.org/dsdl/schematron" xmlns:db="http://docbook.org/ns/docbook" version="2.0"> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |