SSAX-SXML и числа

Я использую SSAX-SXML для работы с древовидной структурой, которая просто подражает кодированию данных XML. Таким образом, я думал об использовании представления SXML непосредственно как структура данных для работы с. Все работает очень хорошо, и я получаю всю функциональность средств доступа по умолчанию и XPath, который я нашел очень полезным.

Но у меня есть проблема. XML представляет все как строки, таким образом, я должен преобразовать от строки до чисел и наоборот все время. Это уничтожит производительность и просто плохую дизайнерскую идею. Я думал о взятии списка SXML, и преобразуйте все строки к числам в одной передаче. Но, есть ли способ, которым SXML непосредственно делает это или какой-либо способ сказать через XML, что что-то должно быть представлено как число, не строка?

Это - мой список SXML:

((wall (@ (uid "2387058723"))
   (pt (@ (y "2.0") (x "1.0")))
   (pt (@ (y "4.0") (x "3.0"))))
(wall (@ (uid "5493820876"))
   (pt (@ (y "0.0") (x "0.0")))
   (pt (@ (y "100.0") (x "0.0")))
   (window (@ (to "0.4") (from "0.2")))
   (window (@ (size "1.0") (from "0.2")))
   (door (@ (size "1.0") (from "0.2"))))
(pilar (@ (uid "692034802"))
    (center (@ (y "5.0") (x "5.0")))
    (dim (@ (b "0.45") (a "0.3"))))
(room (@ (label "salon"))
   (wall (@ (uid "2387058723")))
   (wall (@ (uid "5493820876")))
   (wall (@ (uid "5394501263")))
   (wall (@ (uid "0034923049"))))
(entry (@ (doorNumber "0")) (wall (@ (uid "5493820876"))))
(num "0,9")
(pipe (@ (y "8.0") (x "10.0"))))

От XML, который похож на этот (извлечение):

        <wall uid="2387058723">
            <pt x="1.0" y="2.0"/>
            <pt x="3.0" y="4.0"/>
        </wall>

Спасибо.

6
задан alvatar 13 February 2010 в 19:49
поделиться