2013-01-17 2 views
0

대부분 봄에 ​​DOCTYPE을 선언하지 않습니다. 하지만 xml 파일에 ENTITY을 사용할 수 있도록 XML 컨텍스트 파일에서 DOCTYPE을 선언하고 싶습니다. 예를 들어봄 XML 파일에서 DOCTYPE을 사용하는 방법

:

<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN 2.0//EN" 
        "http://www.springframework.org/dtd/spring-beans-2.0.dtd" 
    [<!ENTITY % crmHome SYSTEM "crm-home.dtd"> %crmHome;] 
> 

이 같은 많은 오류를 제공합니다 ...

- Attribute "xmlns" must be declared for element type "beans". 

- Attribute "xmlns:xsi" must be declared for element type "beans". 

    etc..... 

이를 달성 할 수있는 방법은 무엇입니까

? 당신이 다음 방금 매개 변수 엔티티를 선언하고 http://www.springframework.org/dtd/spring-beans-2.0.dtd을 참조하지 충분한 내부 DTD 부분 집합을 정의 할 수 있습니다 어쨌든 스키마 유효성 검사를 사용하는 경우

답변

2

는 :

<!DOCTYPE beans [ 
    <!ENTITY % crmHome SYSTEM "crm-home.dtd"> 
    %crmHome; 
]> 
<beans xmlns="http://www.springframework.org/schema/beans" 
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
     xsi:schemaLocation=" 
      http://www.springframework.org/schema/beans 
      http://www.springframework.org/schema/beans/spring-beans.xsd"> 
+0

를 얻을 사용 : 요소 유형 "콩"을 선언해야합니다. – Mawia

+0

crm-home.dtd 파일의 모든 요소와 속성 목록을 채워야한다고 생각합니다. – Mawia

+0

@Mawia 스키마에 대해서만 유효성을 검사하고 DTD에 대해서도 유효성을 검사하지 못하도록 XML 구문 분석기를 구성하는 방법이있을 수 있습니다. [xerces 설명서] (http://xerces.apache.org/xerces2-j/)에 몇 가지 예가 있습니다. faq-pcfp.html # faq-4)하지만 스프링 케이스에 적용하는 방법을 모르겠습니다. –

3

이 나를 위해 작동합니다. 나는 오류가 이것으로 스프링 프레임 워크의 V.4.2.1

<?xml version="1.0" encoding="UTF-8"?> 
 
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" 
 
"http://www.springframework.org/dtd/spring-beans.dtd">