XML Schema import ÔªËØ
¶¨ÒåºÍÓ÷¨
import ÔªËØÓÃÓÚÏòÒ»¸öÎĵµÌí¼Ó´øÓв»Í¬Ä¿±êÃüÃû¿Õ¼äµÄ¶à¸ö schema¡£
ÔªËØÐÅÏ¢
³öÏÖ´ÎÊý
ÎÞÏÞÖÆ
¸¸ÔªËØ
schema
ÄÚÈÝ
annotation
Óï·¨
<import
id=ID
namespace=anyURI
schemaLocation=anyURI
any attributes
>
(annotation?)
</import>
ÊôÐÔ
ÃèÊö
id
¿ÉÑ¡¡£¹æ¶¨¸ÃÔªËØµÄΨһµÄ ID¡£
namespace
±ØÐè¡£¹æ¶¨Òªµ¼ÈëµÄÃüÃû¿Õ¼äµÄ URI¡£
schemaLocation
¿ÉÑ¡¡£¹æ¶¨±»µ¼ÈëµÄÃüÃû¿Õ¼äµÄ URI¡£
any attributes
¿ÉÑ¡¡£¹æ¶¨´øÓÐ non-schema ÃüÃû¿Õ¼äµÄÈÎºÎÆäËûÊôÐÔ¡£
£¨? ·ûºÅÉùÃ÷ÔÚ import ÔªËØÖУ¬¸ÃÔªËØ¿É³öÏÖÁã´Î»òÒ»´Î¡££©
ʵÀý
ÏÂÃæµÄÀý×Óչʾµ¼ÈëÒ»¸öÃüÃû¿Õ¼ä£º
<?xml version="1.0"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:import namespace="http://www.w3school.com.cn/schema"/>
..
..
..
</xs:schema>
XML Schema include ÔªËØ
¶¨ÒåºÍÓ÷¨
include ÔªËØÓÃÓÚÏòÒ»¸öÎĵµÌí¼Ó´øÓÐÏàͬĿ±êÃüÃû¿Õ¼äµÄ¶à¸ö schem ......
XML Schema union ÔªËØ
¶¨ÒåºÍÓ÷¨
union ÔªËØ¶¨Òå¶à¸ö simpleType ¶¨ÒåµÄ¼¯ºÏ¡£
ÔªËØÐÅÏ¢
³öÏÖ´ÎÊý
Ò»´Î
¸¸ÔªËØ
simpleType
ÄÚÈÝ
annotation¡¢simpleType
Óï·¨
<union
id=ID
memberTypes="list of QNames"
any attributes
>
(annotation?,(simpleType*))
</union>
£¨? ·ûºÅÉùÃ÷ÔÚ union ÔªËØÖиÃÔªËØ¿É³öÏÖÁã´Î»òÒ»´Î¡££©
ÊôÐÔ
ÃèÊö
id
¿ÉÑ¡¡£¹æ¶¨¸ÃÔªËØµÄΨһµÄ ID¡£
memberTypes
¿ÉÑ¡¡£¹æ¶¨ÔÚ schema Öж¨ÒåµÄÄÚÖÃÊý¾ÝÀàÐÍ»ò simpleType ÔªËØµÄÃû³ÆÁÐ±í¡£
any attributes
¿ÉÑ¡¡£¹æ¶¨´øÓÐ non-schema ÃüÃû¿Õ¼äµÄÈÎºÎÆäËûÊôÐÔ¡£
ʵÀý
Àý×Ó 1
±¾ÀýÊÇÒ»¸öºÏ²¢ÁËÁ½¸ö¼òµ¥ÀàÐ͵ļòµ¥ÀàÐÍ£º
<xs:element name="jeans_size">
<xs:simpleType>
<xs:union memberTypes="sizebyno sizebystring" />
</xs:simpleType>
</xs:element>
<xs:simpleType name="sizebyno">
<xs:restriction&nbs ......
ÔÏÈÒ»Ö±ÓÃBinaryFormatterÀ´ÐòÁл¯Í¦ºÃ£¬¿ÉÊÇ×î½ü·¢ÏÖÔÚWinCEÏÂÊÇûÓа취½øÐÐBinaryFormatter²Ù×÷£¬ºÜ²»Ë¬£¬Ö»ÄܸijÉÁËBinaryWriterºÍBinaryReaderÀ´¶Áд£¬Í»È»Ïëµ½Äܲ»ÄÜÓÃXMLÀ´ÐòÁл¯£¿ÓÚÊÇÔÚÍøÉϲéÁËЩ×ÊÁϱãдÁËЩʵ¼ùÐÔ´úÂ룬×öЩ¼Ç¼£¬±ÜÃâÒÔºóÍü¼Ç¡£
ÐòÁл¯¶ÔÏó
public class People
{
[XmlAttribute("NAME")]
public string Name
{ set; get; }
[XmlAttribute("AGE")]
public int Age
{ set; get; }
}
[XmlRoot("Root")]
public class Student : People
{
[XmlElement("CLASS")]
public string Class
{ set; g ......
ÔÏÈÒ»Ö±ÓÃBinaryFormatterÀ´ÐòÁл¯Í¦ºÃ£¬¿ÉÊÇ×î½ü·¢ÏÖÔÚWinCEÏÂÊÇûÓа취½øÐÐBinaryFormatter²Ù×÷£¬ºÜ²»Ë¬£¬Ö»ÄܸijÉÁËBinaryWriterºÍBinaryReaderÀ´¶Áд£¬Í»È»Ïëµ½Äܲ»ÄÜÓÃXMLÀ´ÐòÁл¯£¿ÓÚÊÇÔÚÍøÉϲéÁËЩ×ÊÁϱãдÁËЩʵ¼ùÐÔ´úÂ룬×öЩ¼Ç¼£¬±ÜÃâÒÔºóÍü¼Ç¡£
ÐòÁл¯¶ÔÏó
public class People
{
[XmlAttribute("NAME")]
public string Name
{ set; get; }
[XmlAttribute("AGE")]
public int Age
{ set; get; }
}
[XmlRoot("Root")]
public class Student : People
{
[XmlElement("CLASS")]
public string Class
{ set; g ......
XML½âÎöÆ÷µÄ×÷ÓãºÎªÓ¦ÓóÌÐò´ÓXMLÎļþÖнâÎö³öËùÐèÒªµÄÊý¾Ý¡£
ÏÂÃæÍ¨¹ýÒ»¸öÀý×Ó£¬À´Á˽⣬ÈçºÎÓÃXML½âÎöÆ÷£¬À´½âÎöÒ»¸öXMLÎļþÖеÄÊý¾Ý¡£
1¡¢Types.xml£¨ÏÔʾ¼ªËûµÄÀà±ð£©
<?xml version="1.0" encoding="UTF-8"?>
<types>
<name>µç¼ªËû
<music>ÍæÒ¡¹ö</music>
</name>
<name>ľ¼ªËû
<music>ÍæÃñÒ¥</music>
</name>
</types>
2¡¢MyHandler.java (×Ô¼ºÐ´Ò»¸ö±¨´íµÄʼþ´¦ÀíÀ࣬ÓÃÀ´±¨¸æXML ½âÎö´íÎó¡£)
package XmlTest;
import org.xml.sax.SAXException;
import org.xml.sax.SAXParseException;
import org.xml.sax.helpers.DefaultHandler;
/**
* @author ÍõÓÀÌÎ
*
*/
class MyHandler extends DefaultHandler
{
String errorMessage=null;
public void error(SAXParseException e) throws SAXException
{
errorMessage=e.getMessage();
System.out.println("Ò»°ã´íÎó£º"+errorMessage);
}
public void fatalError(SAXParseException e) throws SAXException
{
errorMessage=e.getMessage();
System.out.println("ÖÂÃü´íÎó£º"+errorMessa ......
Ö¸ÕëÊÇCµÄÁé»ê£¬ÕýÊÇÖ¸ÕëʹµÃC´æÔÚÁËÕâô¶àÄ꣬¶øÇÒ½«³¤ÆÚ´æÔÚÏÂÈ¥¡£ÊÂʵÉÏ£¬ÎÒ×Ô¼º²»ÓÃCÓïÑÔд³ÌÐòÒѾÓÐÒ»ÄêÁË£¬¹¤×÷ÖнӴ¥µ½µÄÖ»ÓÐjava£¬pythonºÍjavascript.×î½üÓÃCÍê³ÉÁËÒ»ÏÂÀàËÆÓÚOOÖеķâ×°£¨¼´"Àà"£©µÄ¸ÅÄ˳±ã°ÑÖ¸Õ븴ϰÁËÏ£¬¸Ð¾õÓбØÒª¼Çһϡ£
±¾ÎÄÖеÄÀý×ÓÓÐÕâÑùÁ½¸ö¸ÅÄÈÎÎñ£¨Task£©£¬Ö´ÐÐÆ÷£¨Executor£©¡£ÈÎÎñÓÐÃû³Æ£¨taskName£©£¬²¢ÇÒ¿ÉÒÔÖ´ÐУ¨execute£©¡£ ¶øÖ´ÐÐÆ÷Óë¾ßÌåÈÎÎñËùÖ´ÐеÄÄÚÈÝÎ޹أ¬Ö»Êǻص÷£¨callback£©ÈÎÎñµÄÖ´Ðз½·¨£¬ÕâÑùÎÒÃǵÄÖ´ÐÐÆ÷¾Í¿ÉÒÔ×öµÄ±È½ÏͨÓ᣶øÈÎÎñ½Ó¿ÚÖ»ÐèҪʵÏÖÒ»¸öexecute·½·¨¼´¿É£¬ÕâÑùÎÒÃǵÄÈÎÎñ¾Í¿ÉÒÔÊǶàÖÖ¶àÑùµÄ£¬¿ÉÒÔͨ¹ýͳһµÄ½Ó¿Úset¸øÖ´ÐÐÆ÷Ö´ÐС£ÕâÊÇÃæÏò¶ÔÏóÖлù±¾µÄ˼Ï룬ҲÊDZȽϳ£ÓõijéÏó·½Ê½¡£ÏÂÃæÎÒÃǾßÌå¿´ÏÂÀý×Ó¡£
¿ÉÒÔÏëÏó£¬mainº¯Êý´ó¸ÅÊÇÕâ¸öÑù×Ó£º
int¡¡main(int¡¡argc,¡¡char**¡¡argv)¡¡{
¡¡¡¡¡¡¡¡Task¡¡*t1¡¡=¡¡TaskConstruction("Task1",¡¡run);//´Ë´¦µÄrunÊÇÒ»¸öº¯ÊýÖ¸Õë
¡¡¡¡¡¡¡¡Executor¡¡*exe¡¡=¡¡ExecutorConstruction();
¡¡¡¡¡¡¡¡exe->setTask(t1);
¡¡¡¡¡¡¡¡exe->begin();
¡¡¡¡¡¡¡¡exe->cancel();
¡¡¡¡¡¡¡¡Task¡¡*t2¡¡ ......
CÓïÑÔÖпɱä²ÎÊýµÄÓ÷¨
ÎÒÃÇÔÚCÓïÑÔ±à³ÌÖлáÓöµ½Ò»Ð©²ÎÊý¸öÊý¿É±äµÄº¯Êý,ÀýÈçprintf()
Õâ¸öº¯Êý,ËüµÄ¶¨ÒåÊÇÕâÑùµÄ:
int printf( const char* format, ...);
Ëü³ýÁËÓÐÒ»¸ö²ÎÊýformat¹Ì¶¨ÒÔÍâ,ºóÃæ¸úµÄ²ÎÊýµÄ¸öÊýºÍÀàÐÍÊÇ
¿É±äµÄ,ÀýÈçÎÒÃÇ¿ÉÒÔÓÐÒÔϲ»Í¬µÄµ÷Ó÷½·¨:
printf("%d",i);
printf("%s",s);
printf("the number is %d ,string is:%s", i, s);
¾¿¾¹ÈçºÎд¿É±ä²ÎÊýµÄCº¯ÊýÒÔ¼°ÕâЩ¿É±ä²ÎÊýµÄº¯Êý±àÒëÆ÷ÊÇÈçºÎʵ
ÏÖµÄÄØ?±¾ÎľÍÕâ¸öÎÊÌâ½øÐÐһЩ̽ÌÖ,Ï£ÍûÄܶԴó¼ÒÓÐЩ°ïÖú.»áC++µÄ
ÍøÓÑÖªµÀÕâЩÎÊÌâÔÚC++Àï²»´æÔÚ,ÒòΪC++¾ßÓжà̬ÐÔ.µ«C++ÊÇCµÄÒ»¸ö
³¬¼¯,ÒÔϵļ¼ÊõÒ²¿ÉÒÔÓÃÓÚC++µÄ³ÌÐòÖÐ.ÏÞÓÚ±¾È˵Äˮƽ,ÎÄÖÐÈç¹ûÓÐ
²»µ±Ö®´¦,Çë´ó¼ÒÖ¸Õý.
(Ò»)дһ¸ö¼òµ¥µÄ¿É±ä²ÎÊýµÄCº¯Êý
ÏÂÃæÎÒÃÇÀ´Ì½ÌÖÈçºÎдһ¸ö¼òµ¥µÄ¿É±ä²ÎÊýµÄCº¯Êý.д¿É±ä²ÎÊýµÄ
Cº¯ÊýÒªÔÚ³ÌÐòÖÐÓõ½ÒÔÏÂÕâЩºê:
void va_start( va_list arg_ptr, prev_param );
type va_arg( va_list arg_ptr, type );
void va_end( va_list arg_ptr );
vaÔÚÕâÀïÊÇvariable-argument(¿É±ä²ÎÊý)µÄÒâ˼.
ÕâЩºê¶¨ÒåÔÚstdarg.hÖÐ,ËùÒÔÓõ½¿É±ä²ÎÊýµÄ³ÌÐòÓ¦¸Ã°üº¬Õâ¸ö
Í·Îļþ.ÏÂÃæÎÒÃÇÐ´Ò ......