Notes on XML

XML, XML Schema, Web Services µîÀ» ´Ù·ç¸é¼­ °ü·ÃµÈ ÆÁµéÀ» Á¤¸®ÇÏ°í ÀÖ½À´Ï´Ù.

1. XML Catalog Management

XMLÀÇ DTD³ª XML Schema ¹®¼­ÀÇ À§Ä¡¸¦ ³»ºÎÀûÀ¸·Î(ÇÁ·Î±×·¡¹ÖÀûÀ¸·Î) Çؼ®ÇÏ´Â ±âº»ÀûÀÎ ¹æ¹ýÀº EntityResolver¸¦ Á÷Á¢ ±¸ÇöÇÏ´Â °ÍÀÔ´Ï´Ù.
EntityResolver¿¡¼­ DTDÀÇ public id³ª system id¸¦ ã°Å³ª XML SchemaÀÇ system id¸¦ ã¾Æ¼­ ÇÁ·Î±×·¥ÀÌ ¾Ë°í ÀÖ´Â À§Ä¡ÀÇ ¹®¼­¸¦ ã¾ÆÁÖ´Â ¹æ¹ýÀÌ °¡Àå ¼Õ½±°Ô Àû¿ëÇÒ ¼ö ÀÖ´Â ¹æ¹ýÀÔ´Ï´Ù.
ÇÏÁö¸¸, ÀÌ°ÍÀº °£´ÜÇÑ ½Ã½ºÅÛÀÎ °æ¿ì ÃæºÐÇÑ ÇØ°áÃ¥ÀÌ µÉ ¼ö ÀÖÁö¸¸,(¿¹¸¦ µé¸é ƯÁ¤ µð·ºÅ丮ÀÇ ÆÄÀÏÀ̳ª JAR ÆÄÀÏ ¾ÈÀÇ Æ¯Á¤ À§Ä¡ÀÇ ¸®¼Ò½º¸¦ Àоî¿Àµµ·Ï ÇÏ´Â ¹æ¹ý) º¹ÀâÇÑ ½Ã½ºÅÛÀÇ °æ¿ì¿¡´Â º°µµ·Î ¸ÅÇÎ Á¤º¸¸¦ ³»ºÎÀûÀ¸·Î °ü¸®ÇÒ ÇÊ¿ä°¡ »ý±é´Ï´Ù.
À̸¦ À§ÇØ XMLÀÇ Entity ȤÀº URI¸¦ ÇÁ·Î±×·¡¹ÖÀûÀ¸·Î Çؼ®Çϱâ À§ÇÑ Ç¥ÁØÀûÀÎ ¹æ¹ý Áß Çϳª·Î XML Catalog°¡ OASIS¿¡¼­ Ç¥ÁØÈ­µÇ¾î ÀÖ½À´Ï´Ù.
dtdÀÇ public id³ª system id¸¦ Çؼ®ÇØ¾ß Çϰųª, XML SchemaÀÇ schema locationÀ» Çؼ®ÇØ¾ß ÇÏ´Â µî ÀÏÁ¾ÀÇ XML repository¸¦ ³»ºÎÀûÀ¸·Î ó¸®ÇØ¾ß ÇÏ´Â ¸¹Àº ÇÁ·Î±×·¥¿¡¼­ ÀÌ·¯ÇÑ ±â´ÉÀ» ÇÊ¿ä·Î ÇÒ °ÍÀÔ´Ï´Ù.

XML Catalogs Specification
ApacheÀÇ Xerces Æļ­(v2.6.1)°¡ ÀÌ Ç¥ÁØ¿¡ ´ëÇÑ Áö¿øÀ» ³»ÀåÇÏ°í À־ »ç¿ëÇÏ´Â µ¥ µµ¿òÀÌ µÉ °Í °°½À´Ï´Ù.

Using XML Catalogs

2. XML Parser and Document Model

