Tagged: xml RSS

  • coreyleong 12:50 pm on 2010/07/16 Permalink | Reply
    Tags: xml, lom, dom, web service   

    Listing Object Model (LOM) Core 

    LOM Core 25 Elements

    Intro

    Lately my interests have gravitated toward web services and marking up listing information to xml. However, another inefficiency within the Real Estate Industry is how listing information is distributed to web endpoints. Within HTML, Word, or an Excel spreadsheet, I cringe at the ways listing information is being sent from an end user to service provider or service provider to service provider. Remember I’m talking old school here, average age is in the 50′s and climbing.

    So with that stomach churning thought in 3d motion, I thought to myself wouldn’t it be great to have a minimalistic shortlist of elements to markup a listing for Grandma, a tween, or anyone else in need of a simple service like this. In the past, I’ve used Dublin Core, a specification of 15 meta tags for semantically describing documents. Thinking to myself, “LOM Core must be very simple like Dublin Core because simple always wins on the net.”

    Without hesitation, I proceeded to diagram (see above) a list of essential words or elements which would describe a lowest common denominator real estate listing. I came up with the following at first, in no particular order (well alphabetical):

    LOM Core 25 Elements

    • address
    • agent
    • beds
    • baths
    • city
    • contact
    • country
    • description
    • email
    • firstname
    • lastname
    • listing
    • location
    • organization
    • owner
    • phonenumber
    • postalcode
    • price
    • size
    • state
    • status
    • style
    • squarefeet
    • squaremeters
    • type

    I stopped at 25 to keep it as simple as possible. Obviously, I could have kept going but simple would have easily morphed into complex.

    Use Cases

    Since we now have our shortlist of elements, we need a business purpose or use case. I came up with five, initially, but of course we are not limited to only these.

    1. For Sale By Owner Lisiting

    <?xml version="1.0" encoding="UTF-8"?>
    <listing>
      <type>residential</type>
      <style>Single Family</style>
      <beds>3</beds>
      <baths>2</baths>
      <size>
        <squarefeet>2000</squarefeet>
       </size>
      <location>
        <address>1234 My Street</address>
        <city>Orlando</city>
        <state>FL</state>
        <postalcode>32801</postalcode>
        <country>US</country>
      </location>
      <description>Modern and functional.</description>
      <status>active</status>
      <price>$150,000</price>
      <contact>
        <owner>
          <firstname>John</firstname>
           <lastname>Smith</lastname>
          <phonenumber>555-3333</phonenumber>
          <email>jsmith@john.smith.name</email>
        </owner>
      </contact>
    </listing>
    

    2. Residential Agent Listing

    <?xml version="1.0" encoding="UTF-8">
    <listing>
      <type>residential</type>
      <style>Single Family</style>
      <beds>4</beds>
      <baths>2</baths>
      <size>
        <squarefeet>3000</squarefeet>
      </size>
      <location>
        <address>5678 Your Street</address>
        <city>Orlando</city>
        <state>FL</state>
        <postalcode>32801</postalcode>
        <country>US</country>
      </location>
      <description>Family size.</description>
      <status>active</status>
      <price>190,500</price>
      <contact>
        <agent>
          <firstname>Jane</firstname>
          <lastname>Doe</lastname>
          <phonenumber>555-5555</phonenumber>
          <email>jdoe@jane.doe.name</email>
          <organization>Jane Doe Realty</organization>
        </agent>
      </contact>
    </listing>
    

    3. Commercial Owner Listing

    <?xml version="1.0" encoding="UTF-8"?>
    <listing>
      <type&gt;commercial</type>
      <style>office</style>
      <size>
        <squarefeet>3000</squarefeet>
       </size>
      <location>
        <address>1010 Biz Way Suite 200</address>
        <city>Orlando</city>
        <state>FL</state>
        <postalcode>32801</postalcode>
        <country>US</country>
      </location>
      <description>Build to suit office space.</description>
      <status>active</status>
      <price>$100/sqft</price>
      <contact>
        <owner>
          <firstname>Bob</firstname>
          <lastname>Johnson</lastname>
          <phonenumber>555-9999</phonenumber>
          <email>bjohnson@bob.johnson.name</email>
        </owner>
      </contact>
    </listing>
    

    4. Commercial Agent Listing

    <?xml version="1.0" encoding="UTF-8"?>
    <listing>
      <type>commercial</type>
      <style>office</style>
      <size>
        <squarefeet>4000</squarefeet>
       </size>
      <location>
        <address>2020 Easy Street Suite 300</address>
        <city>Orlando</city>
        <state>FL</state>
        <postalcode>32801</postalcode>
        <country>US</country>
      </location>
      <description>Plenty of space for cubicles. Build to suit.</description>
      <status>active</status>
      <price>$200/sqft</price>
      <contact>
        <agent>
          <firstname>Jen</firstname>
          <lastname>Wright</lastname>
          <phonenumber>555-7777</phonenumber>
          <email>jwright@jen.wright.name</email>
          <organization>Wright Realty</organization>
        </agent>
      </contact>
    </listing>
    

    5. International Listing

    <?xml version="1.0" encoding="UTF-8"?>
    <listing>
      <type>commercial</type>
      <style>bank</style>
      <size>
        <squaremeters>1000</squaremeters>
       </size>
      <location>
        <address>7 Picardy Place</address>
        <city>Edinburgh</city>
        <postalcode>EH1 3JT</postalcode>
        <country>Scotland</country>
      </location>
      <description>Former bank branch, build to suit</description>
      <status>active</status>
      <price>300EUR/sqmt</price>
      <contact>
        <agent>
          <firstname>Will</firstname>
          <lastname>Jones</lastname>
          <phonenumber>0131 5554343</phonenumber>
          <email>wjones@will.jones.name</email>
          <organization>Jones Realty</organization>
        </agent>
      </contact>
    </listing>
    

    Summary

    In sum, LOM Core is a simplified shortlist of 25 core real estate elements allowing anyone to markup a residential or commercial listing. The examples above are soley for exercise purposes, but as you can see LOM can adapt to different types of listings quite effortlessly. The next step is to solidify schemas (DTD, XML Schema, RelaxNG) for validating followed by creating a web-based tool using a form for users to enter in their listing elements to create a LOM Core listing on the fly. Users could then send or copy and paste the LOM Core listing and distribute and transform as needed.

    –Corey

     
  • coreyleong 1:03 pm on 2009/10/09 Permalink | Reply
    Tags: google, , kml, , xml   

    Foward thinking to Remetal 0.4 

    As I finish work on 0.3 of the Real Estate Meta Language, I can’t help to look forward to release 0.4. The obvious element which needs a bit of attending to is the <location> element. So here’s my thought for this.

    For <location>, Remetal will reuse the <Location> compound element offered by Google’s Keyhole Markup Language (KML). <Location> is the parent element to following elements as such:

       <Location>
         <longitude>39.55375305703105</longitude>
         <latitude>-118.9813220168456</latitude>
         <altitude>1223</altitude>
       </Location>
    

    With this and a bit of xsl transformation, could this element inclusion lead to mapping apps reusing remetal listings? Hopefully is my first thought. I’ll let the developers decide what to do and resist tainting. ;)

    One of the main principles of the Internet is to “reuse” protocols which already exist, but in this case Remetal will simply reuse an element which already exists thanks to KML.

    Feel free to leave comments.

    –Corey

     
  • coreyleong 12:44 am on 2009/10/08 Permalink | Reply
    Tags: , , xml   

    Remetal 0.3 Upcoming Release 

    It’s been awhile since I’ve updated Real Estate Meta Language, Remetal, but that’s changed. I’m currently adding children elements to the following elements:

    • kitchen
    • livingroom
    • office
    • garage

    Here’s an example for the pool element:

        <real:pool>
          <real:dimensions/>
    
              <real:width>
                <real:meters/>
                <real:feet/>
              </real:width>
    
              <real:length>
                <real:meters/>
                <real:feet/>
              </real:length>
    
              <real:depth>
                <real:meters/>
                <real:feet/>
              </real:depth>
    
            </real:dimensions>
        </real:pool>
    

    I hope to have the DTD and schemas refactored and published by this sunday evening. I’ll have an announcement for the release soon after.

    –Corey

     
c
compose new post
j
next post/next comment
k
previous post/previous comment
r
reply
e
edit
o
show/hide comments
t
go to top
l
go to login
h
show/hide help
esc
cancel