'XML'에 해당되는 글 8

  1. 2010.01.01 The element type must be terminated by the matching end-tag.
  2. 2009.12.01 apache-tomcat-4.1.37-LE-jdk1.4
  3. 2009.12.01 XML API 라이브러리
  4. 2009.11.22 SAP 시스템과 연동
  5. 2009.11.06 복잡하고 여러 개의 폼 데이터를 한번에 처리하기
  6. 2009.08.23 convert html to xml
  7. 2009.05.04 [IBM dWs] Ajax에서 XML 처리하기
  8. 2009.04.14 Javascript 로 XML 다루기 1

The element type must be terminated by the matching end-tag.

org.jdom.input.JDOMParseException: Error on line 1: The element type "BUY_ADDR" must be terminated by the matching end-tag "</BUY_ADDR>".

<BUY_ADDR>영등포?/BUY_ADDR>

한글이 깨져서 파싱을 못한 경우임.

apache-tomcat-4.1.37-LE-jdk1.4

What's the difference between Tomcat 4.1.x and Tomcat 4.1.X-LE-jdk1.4?
Tomcat LE버전과 Full 버전 차이점 

[todo] 그런데 이 환경에서 xml 관련 라이브러리를 사용하려면?

XML API 라이브러리

xml-apis.jar
xmlParserAPIs.jar

파일크기도 동일하고 들어있는 클래스도 동일함.

META-INF/MANIFEST.MF
Manifest-Version: 1.0
Created-By: 1.3.1 (IBM Corporation)

Name: org/apache/xmlcommons/Version
Comment: XmlCommonsExternal for http://xml.apache.org/ subproject's use
Implementation-Title: org.apache.xmlcommons.Version
Implementation-Version: 1.2.01
Implementation-Vendor: Apache Software Foundation
Implementation-URL: http://xml.apache.org/commons/

Name: org/xml/sax/
Comment: xml-commons for http://xml.apache.org/ subproject's use
Specification-Title: Simple API for XML
Specification-Vendor: David Megginson
Specification-Version: 2.0.1
Implementation-Title: org.xml.sax
Implementation-Version: 2.0.1
Implementation-Vendor: David Megginson
Implementation-URL: http://www.saxproject.org/

Name: org/w3c/dom/
Comment: xml-commons for http://xml.apache.org/ subproject's use
Specification-Title: Document Object Model, Level 2 Core
Specification-Vendor: World Wide Web Consortium
Specification-Version: 1.0
Implementation-Title: org.w3c.dom
Implementation-Version: 1.0
Implementation-Vendor: World Wide Web Consortium
Implementation-URL: http://www.w3c.org/DOM/

Name: javax/xml/parsers/
Comment: xml-commons for http://xml.apache.org/ subproject's use
Specification-Title: Java API for XML Processing
Specification-Version: 1.2
Specification-Vendor: Sun Microsystems Inc.
Implementation-Title: javax.xml.transform
Implementation-Version: 1.2.01
Implementation-Vendor: Sun Microsystems Inc.
Implementation-URL: http://java.sun.com/xml/jaxp.html

Name: javax/xml/transform/
Comment: xml-commons for http://xml.apache.org/ subproject's use
Specification-Title: Java API for XML Processing
Specification-Version: 1.2
Specification-Vendor: Sun Microsystems Inc.
Implementation-Title: javax.xml.transform
Implementation-Version: 1.2.01
Implementation-Vendor: Sun Microsystems Inc.
Implementation-URL: http://java.sun.com/xml/jaxp.html

SAP 시스템과 연동

1. JCo를 이용해서 RFC 호출
2. EAI 이용 XML 데이터 전달
3. SAP에서 소켓통신이 되나 보다. (D사에서 http를 이용해서 XML 데이터 전달했음)
4. 웹페이지 호출 가능
5. JCo Server

복잡하고 여러 개의 폼 데이터를 한번에 처리하기

복잡한 업무화면에서 여러 개의 폼 또는 iframe으로 구성될 수 있다.
이렇게 나뉘어진 데이터를 한번에 서버로 전송해서 트랜잭션 처리를 해야 하는 경우.
데이터의 개수가 가변적이고, 많아서 식별하기가 힘든 경우 좋은 방법

데이터를 XML로 만들어서 전송하면 좋을거 같다.

