Mercurial > pub > ModelGenerator
diff xslt/test-model.xsl @ 10:19a8a71eaa54
added test-model.xsl template for testing purpose of model.xsl
working on members expansion templates
author | cin |
---|---|
date | Mon, 12 Mar 2018 02:58:34 +0300 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/xslt/test-model.xsl Mon Mar 12 02:58:34 2018 +0300 @@ -0,0 +1,32 @@ +<?xml version="1.0" encoding="UTF-8"?> +<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:m="http://implab.org/schemas/data-model.v1.xsd" + xmlns:clr="http://implab.org/schemas/data-model/dotnet.v1.xsd" + xmlns:cs="http://implab.org/schemas/code-dom/csharp.v1.xsd" xmlns:sql="http://implab.org/schemas/data-model/sql.v1.xsd" + xmlns:t="http://implab.org/schemas/temp" xmlns:exsl="http://exslt.org/common" + exclude-result-prefixes="clr m xsl exsl sql"> + <xsl:import href="model.xsl"/> + + <xsl:template match="m:package[boolean(@primary)]" mode="document"> + <xsl:copy> + <xsl:copy-of select="@*"/> + <xsl:apply-templates mode="document"/> + </xsl:copy> + </xsl:template> + <!-- entity --> + <xsl:template match="m:entity" mode="document"> + <xsl:apply-templates select="." mode="entity"/> + </xsl:template> + + <xsl:template match="m:entity" mode="entity"> + <!-- select all members --> + <xsl:variable name="members"> + <xsl:apply-templates mode="filter-members"/> + </xsl:variable> + + <xsl:copy> + <xsl:copy-of select="@*"/> + + <xsl:apply-templates select="exsl:node-set($members)" mode="expand-member"/> + </xsl:copy> + </xsl:template> +</xsl:stylesheet> \ No newline at end of file