1. Trang chủ
  2. » Công Nghệ Thông Tin

XML Step by Step- P19 pot

15 143 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Cấu trúc

  • 00000___07be008c8276e95dbbf4cdee2cdf4385

  • 00002___79c277462295ccdeedc24e5b50330987

  • 00003___7e0229f16eefad21c64fe455ba7840d5

  • 00004___a933fe67c82b988d8a19eb1cf4460489

  • 00005___c78cce8114aad80865103a642f927492

  • 00006___05fca2542d7816c3088c08cb5a953c52

  • 00007___dbcd3471236536641cfe07a8b300c340

  • 00008___51a230a8ae343e365423c24fc4c892b8

  • 00011___81cd371e1c1bacf76929df14a6b72ecd

  • 00012___fa71951b85f2335bba3707db9c9945c3

  • 00013___26bf5c8899f363dbe89421db9772700b

  • 00015___5022a336bf7648f50eb2940bafca422e

  • 00016___8ffef2ab3f4bb8896512f1f52c960d61

  • 00018___b1f3d94f696c5e655031dbac60c8b37d

  • 00020___4c4b41b89831554d0ed8dd83097ce467

  • 00021___0c64d3975047800446fafdd265235893

  • 00022___1f3d089ae9c652aad2afe9c4f573bd2d

  • 00023___4740dcd998da64186e5528f819ce220e

  • 00025___b7b672ade2024f358bfd2d179c77558a

  • 00026___92dda05b322aef279ea8e2bb3247ae41

  • 00027___40313eef7c48a42502c35f6245d97598

  • 00029___6a2229da2f7ad2a89c6e7eeb4e1f0d14

  • 00030___7e5507d2755064a6b2e2b4c0b987641b

  • 00031___cf3da0e8f97dd392043e87fc5ae4593f

  • 00032___91eac5195e31cd5a6022cdc6e4b14f6b

  • 00033___33d8ccbeecdd88d993fe65249b0359ee

  • 00035___cdef2c5e5e588e4e137279c64bc71b53

  • 00036___c823951e12c7da285c8187105bd7a971

  • 00038___cdaf368e1d91100316a46597e6567496

  • 00039___cd2505397f0bb2edd28b22f4a484123f

  • 00040___54c8df44e5864ca869920507a5b26105

  • 00041___4611f2737c4a637b71ae06d401d2cd76

  • 00043___d4e4f989d951d35de0382e120b4b4e19

  • 00044___0fa30a5072ae1086425b8696c8142499

  • 00045___d434437e62a47d05906c4e24a2ce79ba

  • 00046___16afb0554435a9be7c6c791195b06c98

  • 00047___cdcd0ebde96c32c015750a023a28744c

  • 00048___1e76a009ede3ffe83276816004f0f59c

  • 00049___21b65988b7ba745715028e7f65b50cbf

  • 00050___7f3b086353629e6a6c304e929afb7209

  • 00051___f60fe2ef5ce81c2be1e01eb4bb3fba9f

  • 00052___0a86962fd629f749e29f8e3002544138

  • 00053___5a97e02eb10b4dc03ea597f8ac6d7ac6

  • 00056___14ab7a7909284fc6401b19d21537d29c

  • 00057___5f6c898cb2ac1ac0ad4b032580c00844

  • 00058___81a6a0b4992bf7f884bb9f59270852e7

  • 00059___188053450dbd26400de2c0fe0e6dd62c

  • 00060___e4190846d17ef81e3826a0871de71ffb

  • 00061___7bd385ff2b8e6cbfc9dcb68777e1561f

  • 00062___6fece48acf4f08b58afa9b4b8ec6e2c7

  • 00063___5d14fdc588d22e2c868a2bdfc4748378

  • 00064___902ff685222620c1dd2b1b92f54dbafb

  • 00065___e10449efde06e242167ac4a82fa281d9

  • 00066___96cce74f24f7883ee805b4f3669e9a05

  • 00067___066cd22e047fce2c5725e693e4616d2c

  • 00068___a38efa9725ce5691c587d6c86693f60c

  • 00069___67c87fa03c6e81ef8e3076a0a556f1bf

  • 00070___be1599b9b2f01d3ef1708601e5305c8b

  • 00071___077aac04b65b4b09bd9eee0cf602d2e7

  • 00073___db91d036847cd284782f8102d0d30226

  • 00075___347552d272eab581240ca12a63f8df8b

  • 00076___c568dc6735bad69e18abf376a59a325f

  • 00077___2e1012290c983657e4f9b410ebc0b64c

  • 00078___20d300bfc29acfe447daeb59c93b30cd

  • 00079___e15f6f912d51a56fe5cb6fd90eea9c96

  • 00080___3c6b864e647fda3991319c851aab5279

  • 00081___fce256505c2cb5384233649dac023d86

  • 00082___5ba9398b3ebff8ff8ca11989892ff915

  • 00083___b4946b94d61aaf72d0838bdf10af5ac8

  • 00085___e32d5b7ce84396a8aa892a5e87b4c93e

  • 00088___c4a89139ee94f4861239e3152005dec0

  • 00089___647ad2be306267d969c4cdd8e6ed6d9e

  • 00090___1c3463392d1f86fb4c763e5866a34c3f

  • 00091___7cbf1cf841d8c2ca6569e79e35408f84

  • 00093___556f32e761c0f178bc1286f34d9426f0

  • 00094___5a26e56a9385672f1b318341cdb43854

  • 00095___5bff626f10cccce7656a8f010f8944ac

  • 00097___563f97a2b51ba65253e353b1a62495a7

  • 00098___164f62b26bbec199f7a49da01ebb83e7

  • 00099___72ae2c75944b66959bf7e02105197df6

  • 00100___0af2e625881ebb172c11a19e248836d6

  • 00101___22afff2dca889c5107eebb853b74b583

  • 00103___75ce2ab24dff7d14181576fffe09395f

  • 00104___5e2dd566428426287b0541f4139b2be8

  • 00106___65cc5d3de5566589cc7e85237cc3df0e

  • 00107___70c944bc69ea188d7975088014b1bb4a

  • 00108___a0b8b732fc5222e4cadf7cc75cadc48d

  • 00109___8faf9c79c01752ff6d219e1fe54eae15

  • 00110___d82bab581409feea270f38e8087e4d82

  • 00112___e348ce0ec89e86b0eeb8199dfa566a76

  • 00113___ff0c0987c8c681c86732aeb2888eaf3f

  • 00114___df5be5ff959daec1e10663d147ec830f

  • 00115___b19b4d04bd50fc968e04f3eae262cc31

  • 00118___bb69e9e1ae026339cbf80695449133c7

  • 00119___93bbfa20b63dbc80a3f034da82c87988

  • 00120___da8b71bd337e6e577b9b5c1fb5b74b82

  • 00121___1e69f8d6e81eaf85980d287b45cf16dd

  • 00122___bc250eac32f66e0f9441ac7a1bf43507

  • 00127___e35f961ce8ecf2aa0a3d12068b66846d

  • 00128___10badc2d67bc077915fe5400d842db0d

  • 00130___e6625092f4c3eb36c495f51cb0356a3a

  • 00131___bac4ff3810c493a3425e2a810e1a0dd7

  • 00132___bd88eae7a16f27c908345c50ac1d540d

  • 00133___bc8dff5811bb593a839c66306096d60f

  • 00134___67bce0e289ba178cb4a048c2e54f0edb

  • 00135___b282dd4a6f6122ad4aa269d281c69cf4

  • 00136___2ea62ab44365c10fcb3dbdccc3291793

  • 00139___ea1a865d89cbcb941c4db58b23c2d239

  • 00140___ffbbe549d9e8051b881a37c3019cff06

  • 00141___9249403aedfb836b3db67b35e3cba673

  • 00142___cdc3bf65af3a82257274d1728ac38a0a

  • 00143___099a9b209a24ac2b2894f61b4f12a995

  • 00148___41edce29bea5e759793932bae1be497c

  • 00149___c8e2f302c10023ead709cfe71ade5f88

  • 00151___1bcdb5f0f4108c507f57027a4aaa3694

  • 00152___343b3bf70462e15969d6748130567061

  • 00153___88ec6879d6b7017928a0669c205d9539

  • 00154___f269ff02f399d0ab531694e2ea878607

  • 00155___b4995d2c742ce1ed07aec54a4b351af9

  • 00157___10ab4d2c516c109f7b8dd82452eb56e4

  • 00158___56fcfd1e500243d2eb7294b55ebc7e3d

  • 00159___69fd564fc4f7a1b8467e73fca68f5c3b

  • 00160___a3c8b4bfa2e04ceea6e67fea45b98732

  • 00161___c0532c1d09179559824cbfdd8bb4305c

  • 00163___be60a612cbc8a4af0dac55435b6559b1

  • 00166___b22e2f700a22e4a7976246f50fbf76dc

  • 00167___3662fbeded10b110273ede7e4dda7c4e

  • 00170___2f656900cd5d1c3ea9442a649aeee38d

  • 00171___09b08c76807f2b9d481a58f62fb20890

  • 00172___0b7080a1efc50b0591e95465b4ab6d5b

  • 00173___3a6a805f5299de537d8bed6a80032353

  • 00174___55a85aebafd14fcd36ba36916923377a

  • 00175___861e711aa07e532c1dae25c365f54453

  • 00176___485e9015fda2a6d59051d4d45c32c356

  • 00177___e445502d14e3b235c04a39f584dad3bf

  • 00178___ab78db8e659840ba832edb399dc05565

  • 00179___13b6e283b2d550763795b5b5eff3cf9e

  • 00180___95d67a797b94e6c8e9515ed5a8477154

  • 00181___278ac649f2c9884b6a83785cc59332a3

  • 00182___79816ce93b44fec0d0c8e31ab8f5d98c

  • 00183___415bb17412cf276fb8e8c090f6e64221

  • 00185___b12f3171d40c73549ab3da716f9fba73

  • 00186___4bef3f505c859ea4fafe48279e1144e1

  • 00187___82f888122936d0abc535e5e5eae01086

  • 00188___8a9e12e0051b3d740fdfdc4171729022

  • 00189___1999223eb76c18e674f582355ffd1c6b

  • 00190___52a7a3185f124b42a5b2a388abbfad7f

  • 00191___e0724028af8e44382cc65af5e4e83c81

  • 00192___424855c7bae91e006257f447bf912d1d

  • 00193___eae1ca623c962ef3a24785f350c04831

  • 00194___ac917ffbf721e0cf6feade65b3d88016

  • 00195___adcccd6a5ddeaacd60cde370689f2631

  • 00196___969f2ef9fd044c3c92bcc0f520e46157

  • 00198___c726c212ff1f2daebaf90d38f3b123f3

  • 00200___058a456418db59176ac64ef5cb59ced7

  • 00201___9df977eefb392537e9e77e6f395217a3

  • 00202___1c7e5dc61948599fdb78f13e57dc7452

  • 00203___cd2db706fd545f9f3cd20e3889e0e0e8

  • 00204___6f0553ed708412fbe360c1da1265d3e1

  • 00205___a7d068028f4e7a43c041973600e55183

  • 00206___cc19cdc94fbf80f7f506f8a32ef3f55d

  • 00207___dadea393f2dd53b921208f0150e85294

  • 00208___ea451dee11ee27f91a647f0ea6975dae

  • 00209___0ea9fa9d661961ebc510b18a8346a1c1

  • 00210___f6b6b16f33e4ab9f9253648964ce7c67

  • 00211___d3c5e33d080bd117ab88a6bf09eb1852

  • 00213___c18c4b62ff81772c0c35e399b9328ad5

  • 00214___06c52ec32a3110a176e8d792ffeb7675

  • 00215___25932ce2d4015e0e480ae0560bab16e2

  • 00216___1ee33e4de73cfb6c9fa63a3ad31b7be2

  • 00217___73b30a475252bbb2ce3ff238264df8e0

  • 00218___91f6d5a5a49059917da2c7e0bcc1ea11

  • 00220___44ae4e29e414c63ae6aa184440d8c689

  • 00221___a9a49e3921ce92d59d6c2b9dd4501596

  • 00222___02184fd9198c23ab7dd9c79cdc0fb211

  • 00223___34c60b48b00a3e18f659bafcb2f790c3

  • 00225___4afb0b9b30e178c55e8ca9be0291e7f9

  • 00226___652de5e57cc95c1847165c4dca7d1f6e

  • 00228___92ba36ece6899bae718fda64c3f7e305

  • 00229___aef34bbf6160ca0d6d1a7835e061b071

  • 00231___5654a23d8c2935cf83aeb3f6a3440415

  • 00232___dd940f82909b5212e1eafd80020c7979

  • 00233___b376ca4006b3c1c75ef903974d0bb6af

  • 00234___015b4701da5e948fc2d482d02a779584

  • 00235___d450c77a98fcf9795c6ab3005bb37ed2

  • 00236___f901a072b2c930d72e9e088ca0cf8187

  • 00237___a2fd3e5ac7b1072e82466570c8c54980

  • 00239___e54307556308812bb4e650207039b84a

  • 00240___c90b6cea1b8ce0f3f5d3650caf7dbcd6

  • 00242___bff86a23d731387c12f79a56a1090053

  • 00243___d44959c7951507e403d999536445fda4

  • 00244___2e7ee1bf216445b8e415f321fb8458d9

  • 00245___e3f5693c2dfaf8604e83edeb007f1e2c

  • 00247___87bae98867a49af25bf88f1bfe5d7b90

  • 00249___b0ac62e90be2ed0352940ea249b99559

  • 00250___09cf2d2b1022c10520918f71efd879b5

  • 00251___b59f858bb6b9cf962b3a5fbf0334fc55

  • 00252___3ed554aefb794d5a3a23e97739338970

  • 00255___79e0ff5c00f363885cf7f091f9afc844

  • 00256___8316c6e708288bdd24be9f29bdedfbdc

  • 00258___5d8b3072b45528ab3cfc6db9a07e64ba

  • 00260___267a1179046e90e811d28bf31a5725c0

  • 00261___00e8367ba74425d4a138fd1a8d0e20bd

  • 00262___717625a339e8d150763833f7e0585972

  • 00265___c6cba3266be4c472f9d6badb73d0ec82

  • 00266___5ab4a479413b590c42e9acd288a73770

  • 00267___19330eb7483232f34be10d411765eeaf

  • 00268___716a6b416b72a29bf36ae2ba6e7db5e2

  • 00269___799c86fddcb5e580b2c238e9de78aafe

  • 00270___d1c7196a52e32634f48809abc10a0f9d

  • 00271___f8f23945b19482c7ce1e237bb32b8f74

  • 00272___96c799638e8a25105cfef8e04d5ccecc

  • 00273___dbc4a0da526b9e4b79e70065313a3fd0

  • 00274___77ff27e1847eb5f8f7329281bff9d457

  • 00275___2f72fd02267769bf802460c98516c14b

  • 00276___0c21da9d7298629d225afc2fe01fbe5e

  • 00277___d99eddbd82b9937d53ff8edb51a8cc26

  • 00278___bcc6558d088faf98c0b8fc2164fed0ca

  • 00279___0828cf73371b6ba694e81e385e993aa1

  • 00281___1b9c5459e3a545e3fccb7697888b7eb3

  • 00282___7a2bd6d95f151864f06b9a613911bbcf

  • 00283___dfea613e8838563179c53eb9c77a30cb

  • 00284___58acafe74bf0a3fc1a508b087ec260f6

  • 00285___f89267ac195e2b7bc336caea6b01f5ff

  • 00286___694db58d4adb29b9161a7d94df2ce438

  • 00287___36ddb288b8fdf36887762235c92ae938

  • 00288___ed84cad9f97847cc4972adbd5e8f8ace

  • 00289___20c29e3f7c92494f418717040fc430b3

  • 00290___c9beaa71b619bca4bb69abeba836f523

  • 00291___2319b549f4d4e0ee2cb5c29775a34ca4

  • 00293___6af1c478d769f1c69f5e94b301f08082

  • 00294___c423dd63d5f033c9fa61bfd0eb4dce8f

  • 00298___15bfc076ef89454a414bcea447b30266

  • 00300___acd58012d735edc1ad183da7ab6fb54a

  • 00302___049753a5f15bcfdeb95cd307fe6f5802

  • 00303___116bfd91d85eb72b12dea5f5835ff9a2

  • 00304___f7f994e33698b6a3a7e77b5249f007d7

  • 00306___7ce0f95cb0c128047ea2d3377b468d7c

  • 00309___2581eed3898e38b2a504528bcbafa770

  • 00311___b2418b27be5c048316364ff59a198ae4

  • 00312___4104ae36382544a0a54770a6a8ba188a

  • 00313___4a043f11d258c02a4a38d6af47e07d6f

  • 00315___725baf2cef7e134c35a355b59f99de4d

  • 00317___4af53b911ae122ea34d167fdd7389206

  • 00318___a75c3783a958205adb44e5c5f9ee235c

  • 00319___b722c031367d3cbe1f55b5b786624928

  • 00321___dccbf53b15c0964ad0bde8ab9d2468fd

  • 00322___ab143829a0e5c0036c61501bbe89d520

  • 00324___b7474a238dfe9df066461b18d8d4de19

  • 00325___035cdfeeec684fe77cf33e6fae673771

  • 00326___1847af4f4d874c59eafcd8ea44a913fb

  • 00328___d946731ec26a9c595c4a11080f978eea

  • 00329___eb6f64f76d565d0cf2903a6ee805a760

  • 00331___10f2f585fb597110c63ffb0e28cb3c5b

  • 00332___4e72b0396c6679cd24787de3483253c6

  • 00333___f2eed76ad99ae969a3824c768fe9bbab

  • 00334___a117a2909bdfe45c0b06880e666ea2fc

  • 00335___4d6e40773dbcffbebdbb78f94cabf727

  • 00337___ebe86a4d886d354dce1431e5109210c8

  • 00338___5704ea3efb556698bd9fbf0966b3d348

  • 00339___11703aa064fc67841994281e1c0416ce

  • 00340___e2df09b31d1f080c295b2cd5fd54396a

  • 00342___00b96d195ef4c4911580606ad86d6815

  • 00343___d7ecee356836737969ff3990c36a400a

  • 00344___8e424597bbea182cc52b4c104fa78123

  • 00346___21c75cf4b32a0e54726a762d144bf255

  • 00347___2b8d81e67ee3e54629bed5a8ce757e55

  • 00349___c18b91929f732de1c2c63f03181e6856

  • 00350___39e26d34f1c738446459d5dbca57047e

  • 00352___1fc9d53ecaac9de5c1974bd464ed4053

  • 00353___d25db54768a4e1e807ea4a70a69ad935

  • 00354___c772c13b8704604d21eb1809c464d9d5

  • 00355___4069e0e14dcbfb12136a89ca56762674

  • 00358___884f8f0d522c70d529b568d3b3d92a5a

  • 00359___214078fbcb6af6a11ff24dafc2dc127f

  • 00360___ec07632e0c8a4aa0dfdc0b20d209ee82

  • 00361___7efde7975cdffda32e3477fffa565a2f

  • 00362___e76707a58b58b65ab1de1b8ffba2cea6

  • 00363___1201702125875a0e6cbf081e01ad8bf9

  • 00364___5b1c0580e3e9935a833c054aedc6221e

  • 00365___37b23b60aa5d060e6d8296c97a040dbe

  • 00366___452f653a321cfd5f50d6c8417b566e6f

  • 00367___f4b3ad294ab15ad791c60754a5c127bb

  • 00368___042eeab0d402da7003a0813291d35f98

  • 00369___d2a64720101ae9069cb78cc0b5405682

  • 00371___55f2af2434cef5c34caab7498a8c33ee

  • 00372___c4d2c718364d747392f18394d03fd0a9

  • 00374___55a5beb8c769f38ca1a7fa08f2a95e68

  • 00375___f663925d35b2b70fbf099a68c1a954cd

  • 00376___5d5a5b268aa32b64b15de757e9c7fd33

  • 00377___d1fa03f577c9436b77d33828313d11a5

  • 00379___cde01d14000deec4ed84cbcdb7f348fe

  • 00380___1fab3bdd8edfb31a2929278fb927740a

  • 00382___db0c5c0ae6fb59dbf0ec349316cac6f0

  • 00383___a3038694b59423f13f9f9027f8a97cf9

  • 00384___1b4b2ea5af214fdf2139cb1ae800be18

  • 00385___c25f1adb79469f582f495552d5fa6c48

  • 00386___e520a3a5827e55e031a606a657695908

  • 00387___8e88ee9140d3338e546c21bdfdfe90ab

  • 00389___915bf098deb376df48afac8a193cb0e7

  • 00391___03dcd813a558fec4b1226201eb506158

  • 00392___1e666d96278bb8a8edec1b7bd5dfa166

  • 00393___b18a8024d17689128b6f5a9a65f65b2d

  • 00394___2638670369fede57c5cf62f7bc09e14f

  • 00395___dc01d4b6566ab544bb64cddcdcf9a08e

  • 00396___5da5fa8db82e6cf2270b96ddd8e17834

  • 00397___223b43beec98891465d45b0178b0526b

  • 00398___b2fad8f872b8336c501dc836db9c1a61

  • 00399___34942314219dfa5620d6bd300d4b65ae

  • 00400___c70ca6c609c876eb934adf385db4384d

  • 00401___4af448a9e8d4816352e7384184111e99

  • 00403___e3bd1b6b08e3aa49b188fead4702af9e

  • 00404___978f46feeb40de2d01cc934306a9165b

  • 00406___6f6eae08404d02415012d10841fc55b2

  • 00407___0f9b374b5464aaf464826276d0eb2baf

  • 00408___6b4a7c592f2b5712f7fa0738003b7d4a

  • 00409___9e25fe2c468849932809d6ea88b372e9

  • 00410___2dd71990c1c3a77a3d2d85a93e6695bf

  • 00411___f3f6f7ee280af69eb70c5c8308500283

  • 00413___3edaba1af49d2a0c0abea12bad3cbc95

  • 00414___61e8b7045f940f4a04768113baea2573

  • 00416___a1a6a46c13892038d69e5227a77b3b14

  • 00418___7257c5abf3cf0b8d070c8162abeef635

  • 00419___f86220701282163a0f67695c54e44017

  • 00421___29feec1407e132b8b502986ba9953524

  • 00422___6a3f4700fc2667168cb3c110f6ede170

  • 00423___52fad83063feb0c7973bfa17841538c5

  • 00424___775fa343657870bf2486107947785e82

  • 00425___cd82ba030cf959a9b6cb9d500c680080

  • 00426___59098c2e10d63b662f9ffbdf9f7d0f18

  • 00427___bbe1fda848a775cda5e19353c1e83070

  • 00429___8ce448347adcb0e47bd595d9d76669b6

  • 00432___2d4bc846a67b2a45bd8eea7cdb23552e

  • 00433___e67839db35a9f56dab50e52adc35a29f

  • 00434___f4181f45abf82b4eb2b14cd9566b3462

  • 00435___e0e614a102d0946a076f0e7a09aa875c

  • 00436___9e5ac822665842f4c968d9f4a5fd95cd

  • 00437___bbdc54e9043a35ce197f8abe941c43e2

  • 00438___5a49c79d5b7e544ea7c11730c35029f5

  • 00439___01608872ec699f2904757877837161d4

  • 00441___d013642784387732242fed0e0892763c

  • 00442___dfab6ce47d2a8540243453ffe5d5bd7e

  • 00443___9679954b2158e055618a703b5370c7f4

  • 00444___0d53fbbea67fd239b3ef048ebeb0f450

  • 00446___be2467014ac66b40a2e7c1e500618498

  • 00447___0bfe546e35382280e0125712302ff6df

  • 00449___f1f47da1489f958b6405d994ee59ef50

  • 00450___0b0b9f358ae24c07df16b9657d7383a7

  • 00453___3b67f1f0a20705f5f760e9df0cd647a0

  • 00454___db1b731bfa3c82dd9d6284381e918efc

  • 00457___6ceef90c1eee582d8c45e66c92b0d348

  • 00459___c7c981eba189d95c3b5c57a6fda617eb

  • 00460___90173351901b4748a21bac8a2886e70a

  • 00462___d65b06fd99ccec095ba47ae0111771c3

  • 00464___8a74cec85565c06773c65e2a2feffbc2

  • 00465___28a091d23a08d3664862cfb53df66736

  • 00466___0c7862a313108d47ea0933110421b806

  • 00467___240dfc50cea7bd7bd438dadd257113e8

  • 00469___f3ceb52a7105819f3e10e5999f1c93ee

  • 00470___3e441a79251a2faac92a5c07eec13d45

  • 00471___b39b65a2542b4567293b81cdb6f892e2

  • 00472___ff5d0304cc95f39dbb1be97bc57c8d56

  • 00473___515d67638db74a5642dbda5ad8e1c745

  • 00474___c3c7e52159c95107841f013c86381194

  • 00475___cb96fef195df39ee533ae87311bc7329

  • 00478___1ad8fc0e58f3220d193af3ef0bc2d85a

  • 00479___45192961759393c2bf76e4f22c6acb17

  • 00480___db886977b15a0758353c77c4ea8c516a

  • 00483___c3b201ad0dd3eff955666cd3268d467a

  • 00484___4d0508d0f0265e7d6432b4b6824cc59c

  • 00486___460fbbf0aba55150b7ec7f994e5f9322

  • 00487___4a7d7f603ae9f1df1fba84be94df809c

  • 00489___2c2a4110a7a829b0848798d2ebfa5d66

  • 00490___15d2028e5381d3dc396857fae5392c2d

  • 00492___d527b1c148d94d14d7629ebd57ffbcbb

  • 00493___ed94851b9fa31692279c7d13bdddc5ce

  • 00494___f43d4276833ab17750b74bd8ce7e675e

  • 00495___5ca9808c7e819f2891b6feef4cc8f5b9

  • 00496___b39be075af3880ea8974508e82f1c584

  • 00497___598fa7230fddb5dc5059e255a645fa80

  • 00498___bbcad0082b13fc77246a7279d5314151

  • 00499___5f4717f1f117394cca463bbf6408f13f

  • 00500___58a9ef2b191e3f4abf06c4748b791ca2

  • 00501___75ef49730b339bdccb8b29a6ce9271a8

  • 00502___2153affe811880228962f92108fbb9e0

  • 00503___4c08b81825c8c2eeed9e8edf2452a788

  • 00505___07d06e9ecc28cf2822c026563f9c56ec

  • 00508___b499f5d5ebbbfda5b129870f1a271ff8

  • 00509___c53d4b770da765d5870fa22afdd86ebd

