2013-07-23 1 views
1

나는 (DTD 파일의 내부) XML의 조각을 찾고 있어요 :xml DTD 정확성, XML 중괄호를 선언 할 때 둥근 중괄호 안에 둥근 중괄호를 사용하는 이유는 무엇입니까?

<!ELEMENT entry ((node1?, node2?, node3?), node4, node5?, (node6 | node16)?, 
(node17, node18?, (node19, node20)?)*, node21?, node22?, node23*, node24*, 
((node25) | (node26?, node27?))?, node28*, node29?, node30*, node31*)> 

라운드 중괄호 (node1?, node2?, node3?)을 가진 뒤에 추론은 무엇입니까? 즉, node1과 node2 및 node3은 선택 사항입니까? ->하지만 그들은 물음표가 이미 추가되어 있다는 사실에 의해 선택적으로 alreday가 아닌가?

답변

2

괄호는 그룹화에 사용됩니다. 그룹화를 사용하면 (node6 | node16)?과 같이 한정어를 패턴 부분에 배치하거나 (node25) | (node26?, node27?)과 같이 우선 순위를 제어 할 수 있습니다. (node1?, node2?, node3?)의 경우 괄호는 완전히 중복됩니다. 그것은 node1?, node2?, node3?과 같은 것을 의미합니다.

사람이 읽는 것이 더 쉬워 보이거나 패턴의 관련 부분을 강조한다고 생각하기 때문에 사람이 괄호를 추가하는 경우가 있습니다. 때때로 사람들은 정당한 이유없이 너무 많이 입력합니다.

+0

감사합니다. 나는 그 선을 따라 뭔가를 생각했다. – user2568737