Skip to content

Commit

Permalink
Merge branch 'master' into master
Browse files Browse the repository at this point in the history
  • Loading branch information
goelalex authored Dec 12, 2023
2 parents 9452e42 + b3416cd commit e0aa870
Show file tree
Hide file tree
Showing 63 changed files with 6,081 additions and 1,928 deletions.
2 changes: 2 additions & 0 deletions .buildlocal.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
java -jar tools/ant/ant-launcher.jar

10 changes: 10 additions & 0 deletions schemas/workgroupList.xsd
Original file line number Diff line number Diff line change
Expand Up @@ -51,6 +51,16 @@
<xs:documentation>This is set to true for groups that can no longer be assigned responsibility for tracker items, but which may have had responsibility for historical items</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="listserv" use="optional">
<xs:annotation>
<xs:documentation>The email address used for the work group on the HL7 website.</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:pattern value="[^@]+@[^\.]+\..+"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
</xs:element>
</xs:sequence>
Expand Down
2 changes: 1 addition & 1 deletion schemas/workgroups.xsd
Original file line number Diff line number Diff line change
@@ -1 +1 @@
<?xml version="1.0" encoding="UTF-8"?><!--WARNING: This is a generated file. It must be kept in sync with WorkGroups.xml--><xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"><xs:simpleType name="WorkGroup"><xs:restriction base="xs:NMTOKEN"><xs:enumeration value="gas"/><xs:enumeration value="arb"/><xs:enumeration value="as"/><xs:enumeration value="att"/><xs:enumeration value="brr"/><xs:enumeration value="cbcc"/><xs:enumeration value="cdamg"/><xs:enumeration value="cgit"/><xs:enumeration value="cimi"/><xs:enumeration value="cds"/><xs:enumeration value="cic"/><xs:enumeration value="cg"/><xs:enumeration value="cgp"/><xs:enumeration value="cqi"/><xs:enumeration value="dev"/><xs:enumeration value="ec"/><xs:enumeration value="ehr"/><xs:enumeration value="director"/><xs:enumeration value="fgb"/><xs:enumeration value="fhir-i"/><xs:enumeration value="fmg"/><xs:enumeration value="fm"/><xs:enumeration value="hcd"/><xs:enumeration value="hsi"/><xs:enumeration value="hss"/><xs:enumeration value="hta"/><xs:enumeration value="ic"/><xs:enumeration value="project"/><xs:enumeration value="ii"/><xs:enumeration value="its"/><xs:enumeration value="inm"/><xs:enumeration value="lhs"/><xs:enumeration value="mh"/><xs:enumeration value="mnm"/><xs:enumeration value="oo"/><xs:enumeration value="pa"/><xs:enumeration value="pc"/><xs:enumeration value="pe"/><xs:enumeration value="pie"/><xs:enumeration value="pharm"/><xs:enumeration value="pic"/><xs:enumeration value="ps"/><xs:enumeration value="pher"/><xs:enumeration value="pubs"/><xs:enumeration value="security"/><xs:enumeration value="soa"/><xs:enumeration value="sd"/><xs:enumeration value="sgb"/><xs:enumeration value="templates"/><xs:enumeration value="tsc"/><xs:enumeration value="tsmg"/><xs:enumeration value="us-realm"/><xs:enumeration value="vocab"/><xs:enumeration value="v2mg"/></xs:restriction></xs:simpleType></xs:schema>
<?xml version="1.0" encoding="UTF-8"?><!--WARNING: This is a generated file. It must be kept in sync with WorkGroups.xml--><xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"><xs:simpleType name="WorkGroup"><xs:restriction base="xs:NMTOKEN"><xs:enumeration value="gas"/><xs:enumeration value="arb"/><xs:enumeration value="as"/><xs:enumeration value="att"/><xs:enumeration value="brr"/><xs:enumeration value="cbcc"/><xs:enumeration value="cdamg"/><xs:enumeration value="cgit"/><xs:enumeration value="cimi"/><xs:enumeration value="cds"/><xs:enumeration value="cic"/><xs:enumeration value="cg"/><xs:enumeration value="cgp"/><xs:enumeration value="cqi"/><xs:enumeration value="dev"/><xs:enumeration value="ec"/><xs:enumeration value="ehr"/><xs:enumeration value="director"/><xs:enumeration value="fgb"/><xs:enumeration value="fhir-i"/><xs:enumeration value="fmg"/><xs:enumeration value="fm"/><xs:enumeration value="hcd"/><xs:enumeration value="hsi"/><xs:enumeration value="hss"/><xs:enumeration value="hta"/><xs:enumeration value="ic"/><xs:enumeration value="project"/><xs:enumeration value="ii"/><xs:enumeration value="its"/><xs:enumeration value="inm"/><xs:enumeration value="lhs"/><xs:enumeration value="mh"/><xs:enumeration value="mnm"/><xs:enumeration value="oo"/><xs:enumeration value="pa"/><xs:enumeration value="pc"/><xs:enumeration value="pe"/><xs:enumeration value="pie"/><xs:enumeration value="pharm"/><xs:enumeration value="pic"/><xs:enumeration value="ps"/><xs:enumeration value="pher"/><xs:enumeration value="pubs"/><xs:enumeration value="security"/><xs:enumeration value="soa"/><xs:enumeration value="sd"/><xs:enumeration value="sgb"/><xs:enumeration value="templates"/><xs:enumeration value="tsc"/><xs:enumeration value="tsmg"/><xs:enumeration value="us-realm"/><xs:enumeration value="vocab"/><xs:enumeration value="v2mg"/><xs:enumeration value="eu"/><xs:enumeration value="au-v2"/><xs:enumeration value="au-fhir"/></xs:restriction></xs:simpleType></xs:schema>
24 changes: 20 additions & 4 deletions tools/buildSpecJSON.xslt
Original file line number Diff line number Diff line change
Expand Up @@ -97,9 +97,11 @@
<xsl:when test="contains($prefix, 'FHIR') and not(matches(string(@id), '^([A-Z][a-z]+)+/[A-Za-z0-9\-\.]{1,64}$'))">
<xsl:message terminate="yes" select="concat('ERROR: In FHIR artifact ', $key, ', id value of ', @id, ' does not follow the pattern ResourceName/id')"/>
</xsl:when>
<!--
<xsl:when test="contains($prefix, 'CDA') and not(matches(@id, '^[0-2](\.(0|[1-9][0-9]*))+$'))">
<xsl:message terminate="yes" select="concat('ERROR: In CDA artifact ', $key, ', id value of ', @id, ' is not an OID', matches(@id, '^[0-2](\\.(0|[1-9][0-9]*))+$'))"/>
</xsl:when>
-->
</xsl:choose>
<xsl:copy>
<xsl:apply-templates mode="familySpecs" select="@*"/>
Expand Down Expand Up @@ -127,17 +129,31 @@
-->
<xsl:template match="/">
<!-- Check cross-specification validation rules -->
<xsl:for-each select="$ballotSpecs/specification[not(starts-with(@gitUrl, 'https://github.com/HL7/')) and not(@deprecated='true') and starts-with(@key, 'FHIR-')]">
<xsl:message terminate="yes" select="concat('ERROR: FHIR specifications that are not deprecated must have a gitUrl attribute that starts with ''https://github.com/HL7/'' ', @key)"/>
<xsl:for-each select="$ballotSpecs/specification[not(@deprecated='true') and starts-with(@key, 'FHIR-')]">
<xsl:choose>
<xsl:when test="@defaultWorkgroup='eu' and not(starts-with(@gitUrl, 'https://github.com/HL7-eu/'))">
<xsl:message terminate="yes" select="concat('ERROR: FHIR HL7 EU specifications that are not deprecated must have a gitUrl attribute that starts with ''https://github.com/HL7-eu/'' ', @key)"/>
</xsl:when>
<xsl:when test="not(@defaultWorkgroup='eu') and not(starts-with(@gitUrl, 'https://github.com/HL7/'))">
<xsl:message terminate="yes" select="concat('ERROR: FHIR HL7 International specifications that are not deprecated must have a gitUrl attribute that starts with ''https://github.com/HL7/'' ', @key)"/>
</xsl:when>
</xsl:choose>
</xsl:for-each>
<xsl:for-each select="$ballotSpecs/specification[not(starts-with(@ciUrl, 'http://build.fhir.org')) and not(@deprecated='true') and starts-with(@key, 'FHIR-')]">
<xsl:message select="concat('WARNING: FHIR specifications that are not deprecated SHOULD have a ciUrl attribute that starts with ''http://build.fhir.org'' ', @key, ' - actual was: ', @ciUrl)"/>
</xsl:for-each>
<xsl:for-each select="$ballotSpecs/specification[not(starts-with(@url, 'http://hl7.org/fhir')) and not(@deprecated='true') and starts-with(@key, 'FHIR-')]">
<xsl:message select="concat('WARNING: FHIR specifications that are not deprecated SHOULD have a url attribute that starts with ''http://hl7.org/fhir'' ', @key, ' - actual was: ', @url)"/>
</xsl:for-each>
<xsl:for-each select="$ballotSpecs/specification[@ballotUrl and not(starts-with(@ballotUrl, 'http://hl7.org/'))]">
<xsl:message terminate="yes" select="concat('ERROR: If present, ballotUrl must start with ''http://hl7.org/'' ', @key, ' - actual was: ', @ballotUrl)"/>
<xsl:for-each select="$ballotSpecs/specification[@ballotUrl]">
<xsl:choose>
<xsl:when test="@defaultWorkgroup='eu' and not(starts-with(@ballotUrl, 'http://hl7.eu/'))">
<xsl:message terminate="yes" select="concat('ERROR: If present, ballotUrl must start with ''http://hl7.eu/'' ', @key, ' - actual was: ', @ballotUrl)"/>
</xsl:when>
<xsl:when test="not(@defaultWorkgroup='eu') and not(starts-with(@ballotUrl, 'http://hl7.org/'))">
<xsl:message terminate="yes" select="concat('ERROR: If present, ballotUrl must start with ''http://hl7.org/'' ', @key, ' - actual was: ', @ballotUrl)"/>
</xsl:when>
</xsl:choose>
</xsl:for-each>
<xsl:for-each select="distinct-values($ballotSpecs/specification/@gitUrl)">
<xsl:if test="count($ballotSpecs/specification[@gitUrl=current()])!=1">
Expand Down
26 changes: 24 additions & 2 deletions tools/xmlToJson.xslt
Original file line number Diff line number Diff line change
Expand Up @@ -86,15 +86,37 @@
<xsl:for-each select="@*[not(contains(name(.), ':'))]">
<xsl:choose>
<xsl:when test="local-name(.)=('deprecated')">
<xsl:value-of select="concat('&quot;', local-name(.), '&quot;:', .)"/>
<xsl:value-of select="concat('&quot;', local-name(.), '&quot;:')"/>
<xsl:call-template name="escapeText">
<xsl:with-param name="text" select="."/>
</xsl:call-template>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="concat('&quot;', local-name(.), '&quot;:&quot;', ., '&quot;')"/>
<xsl:value-of select="concat('&quot;', local-name(.), '&quot;:&quot;')"/>
<xsl:call-template name="escapeText">
<xsl:with-param name="text" select="."/>
</xsl:call-template>
<xsl:text>"</xsl:text>
</xsl:otherwise>
</xsl:choose>
<xsl:if test="position()!=last()">,</xsl:if>
</xsl:for-each>
</xsl:template>
<xsl:template name="escapeText">
<xsl:param name="text"/>
<xsl:choose>
<xsl:when test="contains($text, '&quot;')">
<xsl:value-of select="substring-before($text, '&quot;')"/>
<xsl:text>\"</xsl:text>
<xsl:call-template name="escapeText">
<xsl:with-param name="text" select="substring-after($text, '&quot;')"/>
</xsl:call-template>
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="$text"/>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
<xsl:template name="doNamedArray">
<xsl:param name="name"/>
<xsl:value-of select="concat('&quot;', $name, '&quot;:')"/>
Expand Down
Loading

0 comments on commit e0aa870

Please sign in to comment.