0
DTD와 특정 일 전에 모든 요소 개수 : XPath를 사용는 XPath와 DTD
<!ELEMENT PLAY (TITLE, FM, PERSONAE, SCNDESCR, PLAYSUBT, INDUCT?, PROLOGUE?, ACT+, EPILOGUE?)>
<!ELEMENT FM (P+)>
<!ELEMENT PERSONAE (TITLE, (PERSONA | PGROUP)+)>
<!ELEMENT PGROUP (PERSONA+, GRPDESCR)>
<!ELEMENT INDUCT (TITLE, SUBTITLE*, (SCENE+|(SPEECH|STAGEDIR|SUBHEAD)+))>
<!ELEMENT ACT (TITLE, SUBTITLE*, PROLOGUE?, SCENE+, EPILOGUE?)>
<!ELEMENT SCENE (TITLE, SUBTITLE*, (SPEECH | STAGEDIR | SUBHEAD)+)>
<!ELEMENT PROLOGUE (TITLE, SUBTITLE*, (STAGEDIR | SPEECH)+)>
<!ELEMENT EPILOGUE (TITLE, SUBTITLE*, (STAGEDIR | SPEECH)+)>
<!ELEMENT SPEECH (SPEAKER+, (LINE | STAGEDIR | SUBHEAD)+)>
<!ELEMENT LINE (#PCDATA | STAGEDIR)*>
을, 나는 그가 말한다 "하기 위해, 또는 수 없다"전에 모든 햄릿의 연설을 계산해야합니다. 햄릿이 SPEAKER 태그 아래에 있고, SPEECH 태그 아래에 음성이 있습니다. LINE 태그 아래에 있습니다.
/PLAY/ACT/SCENE/SPEECH[contains(LINE, 'To be')][contains(SPEAKER, 'HAMLET')]