DOM, JDOM, Dom4J µî »ç¿ë°¡´ÉÇÑ ¸î °¡Áö Doucment Model¿¡ ´ëÇÑ ºñ±³°¡ Àֳ׿ä.
SosnoskiÀÇ ¸»´ë·Î JDOM¿¡ ºñÇؼ­´Â Dom4J°¡ ¼º´É ¸é¿¡¼­ ÈξÀ ¿ì¼öÇÏ°í, ¶Ç Á»´õ ÇÁ·Î±×·¡¹ÖÀûÀÎ Ãø¸é¿¡¼­ À¯¿¬ÇÑ °Í °°½À´Ï´Ù. °¢ XML ¿ä¼ÒµéÀÌ DOM°ú Dom4J´Â ÀÎÅÍÆäÀ̽º·Î ¼±¾ðÀÌ µÇ¾î ÀÖ°í, JDOMÀº Ŭ·¡½º·Î ¼³°èµÇ¾î Àִµ¥ ½ÇÁ¦ °³¹ß¿¡¼­ ºÎ´ÚÄ¡°Ô µÇ´Â °ÍÀº ÀÎÅÍÆäÀ̽ºÀÇ »ó¼Ó¼ºÀÌ Å¬·¡½ºº¸´Ù ÈξÀ ³ô±â ¶§¹®¿¡ Äڵ尡 ±ò²ûÇØÁø´Ù´Â °ÍÀÔ´Ï´Ù. °Ô´Ù°¡ JDOM°ú Dom4J°¡ ¸ðµÎ °ø°³ ¼Ò½º ÇÁ·ÎÁ§Æ®ÀÌÁö¸¸, JDOMÀº contributor°¡ ¸¹Áö ¾Ê°í ´ú È°¼ºÈ­µÇ¾î ÀÖ´Â ¹Ý¸é¿¡ Dom4J°¡ Á»´õ È°¼ºÈ­µÇ°í Á¡Á¡ ´õ ¸¹Àº ÇÁ·ÎÁ§Æ®¿¡ »ç¿ëµÇ´Â °ÍÀ¸·Î º¸ÀÔ´Ï´Ù.

XML and Java technologies: Java document model usage

¾ÆÁÖ °£´ÜÇÑ (ÈçÈ÷ »ç¿ëµÇ´Â) XML ¹®¼­¸¦ ÆĽÌÇÏ´Â µ¥ Dom4J°¡ DOMÀ̳ª JDOM¿¡ ºñÇØ µÎ ¹è ÀÌ»ó »¡¶úÀ¸¸ç, DOM°ú JDOMÀº ½Ã°£ÀÌ ºñ½ÁÇÏ°Ô °É¸®±ä ÇßÁö¸¸, ¿¹»ó¹ÛÀ¸·Î DOMÀÌ Á¶±Ý ´õ »¡¶ú½À´Ï´Ù. »ç¿ëÇÑ XML ¹®¼­¿¡ µû¶ó Â÷ÀÌ°¡ ÀÖÀ» ¼ø ÀÖ°ÚÁö¸¸, ¿¹»ó¹ÛÀÇ °á°ú°¡ ³ªÅ¸³ª´Â ¿øÀÎÀº µ¿ÀÏÇÑ ±â´ÉÀ» ±¸ÇöÇÏ´Â µ¥ JDOMÀÌ Á»´õ Ŭ·¡½º ij½ºÆÃÀ̳ª instanceof °Ë»ç¸¦ ¸¹ÀÌ ¿ä±¸ÇÏ´Â ±¸Á¶À̱⠶§¹®ÀÎ °ÍÀ¸·Î »ý°¢µË´Ï´Ù.
- by yoonforh 2004-02-19 15:40:05

3. XPath using Jaxen

How to use Jaxen to implement custom XPath functions? Below is the answer from Jaxen intro slides.

Like most other things in XPath, there is a function context that contains the core library of functions. The set of functions available within an expression is extensible.

XSLT has added the document(url) function. Other technologies, such as XPointer and BPEL4WS add even more functions to the XPath function context.
An extensible function context is supported in jaxen through the FunctionContext interface.

package org.jaxen;
public interface FunctionContext
{
    Function getFunction(String namepsaceUri,
                         String prefix,
                         String localName)
        throws UnresolvableException;
}
The three parameters to the getFunction(...) method are:
  1. namespaceUri The namespace URI associated with the prefix as determined by the current NamespaceContext.
  2. prefix The actual prefix used in the XPath expression.
  3. localName The portion of the variable name that is not the namespace prefix.

Java XPath Engine : Jaxen
Introduction to XPath in Java using Jaxen

- by yoonforh 2004-02-20 01:11:41

4. XML reading/composing with Emacs

See excellent nxml-mode written by the famous XML guru, James Clark!!!
We can enjoy much more fun in our XML life!

Emacs Resources

- by yoonforh 2004-02-19 15:43:47


[Class Loader, Dynamic Proxy, XML, JDBC, JNDI, LDAP, Transaction, Security, Cryptography, SSL, Authentication, Login, Authorization, CORBA, RMI, RMI-IIOP, ... º»°ÝÀûÀÎ ÀÚ¹Ù °³¹ßÀÚ·Î °¡±â À§ÇÑ (Ã¥) ÀÚ¹Ù 2 SDK 1.4 ½ÃÀÛ ±×¸®°í ¿Ï¼º]

Yoon Kyung Koo <yoonforh at yahoo dot com>
ÀÌ ÆäÀÌÁö´Â 2004³â 2¿ù 12ÀÏ¿¡ óÀ½ ¸¸µé¾îÁ³½À´Ï´Ù.
Last modified: Fri Feb 20 01:14:08 KST 2004