특정 속성 (예 : @test
)을 가진 모든 요소에 대해 속성을 정의하는 방법에 관계없이 초기에 유형 스위치를 실행하려고합니다. 이것은 내가 XQL 파일에 지금까지 무엇을 가지고 :Typeswitch 대소 문자 속성()?
declare function tei2:tei2html($nodes as node()*) {
for $node in $nodes
return
typeswitch ($node)
case attribute(test) return
<b>{ tei2:tei2html($node/node()) }</b>
};
나는 xml 파일 <p test="test">
에서 테스트 속성을 작성했지만 아무 반응이 없습니다 - 나는 <p>
굵게 될 것을 기대하고 있었다. 내가 뭘 놓치고 있니? 이것이 가능합니까 아니면 속성을 CSS 클래스로 변형하는 함수를 만드는 것이 더 좋을까요?
업데이트 된 질문은
나는 tei2html.xql이 typeswitch을 추가 한, 그것은 일종의하지만 확실히, 내가 원하는 않습니다.
case element(tei:div) return
<p>
{
if ($node/@type="subhead") then
attribute class {$node/@type="subhead"}
else
()
,
tei2:tei2html($node/node())
}
</p>
결과는 다음과 같습니다 : 여기
는 새로운 코드입니다. "진정한"그래서<p class="true">SECT. II.</p>
, 대신에이 속성을 추가 할 것 "부제"속성을 추가하는 무슨 일 이니?
은 내가 바보 새 해요 질문
업데이트] 업데이트되었습니다. typeschitch 줄을 다음과 같이 변경하여 문제를 해결했습니다.
attribute class {$node/@type="subhead"}
완료!
대부분의 경우 요소를 켜고이 경우 속성을 확인하려고합니다. – adamretter