<?xml version="1.0" encoding="UTF-8"?>
<schema xmlns="http://www.ascc.net/xml/schematron" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.ascc.net/xml/schematron ../../Utilities/Schematron/schematron1-5.xsd" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
	<ns uri="http://schema.bsi-global.com/BS8723-5/" prefix="bs8723"/>
	<ns uri="http://purl.org/dc/elements/1.1/" prefix="dc"/>
	<pattern name="Consistency between narrower and broader">
		<rule context="bs8723:ThesaurusConcept/bs8723:HasBroaderConcept">
			<assert test="/bs8723:Thesaurus/bs8723:ThesaurusConcept[(@dc:identifier = current()) and (bs8723:HasNarrowerConcept = current()/../@dc:identifier)]">
			Error 1: Inconsistency between broader and narrower
			</assert>
		</rule>
		<rule context="bs8723:ThesaurusConcept/bs8723:HasNarrowerConcept">
			<assert test="/bs8723:Thesaurus/bs8723:ThesaurusConcept[(@dc:identifier = current()) and (bs8723:HasBroaderConcept = current()/../@dc:identifier)]">
			Error 2: Inconsistency between broader and narrower
			</assert>
		</rule>
	</pattern>
	<pattern name="Consistency between USE and UF">
		<rule context="bs8723:USE">
			<assert test="../../bs8723:PreferredTerm/@dc:identifier = current()">
			Error 3: A NonPreferredTerm has an invalid value in the USE element.
			</assert>
		</rule>
		<rule context="bs8723:UF">
			<assert test="../../bs8723:NonPreferredTerm/@dc:identifier = current()">
			Error 4: A PreferredTerm has an invalid value in the UF element.
			</assert>
		</rule>
		<rule context="bs8723:NonPreferredTerm">
			<assert test="../bs8723:PreferredTerm/bs8723:UF = current()/@dc:identifier">
			Error 5: A UF is missing from the preferred term.
			</assert>
		</rule>
	</pattern>
</schema>