Nội dung

Chapter 10 Displaying XML Documents Using Data Binding 333 10 Data Binding <TR ALIGN="center"> <TD><IMG DATAFLD="COVERIMAGE"></TD> <TD><SPAN DATAFLD="TITLE" STYLE="font-style:italic"></SPAN></TD> <TD><SPAN DATAFLD="AUTHOR"></SPAN></TD> <TD><SPAN DATAFLD="BINDING"></SPAN></TD> <TD><SPAN DATAFLD="PAGES"></SPAN></TD> <TD><SPAN DATAFLD="PRICE"></SPAN></TD> </TR> </TABLE> </BODY> </HTML> Listing 10-9. Listing 10-8 is an XML document that contains a field named COVERIMAGE in each BOOK record. Each COVERIMAGE field contains the URL of a graph- ics file that stores an image of the book’s cover. Listing 10-9 is the same HTML page as the one in Listing 10-2, except that at the beginning of each row is an additional cell (TD element) that contains an IMG element rather than a SPAN. The IMG element is bound to the COVERIMAGE field in the XML document, and therefore displays the cover image for each book, as you can see here: 334 XML Step by Step You can experiment with binding some of the other HTML elements listed in Table 10-1 to learn about their bound properties and how the elements use the data in the XML fields to which you bind them. Rendering HTML By default, if an XML field’s character data happens to include HTML markup, the HTML element bound to that field treats and displays the markup charac- ters as literal text. Consider, for example, the following SPAN element, which is bound to the AUTHOR-BIO XML field: <SPAN DATASRC=”#dsoInventory” DATAFLD=”AUTHOR-BIO”></SPAN> If the AUTHOR-BIO field contains an italic (I) element, like this: <AUTHOR-BIO> Henry James was an American author who lived from 1843 to 1916, and wrote &lt;I>The Bostonians&lt;/I> and many other works of psychologically realistic fiction. </AUTHOR-BIO> the SPAN element would treat the HTML markup characters as literal text and would display the field as follows: With some of the bindable HTML elements, such as SPANs, you can assign the DATAFORMATAS attribute the value HTML to cause the element to process any HTML markup included in the field’s text, rather than simply treating it as literal characters. Assume, for example, that you defined the example SPAN ele- ment shown previously like this: <SPAN DATASRC=”#dsoInventory” DATAFLD=”AUTHOR-BIO” DATAFORMATAS=”HTML”></SPAN> It would then render the text within the I element in italics, like this: Note that without the DATAFORMATAS="HTML" attribute specification, Internet Explorer preserves all white space in the XML element’s content. With this attribute setting, however, the browser handles white space in the XML ele- Chapter 10 Displaying XML Documents Using Data Binding 335 10 Data Binding ment just as it handles white space contained in text within HTML elements in a page. That is, it replaces sequences of white space characters with a single space character, and it discards leading or trailing white space. note Assigning DATAFORMATAS its default value, TEXT, has the same effect as sim- ply omitting the attribute—that is, it causes HTML markup characters to be treated as literal text. To find out which elements you can use to render HTML via the DATAFORMATAS="HTML" attribute setting, see Table 10-1. These elements have a “Yes” in the next-to-last column (labeled “Render HTML contained in XML field?”). Inserting and rendering HTML in XML fields is useful for modifying the for- matting of portions of the text (using I or B elements, for example) and for in- cluding HTML elements such as hyperlinks in the text. Although formatting XML text by including HTML markup in the XML violates the basic tenet of separating data and formatting, when you use data binding, this technique might be the only feasible way to modify the formatting or include HTML ele- ments within a field. (In contrast, if you use the other methods discussed in this book for displaying XML, you can generally modify formatting or insert ele- ments within an XML element by including child elements and processing them appropriately.) When you add HTML markup to an XML field, you can’t insert a left angle bracket (<) or an ampersand (&) literally in the text. (Recall that these charac- ters are illegal within an element’s character data.) However, you can insert them using the predefined entity references &lt; and &amp;. Another option, which makes the HTML more readable to humans and is especially useful for a large block of HTML, is to include the markup within a CDATA section, as discussed in Chapter 4. note Another way to include HTML elements in an XML document is to identify the elements using the html namespace prefix, and display the document using a cascading style sheet, as discussed in “Inserting HTML Elements into XML Documents” in Chapter 9. 338 XML Step by Step <!ELEMENT BOOK (TITLE, AUTHOR, BINDING, PAGES, PRICE)> <!ELEMENT TITLE (#PCDATA)> <!ELEMENT AUTHOR (#PCDATA)> <!ELEMENT BINDING (#PCDATA)> <!ELEMENT PAGES (#PCDATA)> <!ELEMENT PRICE (#PCDATA)> ] > These element declarations can be explained, using the language of record sets and data binding, as follows: ■ <!ELEMENT INVENTORY (CATEGORY*)> The document contains zero or more CATEGORY records. ■ <!ELEMENT CATEGORY (CATNAME, BOOK*)> Each CATEGORY record contains one CATNAME field, followed by zero or more nested BOOK records. ■ <!ELEMENT BOOK (TITLE, AUTHOR, BINDING, PAGES, PRICE)> Each nested BOOK record contains exactly one of each of the following fields, in the order listed: TITLE, AUTHOR, BINDING, PAGES, and PRICE. ■ <!ELEMENT TITLE (#PCDATA)> and the remaining declarations Each of the fields in a BOOK record contains character data only. 3 To reflect the new filename you’re going to assign, change the comment at the beginning of the document from: <! File Name: Inventory Hierarchy.xml > to this: <! File Name: Inventory Hierarchy Valid.xml > 4 Use your text editor’s Save As command to save a copy of the modified document under the filename Inventory Hierarchy Valid.xml. Listing 10-10 shows the complete XML document. (You’ll find a copy of this listing on the companion CD under the filename Inventory Hierarchy Valid.xml.) Inventory Hierarchy Valid.xml <?xml version="1.0"?> <! File Name: Inventory Hierarchy Valid.xml > <!DOCTYPE INVENTORY [ Chapter 10 Displaying XML Documents Using Data Binding 339 10 Data Binding <!ELEMENT INVENTORY (CATEGORY*)> <!ELEMENT CATEGORY (CATNAME, BOOK*)> <!ELEMENT CATNAME (#PCDATA)> <!ELEMENT BOOK (TITLE, AUTHOR, BINDING, PAGES, PRICE)> <!ELEMENT TITLE (#PCDATA)> <!ELEMENT AUTHOR (#PCDATA)> <!ELEMENT BINDING (#PCDATA)> <!ELEMENT PAGES (#PCDATA)> <!ELEMENT PRICE (#PCDATA)> ] > <INVENTORY> <CATEGORY> <CATNAME>Middle Ages</CATNAME> <BOOK> <TITLE>The Canterbury Tales</TITLE> <AUTHOR>Geoffrey Chaucer</AUTHOR> <BINDING>hardcover</BINDING> <PAGES>692</PAGES> <PRICE>$18.95</PRICE> </BOOK> <BOOK> <TITLE>Piers Plowman</TITLE> <AUTHOR>William Langland</AUTHOR> <BINDING>trade paperback</BINDING> <PAGES>385</PAGES> <PRICE>$10.95</PRICE> </BOOK> </CATEGORY> <CATEGORY> <CATNAME>Renaissance</CATNAME> <BOOK> <TITLE>The Blazing World</TITLE> <AUTHOR>Margaret Cavendish</AUTHOR> <BINDING>trade paperback</BINDING> <PAGES>225</PAGES> <PRICE>$8.79</PRICE> </BOOK> <BOOK> <TITLE>Oroonoko</TITLE> <AUTHOR>Aphra Behn</AUTHOR> 340 XML Step by Step <BINDING>mass market paperback</BINDING> <PAGES>295</PAGES> <PRICE>$4.95</PRICE> </BOOK> <BOOK> <TITLE>Doctor Faustus</TITLE> <AUTHOR>Christopher Marlowe</AUTHOR> <BINDING>hardcover</BINDING> <PAGES>472</PAGES> <PRICE>$15.95</PRICE> </BOOK> </CATEGORY> <CATEGORY> <CATNAME>18th Century</CATNAME> <BOOK> <TITLE>Gulliver's Travels</TITLE> <AUTHOR>Jonathan Swift</AUTHOR> <BINDING>hardcover</BINDING> <PAGES>324</PAGES> <PRICE>$11.89</PRICE> </BOOK> <BOOK> <TITLE>The History of Tom Jones: A Foundling</TITLE> <AUTHOR>Henry Fielding</AUTHOR> <BINDING>hardcover</BINDING> <PAGES>438</PAGES> <PRICE>$16.95</PRICE> </BOOK> <BOOK> <TITLE>Love in Excess</TITLE> <AUTHOR>Eliza Haywood</AUTHOR> <BINDING>trade paperback</BINDING> <PAGES>429</PAGES> <PRICE>$12.95</PRICE> </BOOK> <BOOK> <TITLE>Tristram Shandy</TITLE> <AUTHOR>Laurence Sterne</AUTHOR> <BINDING>hardcover</BINDING> <PAGES>322</PAGES> <PRICE>$9.49</PRICE> </BOOK> Chapter 10 Displaying XML Documents Using Data Binding 341 10 Data Binding </CATEGORY> <CATEGORY> <CATNAME>19th Century</CATNAME> <BOOK> <TITLE>Dracula</TITLE> <AUTHOR>Bram Stoker</AUTHOR> <BINDING>hardcover</BINDING> <PAGES>395</PAGES> <PRICE>$17.95</PRICE> </BOOK> <BOOK> <TITLE>Great Expectations</TITLE> <AUTHOR>Charles Dickens</AUTHOR> <BINDING>mass market paperback</BINDING> <PAGES>639</PAGES> <PRICE>$6.95</PRICE> </BOOK> <BOOK> <TITLE>Percival Keene</TITLE> <AUTHOR>Frederick Marryat</AUTHOR> <BINDING>trade paperback</BINDING> <PAGES>425</PAGES> <PRICE>$12.89</PRICE> </BOOK> <BOOK> <TITLE>Treasure Island</TITLE> <AUTHOR>Robert Louis Stevenson</AUTHOR> <BINDING>trade paperback</BINDING> <PAGES>283</PAGES> <PRICE>$11.85</PRICE> </BOOK> <BOOK> <TITLE>Wuthering Heights</TITLE> <AUTHOR>Emily Bronte</AUTHOR> <BINDING>hardcover</BINDING> <PAGES>424</PAGES> <PRICE>$12.95</PRICE> </BOOK> </CATEGORY> </INVENTORY> Listing 10-10. 342 XML Step by Step 5 In your text editor, open the Inventory Hierarchy.htm page you created earlier in this chapter. (You’ll find this document in Listing 10-6 and on the companion CD.) 6 Change the SRC attribute of the page’s data island so that it links the new XML document you just created. That is, change it from: <XML ID=”dsoInventory” SRC=”Inventory Hierarchy.xml”></XML> to this: <XML ID=”dsoInventory” SRC=”Inventory Hierarchy Valid.xml”></XML> 7 To reflect the new filename you’re going to assign, change the comment at the beginning of the page from: <! File Name: Inventory Hierarchy.htm > to this: <! File Name: Inventory Hierarchy Valid.htm > 8 Use your text editor’s Save As command to save a copy of the modified page under the filename Inventory Hierarchy Valid.htm. Listing 10-11 shows the complete HTML page. (You’ll find a copy of this list- ing on the companion CD under the filename Inventory Hierarchy Valid.htm.) Inventory Hierarchy Valid.htm <! File Name: Inventory Hierarchy Valid.htm > <HTML> <HEAD> <TITLE>Inventory of Classic English Literature</TITLE> </HEAD> <BODY> <XML ID="dsoInventory" SRC="Inventory Hierarchy Valid.xml"> </XML> <TABLE DATASRC="#dsoInventory" BORDER="1"> <THEAD> <TH>Classic English Literature</TH> </THEAD> Chapter 10 Displaying XML Documents Using Data Binding 343 10 Data Binding <TR> <TD><SPAN DATAFLD="CATNAME"></SPAN></TD> </TR> <TR> <TD> <TABLE DATASRC="#dsoInventory" DATAFLD="BOOK" BORDER="0" CELLSPACING="10"> <THEAD> <TH WIDTH="25%">Title</TH> <TH WIDTH="25%">Author</TH> <TH WIDTH="25%">Binding</TH> <TH WIDTH="10%">Pages</TH> <TH WIDTH="15%">Price</TH> </THEAD> <TR ALIGN="CENTER"> <TD WIDTH="25%"> <SPAN DATAFLD="TITLE" STYLE="font-style:italic"></SPAN> </TD> <TD WIDTH="25%"> <SPAN DATAFLD="AUTHOR"></SPAN> </TD> <TD WIDTH="25%"> <SPAN DATAFLD="BINDING"></SPAN> </TD> <TD WIDTH="10%"> <SPAN DATAFLD="PAGES"></SPAN> </TD> <TD WIDTH="15%"> <SPAN DATAFLD="PRICE"></SPAN> </TD> </TR> </TABLE> </TD> </TR> </TABLE> </BODY> </HTML> Listing 10-11. 344 XML Step by Step 9 Open the page in Internet Explorer. It should look like this: 10 If the data doesn’t appear, the document must contain a well-formedness or validity error. To locate the error, use the DTD validity-checking page given in “Checking an XML Document for Validity Using a DTD” on page 396. Binding HTML Elements to XML Attributes In the example XML documents you’ve seen so far, none of the elements has in- cluded attributes. Attributes add a bit of complexity to data binding, although you can bind to elements that include attributes, as well as to the attributes themselves. When you use data binding, an attribute is treated essentially as if it were a child element. With a record element, this treatment makes it easy to access (or to simply ig- nore) an attribute. For example, the following BOOK record contains an at- tribute named InStock: <BOOK InStock=”yes”> <TITLE>The Adventures of Huckleberry Finn</TITLE> <AUTHOR>Mark Twain</AUTHOR> <BINDING>mass market paperback</BINDING> [...]... DATASRC=”#dsoInventory” DATAFLD=”PRICE”> Data Binding note 10 (This example assumes that the XML document is linked to the page through a data island with the identifier dsoInventory.) 346 XML Step by Step Consider, however, adding an attribute to one of the field elements in an XML document—for example, adding an attribute to the AUTHOR field, as in the following example: The... DATAFLD="$TEXT"> 10 Book Inventory 348 XML Step by Step ... DATAFLD=”$TEXT”> Data binding can become complex if the linked XML file uses namespaces (as discussed in “Using Namespaces” on page 69) You can bind an HTML element to an XML element whose name includes a namespace prefix by simply including the prefix in the DATAFLD value For instance, if the linked XML document contained an element named ns:TITLE, you could bind to it as shown in... elements but doesn’t include attribute values Chapter 10 Displaying XML Documents Using Data Binding 347 Listing 10-12 contains an HTML page that demonstrates all of the techniques given in this section (You’ll find a copy of this page on the companion CD under the filename Inventory Attribute.htm.) This page displays the Inventory Valid .xml XML document (which you’ll find in Listing 5-2 and on the companion... you’ll find in Listing 5-2 and on the companion CD) Inventory Attribute.htm Book Inventory < /XML> Data Binding Title Author Binding Pages Price In Stock?... attribute of each BOOK record by simply binding a SPAN element to the attribute, as if the attribute were a field: Because the AUTHOR child element of BOOK contains an attribute (Born), it’s interpreted as a nested record rather than as a field, and therefore the page must display it using a nested table: Chapter 10 Displaying XML Documents Using Data Binding... If a record element has an attribute with the same name as one of the child field elements, in assigning a value to DATAFLD you refer to the child field element by prefacing its name with an exclamation point (!) and you refer to the attribute by using its simple name For instance, if the BOOK record element in the examples shown in this section had an attribute named PRICE, in addition to the PRICE...Chapter 10 Displaying XML Documents Using Data Binding 345 298 $5.49 This record would be treated essentially as if the InStock attribute were a field belonging to BOOK, and InStock’s value... document contained an element named ns:TITLE, you could bind to it as shown in the following HTML SPAN element: The problem, however, is that if an XML document uses namespaces, it must include attributes for declaring those namespaces And as explained in this section, because the DSO treats attributes essentially like child elements, attributes can . element is bound to the COVERIMAGE field in the XML document, and therefore displays the cover image for each book, as you can see here: 334 XML Step by Step You can experiment with binding some of. so that it links the new XML document you just created. That is, change it from: < ;XML ID=”dsoInventory” SRC=”Inventory Hierarchy .xml >< /XML& gt; to this: < ;XML ID=”dsoInventory” SRC=”Inventory. DATAFLD=”PRICE”></SPAN> <! bind to the attribute > 346 XML Step by Step Consider, however, adding an attribute to one of the field elements in an XML document—for example, adding an attribute to the

Ngày đăng: 03/07/2014, 07:20