dhodovsk / source-git / pacemaker

Forked from source-git/pacemaker 3 years ago
Clone

Blame xml/upgrade-1.3.xsl

rpm-build 3ee90c
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
rpm-build 3ee90c
<xsl:output method="xml" encoding="UTF-8" indent="yes" omit-xml-declaration="yes"/>
rpm-build 3ee90c
rpm-build 3ee90c
<xsl:param name="cib-min-ver" select="'2.0'"/>
rpm-build 3ee90c
rpm-build 3ee90c
<xsl:template match="cib">
rpm-build 3ee90c
  <xsl:copy>
rpm-build 3ee90c
    <xsl:apply-templates select="@*"/>
rpm-build 3ee90c
    <xsl:attribute name="validate-with">
rpm-build 3ee90c
      <xsl:value-of select="concat('pacemaker-', $cib-min-ver)"/>
rpm-build 3ee90c
    </xsl:attribute>
rpm-build 3ee90c
    <xsl:apply-templates select="node()"/>
rpm-build 3ee90c
  </xsl:copy>
rpm-build 3ee90c
</xsl:template>
rpm-build 3ee90c
rpm-build 3ee90c
<xsl:template match="role_ref">
rpm-build 3ee90c
  <xsl:element name="role">
rpm-build 3ee90c
    <xsl:apply-templates select="@*|node()"/>
rpm-build 3ee90c
  </xsl:element>
rpm-build 3ee90c
</xsl:template>
rpm-build 3ee90c
rpm-build 3ee90c
<xsl:template match="read|write|deny">
rpm-build 3ee90c
  <xsl:element name="acl_permission">
rpm-build 3ee90c
rpm-build 3ee90c
    <xsl:copy-of select="@id"/>
rpm-build 3ee90c
    <xsl:attribute name="kind"><xsl:value-of select="name()"/></xsl:attribute>
rpm-build 3ee90c
rpm-build 3ee90c
    
rpm-build 3ee90c
         each time using a different attribute (or no attribute at all), which
rpm-build 3ee90c
         would result, after the generalization (stripping @attribute) in
rpm-build 3ee90c
         multiple possibly conflicting ACL behaviours for given element(s);
rpm-build 3ee90c
         we could take this into account by, at the very least, preferring
rpm-build 3ee90c
         the behavior at attribute-less specification, if any -->
rpm-build 3ee90c
    <xsl:choose>
rpm-build 3ee90c
      <xsl:when test="@ref">
rpm-build 3ee90c
        <xsl:attribute name="reference"><xsl:value-of select="@ref"/></xsl:attribute>
rpm-build 3ee90c
        <xsl:if test="@attribute">
rpm-build 3ee90c
          
rpm-build 3ee90c
          <xsl:message>ACLs: @attribute cannot accompany @ref for upgrade-1.3.xsl purposes, ignoring</xsl:message>
rpm-build 3ee90c
        </xsl:if>
rpm-build 3ee90c
      </xsl:when>
rpm-build 3ee90c
      <xsl:when test="@tag">
rpm-build 3ee90c
        <xsl:attribute name="object-type"><xsl:value-of select="@tag"/></xsl:attribute>
rpm-build 3ee90c
        <xsl:if test="@attribute">
rpm-build 3ee90c
          <xsl:message>ACLs: @attribute (with @tag) handling generalized a bit for upgrade-1.3.xsl purposes</xsl:message>
rpm-build 3ee90c
          <xsl:copy-of select="@attribute"/>
rpm-build 3ee90c
        </xsl:if>
rpm-build 3ee90c
      </xsl:when>
rpm-build 3ee90c
      <xsl:otherwise>
rpm-build 3ee90c
        
rpm-build 3ee90c
        <xsl:choose>
rpm-build 3ee90c
          <xsl:when test="@attribute">
rpm-build 3ee90c
            <xsl:message>ACLs: @attribute (with @xpath) handling generalized a bit for upgrade-1.3.xsl purposes</xsl:message>
rpm-build 3ee90c
            <xsl:attribute name="xpath">
rpm-build 3ee90c
              <xsl:value-of select="concat(@xpath,'[@', @attribute, ']')"/>
rpm-build 3ee90c
            </xsl:attribute>
rpm-build 3ee90c
          </xsl:when>
rpm-build 3ee90c
          <xsl:otherwise>
rpm-build 3ee90c
            <xsl:copy-of select="@xpath"/>
rpm-build 3ee90c
          </xsl:otherwise>
rpm-build 3ee90c
        </xsl:choose>
rpm-build 3ee90c
      </xsl:otherwise>
rpm-build 3ee90c
    </xsl:choose>
rpm-build 3ee90c
rpm-build 3ee90c
  </xsl:element>
rpm-build 3ee90c
</xsl:template>
rpm-build 3ee90c
rpm-build 3ee90c
<xsl:template match="acl_user[role_ref]">
rpm-build 3ee90c
  
rpm-build 3ee90c
  <xsl:element name="acl_target">
rpm-build 3ee90c
    <xsl:apply-templates select="@*|node()"/>
rpm-build 3ee90c
  </xsl:element>
rpm-build 3ee90c
</xsl:template>
rpm-build 3ee90c
rpm-build 3ee90c
<xsl:template match="acl_user[not(role_ref)]">
rpm-build 3ee90c
rpm-build 3ee90c
  <xsl:element name="acl_target">
rpm-build 3ee90c
    <xsl:apply-templates select="@*"/>
rpm-build 3ee90c
rpm-build 3ee90c
    <xsl:if test="count(deny|read|write)" > 
rpm-build 3ee90c
      <xsl:element name="role">
rpm-build 3ee90c
        <xsl:attribute name="id">
rpm-build 3ee90c
          <xsl:value-of select="concat('auto-', @id)"/>
rpm-build 3ee90c
        </xsl:attribute>
rpm-build 3ee90c
      </xsl:element>
rpm-build 3ee90c
    </xsl:if>
rpm-build 3ee90c
rpm-build 3ee90c
  </xsl:element>
rpm-build 3ee90c
rpm-build 3ee90c
  <xsl:if test="count(deny|read|write)" > 
rpm-build 3ee90c
    <xsl:element name="acl_role">
rpm-build 3ee90c
      <xsl:attribute name="id">
rpm-build 3ee90c
        <xsl:value-of select="concat('auto-', @id)"/>
rpm-build 3ee90c
      </xsl:attribute>
rpm-build 3ee90c
      <xsl:apply-templates select="*"/>
rpm-build 3ee90c
    </xsl:element>
rpm-build 3ee90c
  </xsl:if>
rpm-build 3ee90c
rpm-build 3ee90c
</xsl:template>
rpm-build 3ee90c
rpm-build 3ee90c
<xsl:template match="@*|node()">
rpm-build 3ee90c
  <xsl:copy>
rpm-build 3ee90c
    <xsl:apply-templates select="@*|node()"/>
rpm-build 3ee90c
  </xsl:copy>
rpm-build 3ee90c
</xsl:template>
rpm-build 3ee90c
rpm-build 3ee90c
</xsl:stylesheet>