데이터 개수가 많더라도 구분하기 쉽고
한 번에 모든 데이터를 처리할 수 있으므로 트랜잭션 처리가 쉽다.
  • 예전에 특수문자를 이용한 구분자를 사용했었는데 데이터가 제한적이었다.[각주:1]
  • 설문조사 프로그램 만들때 특수문자로 구분한 문자열을 파일에 저장했는데 이 때 사용했어도 좋았을거 같네.
  • 데이터 업로드시 항목은 정해져 있지만 개수가 변경되는 데이터를 입력받아서 검증한 뒤 다시 서버로 전송할 때 사용(견적 데이터)

XML이 환경설정외에 쓸만한 곳을 찾았다.

[todo] 예전에 어디 잡지에 xml 을 잘 적용한 글을 썼던거 같은데...




  1. 첫 팀 프로젝트인 포푸리 [본문으로]

convert html to xml


[IBM dWs] Ajax에서 XML 처리하기

웹에서 XML 자료를 가져온 후 파이프라인을 거쳐 원하는 정보를 정해진 형식으로 추출해서 출력하는 여러 방법을 보여준다.

Ajax에서 XML 처리하기, Part 1: 네 가지 방법
Ajax에서 XML 처리하기, Part 2: Ajax와 XSLT를 이용하는 방법 두 가지 

Ajax에서 XML 처리하기, Part 2- Ajax와 XSLT를 이용하는 방법 두 가지.pdf

Ajax에서 XML 처리하기, Part 3: JSON을 사용하고 프록시 피하기


이 글에서는 간단한 Ajax 라이브러리를 만들어 사용한다.(ajax-simple.js)
미국립 기상청(NWS) 사이트에서 날씨 정보를 가져온다.

접근 방법 1. DOM 트리 탐색
웹프록시를 거쳐서 데이터를 가져온 뒤 브라우저가 DOM에서 값을 추출해서 보여준다.

- Ajax 의 XMLHttpRequest 객체는 같은 도메인으로만 요청이 가능한데 이를 해결하기 위해 웹 프록시를 사용한다.
웹 프록시는 한 서버로 보낸 요청을 다른 서버로 전달하는 방법이다.
아파치 웹 서버에서 프록시는 ProxyPass 규칙으로 구현한다.(웹 서버 구성을 바꿀 권한이 있어야 하겠지)

- DOM에서 값을 추출하기
접근 방식 2: 서버쪽 XSLT
서버에서 데이터를 가져온 뒤 XSLT 를 사용하여 XML 을 HTML 로 변환한 다음, HTML 코드를 브라우저로 전송한다.

- 리눅스에 있는 xsltproc 이라는 명령행 XSLT 프로세서를 이용한다.
Perl 스크립트로 xsltproc, wget 을 사용해서 파이프라인 구성 =-=> wget 은 자바 URLConnection 으로 가능하지 않나?

접근 방식 3: 클라이언트쪽 XSLT
웹프록시를 거쳐 데이터를 가져온 뒤 브라우저에서 XSLT 변환을 해서 보여준다.

- 인터넷 익스플로러, 파이어폭스, 오페라 등 주요 브라우저는 모두 나름대로 XSLT 처리를 지원한다.
파이어폭스와 오페라는 XSLTProcessor 객체를 제공한다. 인터넷 익스플로러는 문서 모델을 확장하여 XSLT 처리를 지원한다.
 
접근 방식 4: JSON과 동적 script 태그
야후 파이프를 거쳐 데이터를 가져온 뒤 브라우저에서 보여준다.

- Ajax 동일 도메인 제약 문제(same domain problem) 해결하기
(아파치 ProxyPass 규칙을 설정하는 등) 웹 서버 구성을 변경
다른 서버의 데이터를 긁어오는 서버 스크립트를 작성
야후 파이프(Yahoo! Pipes) 같은 외부 서비스 이용(여기에는 script tag hack 같은 기법이 추가된다.)

- script 태그를 동적으로 생성하기
 페이지를 읽은 후에 자바스크립트 코드를 읽어들인다. =-=> onload 에 두면 안되나?
- JSON



Javascript 로 XML 다루기

- XML 파일 : IE

- XML 파일 : FF

- XML 데이터 : IE

- XML 데이터 : FF

=-=> 클래스로 만들어서 IE의 xml 속성도 구현할 필요가 있음.