문제

는 방법을 알게 될 것입니다 경우에는 XML 을 만들었음 규칙에 있는 내 DTD?

여기에 나 XML

<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE HW SYSTEM "HW.dtd">
<A>
    AA = "BAR"
    AB = "FOO"
    AC = "1"
    <C>
        <B/>
        CA = "Name"
    </C>
    <D>Element</D>
</A>

그리고 여기 나 DTD

<?xml version="1.0" encoding="ISO-8859-1"?>
<!ELEMENT A (B* |C+,D)>
<ATTLIST A
    AA CDATA #REQUIRED
    AB CDATA #REQUIRED
    AC(0|1|2) #REQUIRED
>
<!ELEMENT B EMPTY>
<!ATTLIST C(B)>
<!ATTLIST C
    CA CDATA #REQUIRED
>
<!ELEMENT D (#PCDATA)>

나 XML 올바른지 DTD?

도움이 되었습니까?

해결책

당신을 사용할 필요가 있는 XML 검사

온라인 버전이 http://www.xmlvalidation.com/, 많이 있는 도구가 이렇게도

에 따라 검사기에서,당신의 DTD 유효하지 않은

나는 시도를 해결하 DTD,여기에 고정 버전

<?xml version="1.0" encoding="ISO-8859-1"?>
<!ELEMENT A (B* | (C+,D))>
<!ATTLIST A
    AA CDATA #REQUIRED
    AB CDATA #REQUIRED
    AC (0|1|2) #REQUIRED
>
<!ELEMENT B EMPTY>
<!ELEMENT C EMPTY>
<!ATTLIST C
    CA CDATA #REQUIRED
>
<!ELEMENT D (#PCDATA)>

문제 DTD 게재되었:

로 볼 수 당신이 필요 괄호 주변 C+,D 도 <ATTLIST 위 잘못되었으로 목록을 지정하의 특성 <!ATTLIST 참고!되었습니다.

또한 귀하의 DTD 했

<!ELEMENT B EMPTY>
<!ATTLIST C
    CA CDATA #REQUIRED
>

지 못한 검사로 당신의 특성 목록에서 요 C <!ATTLIST C 그러나지 않았을 정의는 요소에서 C DTD,그러므로 내가 그것을 변경하기

<!ELEMENT C EMPTY>
<!ATTLIST C
    CA CDATA #REQUIRED
>

이것은 당신의 유효한 DTD

또한 XML 은 잘못을에서 꽤 몇 가지 방법

예를 들어 당신의 DTD specifices

<!ATTLIST A
    AA CDATA #REQUIRED
    AB CDATA #REQUIRED
    AC (0|1|2) #REQUIRED
>

을 의미하는 요소는 특성이 있어야 합 AA BB AC 그들이 필요한 AC 특성이 있어야 하 0 또는 1 또는 2

당신이 당신

<A>
    AA = "BAR"
    AB = "FOO"
    AC = "1"

는지를 지정하 XML 특성 요소,속성을 지정해야

<A AA="BAR" AB="FOO" AC="1">

이는 당신이 당신의 숙제를 할 수 있도록

heres 링크 http://www.quackit.com/xml/tutorial/dtd_introduction.cfm 을 DTD 튜토리얼이 도움을 만들 XML 문서의 유효성을 검사하는 그것에 대하여

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top