3 SPDX-FileCopyrightText: 2024 Lady <https://www.ladys.computer/about/#lady>
4 SPDX-License-Identifier: MPL-2.0
7 © 2024 Lady [@ Ladys Computer].
9 This Source Code Form is subject to the terms of the Mozilla Public License, v 2.0.
10 If a copy of the M·P·L was not distributed with this file, You can obtain one at <https://mozilla.org/MPL/2.0/>.
13 <!ENTITY en '<attribute xmlns="http://www.w3.org/1999/XSL/Transform" name="lang"><text>en</text></attribute><attribute xmlns="http://www.w3.org/1999/XSL/Transform" name="xml:lang"><text>en</text></attribute>'>
16 xmlns="http://www.w3.org/1999/XSL/Transform"
17 xmlns:Vocab="urn:fdc:vocab.ladys.computer:20240731:ns"
18 xmlns:Vocabvocab="urn:fdc:vocab.ladys.computer:20240731:vocab:"
19 xmlns:anno="http://www.w3.org/ns/oa#"
20 xmlns:html="http://www.w3.org/1999/xhtml"
21 xmlns:owl="http://www.w3.org/2002/07/owl#"
22 xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
23 xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
24 xmlns:shacl="http://www.w3.org/ns/shacl#"
25 xmlns:skos="http://www.w3.org/2004/02/skos/core#"
26 xmlns:vocabstatus="http://www.w3.org/2003/06/sw-vocab-status/ns#"
27 xmlns:书社="urn:fdc:ladys.computer:20231231:Shu1She4"
28 exclude-result-prefixes="Vocab Vocabvocab"
31 <书社:id>urn:fdc:vocab.ladys.computer:20240731:transforms:site:terms.xslt</书社:id>
32 <key name="Vocab:named-class" match="owl:Class|rdfs:Datatype" use="@rdf:about"/>
33 <key name="Vocab:named-property" match="owl:AnnotationProperty|owl:DatatypeProperty|owl:ObjectProperty" use="@rdf:about"/>
34 <key name="Vocab:named-individual" match="owl:NamedIndividual" use="@rdf:about|owl:sameAs/@rdf:resource"/>
35 <key name="Vocab:subclass" match="owl:Class|owl:Restriction" use="rdfs:subClassOf/@rdf:resource"/>
36 <key name="Vocab:subproperty" match="owl:AnnotationProperty|owl:DatatypeProperty|owl:ObjectProperty" use="rdfs:subPropertyOf/@rdf:resource"/>
37 <template name="Vocab:base">
38 <value-of select="//rdf:RDF//owl:Ontology/shacl:declare/shacl:namespace[preceding-sibling::shacl:prefix='']"/>
40 <template name="Vocab:link-to">
41 <param name="resource"/>
42 <param name="kind" select="'individual'"/>
43 <param name="full" select="true()"/>
44 <variable name="base-prefix">
45 <call-template name="Vocab:prefix">
46 <with-param name="unprefixed">
47 <call-template name="Vocab:base"/>
51 <variable name="curie">
52 <call-template name="Vocab:prefix">
53 <with-param name="unprefixed" select="string($resource)"/>
56 <variable name="localid">
58 <when test="starts-with($curie, $base-prefix)">
59 <value-of select="substring-after($curie, $base-prefix)"/>
62 <value-of select="$curie"/>
66 <element name="html:a">
68 <when test="key(concat('Vocab:named-', $kind), $resource)">
69 <attribute name="data-curie">
70 <value-of select="$curie"/>
72 <attribute name="data-kind">
73 <value-of select="$kind"/>
75 <attribute name="href">
78 <when test="$kind='class'">
81 <when test="$kind='property'">
82 <text>properties/</text>
85 <text>individuals/</text>
88 <value-of select="$localid"/>
91 <for-each select="key(concat('Vocab:named-', $kind), $resource)[1]">
92 <if test="not($full)">
93 <attribute name="title">
94 <value-of select="rdfs:label[1]"/>
96 <value-of select="$curie"/>
100 <variable name="wrappername">
102 <when test="substring($localid, 1, 1)='(' and substring($localid, string-length($localid), 1)=')'">
110 <element name="html:{$wrappername}">
111 <attribute name="lang">
112 <value-of select="rdfs:label[1]/@xml:lang"/>
114 <attribute name="xml:lang">
115 <value-of select="rdfs:label[1]/@xml:lang"/>
117 <value-of select="rdfs:label[1]"/>
121 <element name="html:small">
123 <element name="html:code">
124 <value-of select="$curie"/>
132 <attribute name="href">
133 <value-of select="$resource"/>
135 <element name="html:code">
136 <value-of select="$curie"/>
142 <template name="Vocab:list-all-terms">
143 <param name="source"/>
144 <call-template name="Vocab:list-terms">
145 <with-param name="source" select="$source"/>
146 <with-param name="selector" select="'Class'"/>
148 <call-template name="Vocab:list-terms">
149 <with-param name="source" select="$source"/>
150 <with-param name="selector" select="'Datatype'"/>
152 <call-template name="Vocab:list-terms">
153 <with-param name="source" select="$source"/>
154 <with-param name="selector" select="'AnnotationProperty'"/>
156 <call-template name="Vocab:list-terms">
157 <with-param name="source" select="$source"/>
158 <with-param name="selector" select="'ObjectProperty'"/>
160 <call-template name="Vocab:list-terms">
161 <with-param name="source" select="$source"/>
162 <with-param name="selector" select="'DatatypeProperty'"/>
164 <call-template name="Vocab:list-terms">
165 <with-param name="source" select="$source"/>
166 <with-param name="selector" select="'NamedIndividual'"/>
169 <template name="Vocab:list-terms">
170 <param name="source"/>
171 <param name="selector"/>
172 <variable name="base-iri">
173 <call-template name="Vocab:base"/>
175 <variable name="selection" select="//rdf:RDF//*[@rdf:about and local-name()=$selector and ($selector='Datatype' and namespace-uri()='http://www.w3.org/2000/01/rdf-schema#' or $selector!='Datatype' and namespace-uri()='http://www.w3.org/2002/07/owl#') and rdfs:isDefinedBy[starts-with(@rdf:resource, $base-iri)] and ($source='' and starts-with(@rdf:about, $base-iri) or (rdfs:isDefinedBy|rdfs:isDefinedBy/anno:ResourceSelection/anno:hasSource)[@rdf:resource=$source])]"/>
176 <if test="$selection">
177 <element name="html:nav">
178 <element name="html:h4">
181 <when test="$selector='Class'">
184 <when test="$selector='Datatype'">
185 <text>Datatypes</text>
187 <when test="$selector='AnnotationProperty'">
188 <text>Annotation Properties</text>
190 <when test="$selector='ObjectProperty'">
191 <text>Object Properties</text>
193 <when test="$selector='DatatypeProperty'">
194 <text>Data Properties</text>
196 <when test="$selector='NamedIndividual'">
197 <text>Named Individuals</text>
201 <element name="html:ul">
202 <for-each select="$selection">
203 <sort select="rdfs:label[1]" lang="en"/>
204 <element name="html:li">
205 <call-template name="Vocab:link-to">
206 <with-param name="resource" select="string(@rdf:about)"/>
207 <with-param name="kind">
209 <when test="$selector='Class' or $selector='Datatype'">
212 <when test="$selector='AnnotationProperty' or $selector='ObjectProperty' or $selector='DatatypeProperty'">
213 <text>property</text>
216 <text>individual</text>
227 <template name="Vocab:prefix">
228 <param name="unprefixed" select="''"/>
229 <variable name="namespace" select="//rdf:RDF//owl:Ontology/shacl:declare/shacl:namespace[starts-with($unprefixed, string()) and string(preceding-sibling::shacl:prefix)!=''][1]"/>
231 <when test="not($namespace)">
232 <value-of select="$unprefixed"/>
235 <value-of select="$namespace/preceding-sibling::shacl:prefix"/>
237 <value-of select="substring-after($unprefixed, $namespace)"/>
241 <template match="/书社:archive">
242 <variable name="base-iri">
243 <call-template name="Vocab:base"/>
246 <apply-templates select="@*"/>
247 <apply-templates select="*[@书社:archived-as]"/>
248 <for-each select="rdf:RDF//*[(self::owl:AnnotationProperty or self::owl:Class or self::owl:DatatypeProperty or self::owl:NamedIndividual or self::owl:ObjectProperty or self::rdfs:Datatype) and rdfs:isDefinedBy[starts-with(@rdf:resource, $base-iri)]]">
249 <element name="html:article">
250 <attribute name="class">
253 <attribute name="书社:archived-as">
254 <value-of select="translate(substring-after(rdfs:isDefinedBy[starts-with(@rdf:resource, $base-iri)]/@rdf:resource, $base-iri), ':[]', '¦__')"/>
256 <element name="html:header">
257 <element name="html:a">
258 <attribute name="href">
261 <text>Ladys Vocabulary</text>
264 <apply-templates select="." mode="Vocab:render-term"/>
269 <template match="html:article[rdf:RDF]">
270 <for-each select="rdf:RDF">
271 <for-each select="//owl:Ontology[1]">
272 <element name="html:hgroup">
273 <element name="html:h1">
274 <attribute name="lang">
275 <value-of select="rdfs:label[1]/@xml:lang"/>
277 <attribute name="xml:lang">
278 <value-of select="rdfs:label[1]/@xml:lang"/>
280 <value-of select="rdfs:label[1]"/>
282 <element name="html:p">
283 <text>An ontology.</text>
286 <element name="html:div">
287 <attribute name="class">
290 <element name="html:dl">
291 <element name="html:div">
292 <element name="html:dt">
293 <element name="html:abbr">
295 <attribute name="title">
296 <text>Internationalized Resource Identifier</text>
301 <element name="html:dd">
302 <element name="html:a">
303 <attribute name="href">
304 <value-of select="@rdf:about"/>
306 <element name="html:code">
307 <value-of select="@rdf:about"/>
314 <apply-templates select="rdfs:comment[1]/html:div" mode="Vocab:render-term"/>
315 <element name="html:section">
316 <element name="html:h2">
318 <text>List of Name·spaces</text>
320 <element name="html:table">
321 <element name="html:thead">
322 <element name="html:tr">
323 <element name="html:th">
325 <attribute name="scope">
330 <element name="html:th">
332 <attribute name="scope">
339 <element name="html:tbody">
340 <for-each select="shacl:declare[shacl:prefix!='']">
341 <sort select="shacl:prefix"/>
342 <element name="html:tr">
343 <element name="html:th">
344 <attribute name="scope">
347 <element name="html:code">
348 <value-of select="shacl:prefix"/>
352 <element name="html:td">
353 <element name="html:code">
354 <value-of select="shacl:namespace"/>
362 <element name="html:section">
363 <element name="html:h2">
365 <text>Terms Defined By </text>
366 <element name="html:cite">
367 <attribute name="lang">
368 <value-of select="rdfs:label[1]/@xml:lang"/>
370 <attribute name="xml:lang">
371 <value-of select="rdfs:label[1]/@xml:lang"/>
373 <value-of select="rdfs:label[1]"/>
376 <call-template name="Vocab:list-all-terms"/>
379 <element name="html:section">
380 <element name="html:h2">
382 <text>Terms Defined Else·where</text>
384 <for-each select="//owl:NamedIndividual">
385 <sort select="rdfs:label" lang="en"/>
386 <if test="(//rdfs:isDefinedBy|//rdfs:isDefinedBy/anno:ResourceSelection/anno:hasSource)[string(@rdf:resource)=string(current()/@rdf:about)]">
387 <element name="html:section">
388 <element name="html:h3">
389 <element name="html:a">
390 <attribute name="href">
391 <value-of select="@rdf:about"/>
393 <element name="html:cite">
394 <attribute name="lang">
395 <value-of select="rdfs:label[1]/@xml:lang"/>
397 <attribute name="xml:lang">
398 <value-of select="rdfs:label[1]/@xml:lang"/>
400 <value-of select="rdfs:label[1]"/>
404 <apply-templates select="rdfs:comment[1]/html:div" mode="Vocab:render-term"/>
405 <call-template name="Vocab:list-all-terms">
406 <with-param name="source" select="@rdf:about"/>
414 <template match="*[@rdf:about and (self::owl:AnnotationProperty or self::owl:Class or self::owl:DatatypeProperty or self::owl:NamedIndividual or self::owl:ObjectProperty or self::rdfs:Datatype)]" mode="Vocab:render-term" priority="2">
415 <variable name="root" select="/"/>
416 <variable name="base-iri">
417 <call-template name="Vocab:base"/>
419 <variable name="kind">
421 <when test="self::owl:Class or self::rdfs:Datatype">
424 <when test="self::owl:AnnotationProperty or self::owl:ObjectProperty or self::owl:DatatypeProperty">
425 <text>property</text>
428 <text>individual</text>
432 <variable name="resource-context" select="string(@rdf:about)"/>
433 <variable name="equivalencies" select="Vocab:get-equivalents(., $kind)"/>
434 <variable name="supers" select="Vocab:get-transitives(., $kind, 'super')"/>
435 <variable name="inverses" select="Vocab:get-symmetrics(., $kind, 'inverse')"/>
436 <variable name="disjoints" select="Vocab:get-symmetrics(.|$supers, $kind, 'disjoint')"/>
437 <element name="html:meta">
438 <attribute name="itemprop">
439 <text>urn:fdc:ladys.computer:20231231:Shu1She4:title</text>
441 <attribute name="content">
442 <value-of select="rdfs:label[1]"/>
444 <call-template name="Vocab:prefix">
445 <with-param name="unprefixed">
446 <value-of select="@rdf:about"/>
451 <value-of select="//rdf:RDF//owl:Ontology/rdfs:label"/>
454 <element name="html:hgroup">
455 <element name="html:h1">
456 <attribute name="lang">
457 <value-of select="rdfs:label[1]/@xml:lang"/>
459 <attribute name="xml:lang">
460 <value-of select="rdfs:label[1]/@xml:lang"/>
462 <value-of select="rdfs:label[1]"/>
464 <element name="html:p">
466 <element name="html:code">
467 <call-template name="Vocab:prefix">
468 <with-param name="unprefixed" select="@rdf:about"/>
473 <element name="html:p">
475 <when test="self::owl:Class">
476 <text>A class.</text>
478 <when test="self::rdfs:Datatype">
479 <text>A datatype.</text>
481 <when test="self::owl:AnnotationProperty">
482 <text>An annotation property.</text>
484 <when test="self::owl:ObjectProperty">
485 <text>An object property.</text>
487 <when test="self::owl:DatatypeProperty">
488 <text>A data property.</text>
490 <when test="self::owl:NamedIndividual">
491 <text>A named individual.</text>
496 <element name="html:div">
497 <attribute name="class">
500 <if test="self::owl:DatatypeProperty|self::owl:ObjectProperty">
501 <element name="html:table">
502 <element name="html:tbody">
503 <element name="html:tr">
504 <element name="html:td">
505 <element name="html:label">
507 <text>Functional? </text>
508 <element name="html:input">
509 <attribute name="type">
510 <text>checkbox</text>
512 <attribute name="aria-readonly">
515 <attribute name="onclick">
516 <text>return false</text>
518 <if test="rdf:type/@rdf:resource[string()='http://www.w3.org/2002/07/owl#FunctionalProperty']">
519 <attribute name="checked">
526 <if test="self::owl:ObjectProperty">
527 <element name="html:td">
528 <element name="html:label">
530 <text>Inverse Functional? </text>
531 <element name="html:input">
532 <attribute name="type">
533 <text>checkbox</text>
535 <attribute name="aria-readonly">
538 <attribute name="onclick">
539 <text>return false</text>
541 <if test="rdf:type/@rdf:resource[string()='http://www.w3.org/2002/07/owl#InverseFunctionalProperty']">
542 <attribute name="checked">
549 <element name="html:td">
550 <element name="html:label">
552 <text>Reflexive? </text>
553 <element name="html:input">
554 <attribute name="type">
555 <text>checkbox</text>
557 <attribute name="aria-readonly">
560 <attribute name="onclick">
561 <text>return false</text>
563 <if test="rdf:type/@rdf:resource[string()='http://www.w3.org/2002/07/owl#ReflexiveProperty']">
564 <attribute name="checked">
571 <element name="html:td">
572 <element name="html:label">
574 <text>Irreflexive? </text>
575 <element name="html:input">
576 <attribute name="type">
577 <text>checkbox</text>
579 <attribute name="aria-readonly">
582 <attribute name="onclick">
583 <text>return false</text>
585 <if test="rdf:type/@rdf:resource[string()='http://www.w3.org/2002/07/owl#IrreflexiveProperty']">
586 <attribute name="checked">
593 <element name="html:td">
594 <element name="html:label">
596 <text>Symmetric? </text>
597 <element name="html:input">
598 <attribute name="type">
599 <text>checkbox</text>
601 <attribute name="aria-readonly">
604 <attribute name="onclick">
605 <text>return false</text>
607 <if test="rdf:type/@rdf:resource[string()='http://www.w3.org/2002/07/owl#SymmetricProperty']">
608 <attribute name="checked">
615 <element name="html:td">
616 <element name="html:label">
618 <text>Asymmetric? </text>
619 <element name="html:input">
620 <attribute name="type">
621 <text>checkbox</text>
623 <attribute name="aria-readonly">
626 <attribute name="onclick">
627 <text>return false</text>
629 <if test="rdf:type/@rdf:resource[string()='http://www.w3.org/2002/07/owl#AsymmetricProperty']">
630 <attribute name="checked">
637 <element name="html:td">
638 <element name="html:label">
640 <text>Transitive? </text>
641 <element name="html:input">
642 <attribute name="type">
643 <text>checkbox</text>
645 <attribute name="aria-readonly">
648 <attribute name="onclick">
649 <text>return false</text>
651 <if test="rdf:type/@rdf:resource[string()='http://www.w3.org/2002/07/owl#TransitiveProperty']">
652 <attribute name="checked">
664 <element name="html:dl">
665 <element name="html:div">
666 <element name="html:dt">
667 <element name="html:abbr">
669 <attribute name="title">
670 <text>Internationalized Resource Identifier</text>
675 <element name="html:dd">
676 <element name="html:a">
677 <attribute name="href">
678 <value-of select="$resource-context"/>
680 <element name="html:code">
681 <value-of select="$resource-context"/>
686 <if test="self::owl:NamedIndividual and rdf:type">
687 <element name="html:div">
688 <element name="html:dt">
692 <for-each select="rdf:type">
693 <element name="html:dd">
694 <apply-templates select="(@rdf:resource|*)[1]" mode="Vocab:render-class"/>
699 <if test="$equivalencies">
700 <element name="html:div">
702 <when test="self::rdfs:Datatype">
703 <element name="html:dt">
705 <text>Equivalent Data Range</text>
707 <for-each select="$equivalencies">
708 <element name="html:dd">
709 <apply-templates select="." mode="Vocab:render-class">
710 <with-param name="root" select="$root"/>
711 <with-param name="resource-context" select="$resource-context"/>
716 <when test="self::owl:Class">
717 <element name="html:dt">
719 <text>Equivalent Class</text>
721 <for-each select="$equivalencies">
722 <element name="html:dd">
723 <apply-templates select="." mode="Vocab:render-class">
724 <with-param name="root" select="$root"/>
725 <with-param name="resource-context" select="$resource-context"/>
730 <when test="$kind='property'">
731 <element name="html:dt">
733 <text>Equivalent Property</text>
735 <for-each select="$equivalencies">
736 <element name="html:dd">
737 <apply-templates select="." mode="Vocab:render-property">
738 <with-param name="root" select="$root"/>
739 <with-param name="resource-context" select="$resource-context"/>
745 <element name="html:dt">
749 <for-each select="$equivalencies">
750 <element name="html:dd">
751 <apply-templates select="." mode="Vocab:render-individual">
752 <with-param name="root" select="$root"/>
753 <with-param name="resource-context" select="$resource-context"/>
761 <if test="$inverses">
763 <when test="$kind='class'">
764 <element name="html:div">
765 <element name="html:dt">
767 <text>Complement Of</text>
769 <for-each select="$inverses">
770 <element name="html:dd">
771 <apply-templates select="." mode="Vocab:render-class">
772 <with-param name="root" select="$root"/>
773 <with-param name="resource-context" select="$resource-context"/>
779 <when test="$kind='property'">
780 <element name="html:div">
781 <element name="html:dt">
783 <text>Inverse Of</text>
785 <for-each select="$inverses">
786 <element name="html:dd">
787 <apply-templates select="." mode="Vocab:render-property">
788 <with-param name="root" select="$root"/>
789 <with-param name="resource-context" select="$resource-context"/>
799 <when test="$kind='class'">
800 <element name="html:div">
801 <element name="html:dt">
803 <text>Subclass Of</text>
805 <for-each select="$supers">
806 <element name="html:dd">
807 <apply-templates select="." mode="Vocab:render-class">
808 <with-param name="root" select="$root"/>
809 <with-param name="resource-context" select="$resource-context"/>
815 <when test="$kind='property'">
816 <element name="html:div">
817 <element name="html:dt">
819 <text>Subproperty Of</text>
821 <for-each select="$supers">
822 <element name="html:dd">
823 <apply-templates select="." mode="Vocab:render-property">
824 <with-param name="root" select="$root"/>
825 <with-param name="resource-context" select="$resource-context"/>
833 <if test="owl:hasKey">
834 <element name="html:div">
835 <element name="html:dt">
837 <text>Target For Key</text>
839 <for-each select="owl:hasKey">
840 <element name="html:dd">
841 <for-each select="*">
842 <apply-templates select="." mode="Vocab:render-property"/>
843 <if test="position()<last()">
851 <if test="owl:propertyChainAxiom">
852 <element name="html:div">
853 <element name="html:dt">
855 <text>Property Chain</text>
857 <for-each select="owl:propertyChainAxiom">
858 <element name="html:dd">
859 <for-each select="*">
860 <apply-templates select="." mode="Vocab:render-property"/>
861 <if test="position()<last()">
869 <if test="key('Vocab:subclass', @rdf:about)">
870 <element name="html:div">
871 <element name="html:dt">
873 <text>Superclass Of</text>
875 <for-each select="key('Vocab:subclass', @rdf:about)">
876 <element name="html:dd">
877 <apply-templates select="." mode="Vocab:render-class"/>
882 <if test="key('Vocab:subproperty', @rdf:about)">
883 <element name="html:div">
884 <element name="html:dt">
886 <text>Superproperty Of</text>
888 <for-each select="key('Vocab:subproperty', @rdf:about)">
889 <element name="html:dd">
890 <apply-templates select="." mode="Vocab:render-property"/>
895 <if test="rdfs:domain">
896 <element name="html:div">
897 <element name="html:dt">
901 <for-each select="rdfs:domain">
902 <element name="html:dd">
903 <apply-templates select="(@rdf:resource|*)[1]" mode="Vocab:render-class"/>
908 <if test="rdfs:range">
909 <element name="html:div">
910 <element name="html:dt">
914 <for-each select="rdfs:range">
915 <element name="html:dd">
916 <apply-templates select="(@rdf:resource|*)[1]" mode="Vocab:render-class"/>
921 <if test="$disjoints">
923 <when test="$kind='class'">
924 <element name="html:div">
925 <element name="html:dt">
927 <text>Disjoint With</text>
929 <for-each select="$disjoints">
930 <element name="html:dd">
931 <apply-templates select="." mode="Vocab:render-class">
932 <with-param name="root" select="$root"/>
933 <with-param name="resource-context" select="$resource-context"/>
939 <when test="$kind='property'">
940 <element name="html:div">
941 <element name="html:dt">
943 <text>Property Disjoint With</text>
945 <for-each select="$disjoints">
946 <element name="html:dd">
947 <apply-templates select="." mode="Vocab:render-property">
948 <with-param name="root" select="$root"/>
949 <with-param name="resource-context" select="$resource-context"/>
957 <if test="skos:inScheme">
958 <element name="html:div">
959 <element name="html:dt">
961 <text>In Scheme</text>
963 <for-each select="skos:inScheme">
964 <element name="html:dd">
965 <call-template name="Vocab:link-to">
966 <with-param name="resource" select="string(@rdf:resource)"/>
967 <with-param name="kind" select="'individual'"/>
973 <if test="rdfs:isDefinedBy[not(starts-with(@rdf:resource, $base-iri))]">
974 <element name="html:div">
975 <element name="html:dt">
977 <text>Is Defined By</text>
979 <for-each select="rdfs:isDefinedBy[not(starts-with(@rdf:resource, $base-iri))]">
980 <element name="html:dd">
982 <when test="@rdf:resource">
983 <call-template name="Vocab:link-to">
984 <with-param name="resource" select="string(@rdf:resource)"/>
985 <with-param name="kind" select="'individual'"/>
988 <when test="anno:ResourceSelection">
989 <variable name="base" select="string(anno:ResourceSelection/anno:hasSource/@rdf:resource)"/>
990 <element name="html:a">
991 <attribute name="href">
993 <when test="not(anno:ResourceSelection/anno:hasSelector/anno:FragmentSelector)">
994 <value-of select="$base"/>
996 <when test="contains($base, '#')">
997 <value-of select="substring-before($base, '#')"/>
1000 <value-of select="$base"/>
1003 <if test="anno:ResourceSelection/anno:hasSelector/anno:FragmentSelector">
1005 <value-of select="anno:ResourceSelection/anno:hasSelector/anno:FragmentSelector/rdf:value"/>
1009 <when test="key('Vocab:named-individual', $base)">
1010 <element name="html:cite">
1011 <for-each select="key('Vocab:named-individual', $base)[1]">
1012 <attribute name="lang">
1013 <value-of select="rdfs:label[1]/@xml:lang"/>
1015 <attribute name="xml:lang">
1016 <value-of select="rdfs:label[1]/@xml:lang"/>
1018 <value-of select="rdfs:label[1]"/>
1023 <element name="html:code">
1024 <value-of select="$base"/>
1029 <if test="anno:ResourceSelection/anno:hasSelector/anno:FragmentSelector">
1030 <element name="html:small">
1032 <element name="html:code">
1034 <value-of select="anno:ResourceSelection/anno:hasSelector/anno:FragmentSelector/rdf:value"/>
1049 <if test="vocabstatus:term_status">
1050 <element name="html:div">
1051 <element name="html:dt">
1055 <for-each select="vocabstatus:term_status">
1056 <element name="html:dd">
1057 <apply-templates select="." mode="Vocab:render-value"/>
1064 <apply-templates select="rdfs:comment[1]/html:div" mode="Vocab:render-term"/>
1065 <if test="self::owl:NamedIndividual and (//rdfs:isDefinedBy|//rdfs:isDefinedBy/anno:ResourceSelection/anno:hasSource)[string(@rdf:resource)=string(current()/@rdf:about)]">
1066 <call-template name="Vocab:list-all-terms">
1067 <with-param name="source" select="@rdf:about"/>
1071 <template match="html:a[@data-curie[not(contains(., '/'))]]/@href" mode="Vocab:render-term" priority="2">
1072 <variable name="base-prefix">
1073 <call-template name="Vocab:prefix">
1074 <with-param name="unprefixed">
1075 <call-template name="Vocab:base"/>
1079 <attribute name="href">
1080 <text>/terms/</text>
1082 <when test="../@data-kind='class'">
1083 <text>classes/</text>
1085 <when test="../@data-kind='property'">
1086 <text>properties/</text>
1089 <text>individuals/</text>
1093 <when test="starts-with(../@data-curie, $base-prefix)">
1094 <value-of select="substring-after(../@data-curie, $base-prefix)"/>
1097 <value-of name="identifier" select="../@data-curie"/>
1103 <template match="@*|node()" mode="Vocab:render-term" priority="0">
1105 <apply-templates select="@*|node()" mode="Vocab:render-term"/>